Rust in Everything
基于 pulldown-cmark 0.13.5

导读

开始读源码之前,先讲清楚两件事:

  1. 怎么读这一卷:0.13.5 是 0.13 分支上的补丁版本,比 0.13.4 多了 8 个从 main 摘来的 PR,大半是修平方复杂度和崩溃;块、行内、输出三条主线每一步落在哪个函数、哪一页讲;全卷共用的 21 行例子文档;实验环境;四个 feature 各打开什么,--no-default-features 会连 html 模块一起关掉;Options 的 16 个常量各对应哪份 spec 文件、多少条测试。
  2. 源码地图:工作区里的五个 crate;src/ 下每个文件管什么、多少行、谁调谁;两张生成的表从哪来;build.rs 怎样把 17 份 spec 文件变成 1153 条测试;fuzz/ 和 dos-fuzzer/ 各防什么;guide/ 的每一章对应本卷哪一页,哪里已经和代码对不上。
flowchart TB
  read[怎么读这一卷] --> ver[锁定版本]
  read --> lines[三条主线]
  read --> doc[例子文档]
  read --> feat["feature 与 Options"]
  map[源码地图] --> crates[工作区 crate]
  map --> files["src 文件与调用"]
  map --> tests[测试与 fuzz]
  map --> guide[上游文档对照]

💬 关联讨论

发起讨论
加载中...