Skip to content

refactor(rlsf): remove the dependency on svgbobdoc - #23

Merged
yvt merged 2 commits into
yvt:mainfrom
AudaciousAxiom:refactor/remove-svgbobdoc-dep
Jul 26, 2026
Merged

refactor(rlsf): remove the dependency on svgbobdoc#23
yvt merged 2 commits into
yvt:mainfrom
AudaciousAxiom:refactor/remove-svgbobdoc-dep

Conversation

@AudaciousAxiom

Copy link
Copy Markdown
Contributor

Description and Motivation

This PR proposes to replace the svgbobdoc input used for Tlsf with the rendered SVG, with the goal of removing the dependency on the svgbobdoc crate and its dependencies, especially syn v1, which is ever more painful since the recent release of syn v3, which could lead to projects needing to compile three different versions of syn instead of two (or just one in the future, hopefully).

There is indeed a single occurrence of its usage (for Tlsf), and the content of the diagram hasn't been modified since its introduction 5 years ago. The Svgbob diagram is rendered manually using the official playground editor, and the original input preserved as a comment so it can still be modified in the future if needed. The rendered SVG is less than 16 KiB.

Closes #22

Comparison

The appearance of the diagram is slightly different (possibly due to the newer version of Svgbob used by the editor). Here is what it looked like before:

screenshot of the diagram using svgbobdoc

And this is what it would like:

screenshot of the diagram using the rendered SVG directly

Apart from the visual appearance, the other difference is that this uses an inline SVG instead of an <img> element, which makes a difference for screen readers, as the text in the diagram may now be announced.

Comment thread Cargo.lock

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removing the dependency on svgbobdoc removes many dependencies.

Comment thread crates/rlsf/src/tlsf.rs
/// }<!--separator--></style><defs><marker id="arrow" viewBox="-2 -2 8 8" refX="4" refY="2" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><polygon points="0,0 0,4 4,2 0,0"></polygon></marker><marker id="diamond" viewBox="-2 -2 8 8" refX="4" refY="2" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><polygon points="0,2 2,0 4,2 2,4 0,2"></polygon></marker><marker id="circle" viewBox="0 0 8 8" refX="4" refY="4" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><circle cx="4" cy="4" r="2" class="filled"></circle></marker><marker id="open_circle" viewBox="0 0 8 8" refX="4" refY="4" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><circle cx="4" cy="4" r="2" class="bg_filled"></circle></marker><marker id="big_open_circle" viewBox="0 0 8 8" refX="4" refY="4" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><circle cx="4" cy="4" r="3" class="bg_filled"></circle></marker></defs><rect class="backdrop" x="0" y="0" width="752" height="528"></rect><text x="18" y="12" >First</text><text x="66" y="12" >level</text><text x="266" y="60" >0</text><text x="314" y="60" >0</text><text x="362" y="60" >0</text><text x="410" y="60" >1</text><text x="458" y="60" >0</text><text x="506" y="60" >0</text><text x="554" y="60" >0</text><text x="602" y="60" >0</text><text x="362" y="92" >2⁹</text><text x="410" y="92" >2⁸</text><text x="458" y="92" >2⁷</text><text x="506" y="92" >2⁶</text><text x="554" y="92" >2⁵</text><text x="602" y="92" >2⁴</text><line x1="400" y1="136" x2="408" y2="136" class="solid"></line><line x1="416" y1="136" x2="424" y2="136" class="solid"></line><polygon points="408,164 416,164 412,176" class="filled"></polygon><text x="290" y="204" >0</text><text x="338" y="204" >0</text><text x="386" y="204" >1</text><text x="434" y="204" >0</text><text x="482" y="204" >0</text><text x="530" y="204" >0</text><text x="578" y="204" >0</text><text x="626" y="204" >0</text><text x="290" y="236" >7</text><text x="338" y="236" >6</text><text x="386" y="236" >5</text><text x="434" y="236" >4</text><text x="482" y="236" >3</text><text x="530" y="236" >2</text><text x="578" y="236" >1</text><text x="626" y="236" >0</text><line x1="388" y1="288" x2="388" y2="264" class="solid end_marked_big_open_circle"></line><line x1="384" y1="344" x2="392" y2="344" class="solid"></line><polygon points="120,420 128,424 120,428" class="filled"></polygon><circle cx="132" cy="424" r="4" class="nofill"></circle><line x1="176" y1="424" x2="164" y2="424" class="solid end_marked_big_open_circle"></line><line x1="176" y1="424" x2="288" y2="424" class="solid"></line><polygon points="288,420 296,424 288,428" class="filled"></polygon><circle cx="300" cy="424" r="4" class="nofill"></circle><line x1="344" y1="424" x2="332" y2="424" class="solid end_marked_big_open_circle"></line><line x1="344" y1="424" x2="456" y2="424" class="solid"></line><polygon points="456,420 464,424 456,428" class="filled"></polygon><circle cx="468" cy="424" r="4" class="nofill"></circle><text x="146" y="508" >416</text><text x="178" y="508" >bytes</text><text x="314" y="508" >432</text><text x="346" y="508" >bytes</text><text x="482" y="508" >416</text><text x="514" y="508" >bytes</text><line x1="0" y1="136" x2="8" y2="136" class="solid"></line><line x1="16" y1="136" x2="24" y2="136" class="solid"></line><line x1="32" y1="136" x2="40" y2="136" class="solid"></line><line x1="48" y1="136" x2="56" y2="136" class="solid"></line><line x1="64" y1="136" x2="72" y2="136" class="solid"></line><line x1="80" y1="136" x2="88" y2="136" class="solid"></line><line x1="96" y1="136" x2="104" y2="136" class="solid"></line><line x1="112" y1="136" x2="120" y2="136" class="solid"></line><text x="18" y="156" >Second</text><text x="74" y="156" >Level</text><line x1="128" y1="136" x2="136" y2="136" class="solid"></line><line x1="144" y1="136" x2="152" y2="136" class="solid"></line><line x1="160" y1="136" x2="168" y2="136" class="solid"></line><line x1="176" y1="136" x2="184" y2="136" class="solid"></line><line x1="192" y1="136" x2="200" y2="136" class="solid"></line><line x1="208" y1="136" x2="216" y2="136" class="solid"></line><line x1="224" y1="136" x2="232" y2="136" class="solid"></line><line x1="240" y1="136" x2="248" y2="136" class="solid"></line><line x1="256" y1="136" x2="264" y2="136" class="solid"></line><line x1="272" y1="136" x2="280" y2="136" class="solid"></line><line x1="288" y1="136" x2="296" y2="136" class="solid"></line><line x1="304" y1="136" x2="312" y2="136" class="solid"></line><line x1="320" y1="136" x2="328" y2="136" class="solid"></line><line x1="336" y1="136" x2="344" y2="136" class="solid"></line><line x1="352" y1="136" x2="360" y2="136" class="solid"></line><line x1="368" y1="136" x2="376" y2="136" class="solid"></line><line x1="384" y1="136" x2="392" y2="136" class="solid"></line><line x1="432" y1="136" x2="440" y2="136" class="solid"></line><line x1="448" y1="136" x2="456" y2="136" class="solid"></line><line x1="464" y1="136" x2="472" y2="136" class="solid"></line><line x1="480" y1="136" x2="488" y2="136" class="solid"></line><line x1="496" y1="136" x2="504" y2="136" class="solid"></line><line x1="512" y1="136" x2="520" y2="136" class="solid"></line><line x1="528" y1="136" x2="536" y2="136" class="solid"></line><line x1="544" y1="136" x2="552" y2="136" class="solid"></line><line x1="560" y1="136" x2="568" y2="136" class="solid"></line><line x1="576" y1="136" x2="584" y2="136" class="solid"></line><line x1="592" y1="136" x2="600" y2="136" class="solid"></line><line x1="608" y1="136" x2="616" y2="136" class="solid"></line><line x1="624" y1="136" x2="632" y2="136" class="solid"></line><line x1="640" y1="136" x2="648" y2="136" class="solid"></line><line x1="656" y1="136" x2="664" y2="136" class="solid"></line><line x1="672" y1="136" x2="680" y2="136" class="solid"></line><line x1="688" y1="136" x2="696" y2="136" class="solid"></line><line x1="704" y1="136" x2="712" y2="136" class="solid"></line><line x1="720" y1="136" x2="728" y2="136" class="solid"></line><line x1="736" y1="136" x2="744" y2="136" class="solid"></line><line x1="0" y1="344" x2="8" y2="344" class="solid"></line><line x1="16" y1="344" x2="24" y2="344" class="solid"></line><line x1="32" y1="344" x2="40" y2="344" class="solid"></line><line x1="48" y1="344" x2="56" y2="344" class="solid"></line><line x1="64" y1="344" x2="72" y2="344" class="solid"></line><line x1="80" y1="344" x2="88" y2="344" class="solid"></line><line x1="96" y1="344" x2="104" y2="344" class="solid"></line><text x="18" y="364" >Free</text><text x="58" y="364" >blocks</text><line x1="112" y1="344" x2="120" y2="344" class="solid"></line><line x1="128" y1="344" x2="136" y2="344" class="solid"></line><line x1="144" y1="344" x2="152" y2="344" class="solid"></line><line x1="160" y1="344" x2="168" y2="344" class="solid"></line><line x1="176" y1="344" x2="184" y2="344" class="solid"></line><line x1="192" y1="344" x2="200" y2="344" class="solid"></line><line x1="208" y1="344" x2="216" y2="344" class="solid"></line><line x1="224" y1="344" x2="232" y2="344" class="solid"></line><line x1="240" y1="344" x2="248" y2="344" class="solid"></line><line x1="256" y1="344" x2="264" y2="344" class="solid"></line><line x1="272" y1="344" x2="280" y2="344" class="solid"></line><line x1="288" y1="344" x2="296" y2="344" class="solid"></line><line x1="304" y1="344" x2="312" y2="344" class="solid"></line><line x1="320" y1="344" x2="328" y2="344" class="solid"></line><line x1="336" y1="344" x2="344" y2="344" class="solid"></line><line x1="352" y1="344" x2="360" y2="344" class="solid"></line><line x1="368" y1="344" x2="376" y2="344" class="solid"></line><line x1="400" y1="344" x2="408" y2="344" class="solid"></line><line x1="416" y1="344" x2="424" y2="344" class="solid"></line><line x1="432" y1="344" x2="440" y2="344" class="solid"></line><line x1="448" y1="344" x2="456" y2="344" class="solid"></line><line x1="464" y1="344" x2="472" y2="344" class="solid"></line><line x1="480" y1="344" x2="488" y2="344" class="solid"></line><line x1="496" y1="344" x2="504" y2="344" class="solid"></line><line x1="512" y1="344" x2="520" y2="344" class="solid"></line><line x1="528" y1="344" x2="536" y2="344" class="solid"></line><line x1="544" y1="344" x2="552" y2="344" class="solid"></line><line x1="560" y1="344" x2="568" y2="344" class="solid"></line><line x1="576" y1="344" x2="584" y2="344" class="solid"></line><line x1="592" y1="344" x2="600" y2="344" class="solid"></line><line x1="608" y1="344" x2="616" y2="344" class="solid"></line><line x1="624" y1="344" x2="632" y2="344" class="solid"></line><line x1="640" y1="344" x2="648" y2="344" class="solid"></line><line x1="656" y1="344" x2="664" y2="344" class="solid"></line><line x1="672" y1="344" x2="680" y2="344" class="solid"></line><line x1="688" y1="344" x2="696" y2="344" class="solid"></line><line x1="704" y1="344" x2="712" y2="344" class="solid"></line><line x1="720" y1="344" x2="728" y2="344" class="solid"></line><line x1="736" y1="344" x2="744" y2="344" class="solid"></line><text x="562" y="28" >FLLEN = 8</text><text x="58" y="60" >fl_bitmap: FLBitmap =</text><text x="162" y="92" >min size</text><text x="594" y="172" >SLLEN = 8</text><text x="58" y="204" >sl_bitmap[4]: SLBitmap =</text><text x="106" y="236" >min size 2⁸(1+n/8)</text><text x="170" y="268" >first_free</text><text x="410" y="316" >size = 416..448</text><g><path d="M 248,40 A 4,4 0,0,0 244,44" class="nofill"></path><line x1="244" y1="44" x2="244" y2="100" class="solid"></line><line x1="248" y1="40" x2="624" y2="40" class="solid"></line><line x1="292" y1="40" x2="292" y2="104" class="solid"></line><line x1="340" y1="40" x2="340" y2="104" class="solid"></line><line x1="388" y1="40" x2="388" y2="104" class="solid"></line><line x1="436" y1="40" x2="436" y2="104" class="solid"></line><line x1="484" y1="40" x2="484" y2="104" class="solid"></line><line x1="532" y1="40" x2="532" y2="104" class="solid"></line><line x1="580" y1="40" x2="580"
/// y2="104" class="solid"></line><path d="M 624,40 A 4,4 0,0,1 628,44" class="nofill"></path><line x1="628" y1="44" x2="628" y2="100" class="solid"></line><line x1="244" y1="72" x2="628" y2="72" class="solid"></line><path d="M 244,100 A 4,4 0,0,0 248,104" class="nofill"></path><line x1="248" y1="104" x2="624" y2="104" class="solid"></line><line x1="412" y1="104" x2="412" y2="164" class="solid"></line><path d="M 628,100 A 4,4 0,0,1 624,104" class="nofill"></path></g><g><text x="258" y="92">2¹</text><text x="274" y="92">¹</text></g><g><text x="306" y="92">2¹</text><text x="322" y="92">⁰</text></g><g><path d="M 272,184 A 4,4 0,0,0 268,188" class="nofill"></path><line x1="268" y1="188" x2="268" y2="276" class="solid"></line><line x1="272" y1="184" x2="648" y2="184" class="solid"></line><line x1="316" y1="184" x2="316" y2="280" class="solid"></line><line x1="364" y1="184" x2="364" y2="280" class="solid"></line><line x1="412" y1="184" x2="412" y2="280" class="solid"></line><line x1="460" y1="184" x2="460" y2="280" class="solid"></line><line x1="508" y1="184" x2="508" y2="280" class="solid"></line><line x1="556" y1="184" x2="556" y2="280" class="solid"></line><line x1="604" y1="184" x2="604" y2="280" class="solid"></line><path d="M 648,184 A 4,4 0,0,1 652,188" class="nofill"></path><line x1="652" y1="188" x2="652" y2="276" class="solid"></line><line x1="268" y1="216" x2="652" y2="216" class="solid"></line><line x1="268" y1="248" x2="652" y2="248" class="solid"></line><path d="M 268,276 A 4,4 0,0,0 272,280" class="nofill"></path><line x1="272" y1="280" x2="648" y2="280" class="solid"></line><path d="M 652,276 A 4,4 0,0,1 648,280" class="nofill"></path></g><g><line x1="388" y1="288" x2="388" y2="388" class="solid"></line><path d="M 104,392 A 4,4 0,0,0 100,396" class="nofill"></path><line x1="100" y1="396" x2="100" y2="420" class="solid"></line><line x1="104" y1="392" x2="384" y2="392" class="solid"></line><path d="M 388,388 A 4,4 0,0,1 384,392" class="nofill"></path><path d="M 100,420 A 4,4 0,0,0 104,424" class="nofill"></path><line x1="104" y1="424" x2="120" y2="424" class="solid"></line></g><g><path d="M 120,408 A 4,4 0,0,0 116,412" class="nofill"></path><line x1="116" y1="412" x2="116" y2="484" class="solid"></line><line x1="120" y1="408" x2="240" y2="408" class="solid"></line><line x1="148" y1="408" x2="148" y2="440" class="solid"></line><line x1="180" y1="408" x2="180" y2="436" class="solid"></line><path d="M 240,408 A 4,4 0,0,1 244,412" class="nofill"></path><line x1="244" y1="412" x2="244" y2="484" class="solid"></line><line x1="116" y1="440" x2="176" y2="440" class="solid"></line><path d="M 180,436 A 4,4 0,0,1 176,440" class="nofill"></path><path d="M 116,484 A 4,4 0,0,0 120,488" class="nofill"></path><line x1="120" y1="488" x2="240" y2="488" class="solid"></line><path d="M 244,484 A 4,4 0,0,1 240,488" class="nofill"></path></g><g><path d="M 288,408 A 4,4 0,0,0 284,412" class="nofill"></path><line x1="284" y1="412" x2="284" y2="484" class="solid"></line><line x1="288" y1="408" x2="408" y2="408" class="solid"></line><line x1="316" y1="408" x2="316" y2="440" class="solid"></line><line x1="348" y1="408" x2="348" y2="436" class="solid"></line><path d="M 408,408 A 4,4 0,0,1 412,412" class="nofill"></path><line x1="412" y1="412" x2="412" y2="484" class="solid"></line><line x1="284" y1="440" x2="344" y2="440" class="solid"></line><path d="M 348,436 A 4,4 0,0,1 344,440" class="nofill"></path><path d="M 284,484 A 4,4 0,0,0 288,488" class="nofill"></path><line x1="288" y1="488" x2="408" y2="488" class="solid"></line><path d="M 412,484 A 4,4 0,0,1 408,488" class="nofill"></path></g><g><path d="M 456,408 A 4,4 0,0,0 452,412" class="nofill"></path><line x1="452" y1="412" x2="452" y2="484" class="solid"></line><line x1="456" y1="408" x2="576" y2="408" class="solid"></line><line x1="484" y1="408" x2="484" y2="440" class="solid"></line><line x1="516" y1="408" x2="516" y2="436" class="solid"></line><path d="M 576,408 A 4,4 0,0,1 580,412" class="nofill"></path><line x1="580" y1="412" x2="580" y2="484" class="solid"></line><line x1="452" y1="440" x2="512" y2="440" class="solid"></line><path d="M 516,436 A 4,4 0,0,1 512,440" class="nofill"></path><path d="M 452,484 A 4,4 0,0,0 456,488" class="nofill"></path><line x1="456" y1="488" x2="576" y2="488" class="solid"></line><path d="M 580,484 A 4,4 0,0,1 576,488" class="nofill"></path></g></svg>
/// </center>
// Above SVG generated using <https://ivanceras.github.io/svgbob-editor/> from the input below:

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a regular comment (not a doc comment), so it's not rendered in the rustdoc docs.

Comment thread crates/rlsf/src/tlsf.rs Outdated
/// ╰───────────────╯ ╰───────────────╯ ╰───────────────╯
/// 416 bytes 432 bytes 416 bytes
/// ```
/// <svg xmlns="http://www.w3.org/2000/svg" width="752" height="528" class="svgbob"><style>.svgbob line, .svgbob path, .svgbob circle, .svgbob rect, .svgbob polygon {

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The CSS can also easily be joined into a single line if you prefer it that way.

Comment thread crates/rlsf/src/tlsf.rs Outdated
/// }
/// .svgbob .start_marked_big_open_circle {
/// marker-start: url(#big_open_circle);
/// }<!--separator--></style><defs><marker id="arrow" viewBox="-2 -2 8 8" refX="4" refY="2" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><polygon points="0,0 0,4 4,2 0,0"></polygon></marker><marker id="diamond" viewBox="-2 -2 8 8" refX="4" refY="2" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><polygon points="0,2 2,0 4,2 2,4 0,2"></polygon></marker><marker id="circle" viewBox="0 0 8 8" refX="4" refY="4" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><circle cx="4" cy="4" r="2" class="filled"></circle></marker><marker id="open_circle" viewBox="0 0 8 8" refX="4" refY="4" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><circle cx="4" cy="4" r="2" class="bg_filled"></circle></marker><marker id="big_open_circle" viewBox="0 0 8 8" refX="4" refY="4" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><circle cx="4" cy="4" r="3" class="bg_filled"></circle></marker></defs><rect class="backdrop" x="0" y="0" width="752" height="528"></rect><text x="18" y="12" >First</text><text x="66" y="12" >level</text><text x="266" y="60" >0</text><text x="314" y="60" >0</text><text x="362" y="60" >0</text><text x="410" y="60" >1</text><text x="458" y="60" >0</text><text x="506" y="60" >0</text><text x="554" y="60" >0</text><text x="602" y="60" >0</text><text x="362" y="92" >2⁹</text><text x="410" y="92" >2⁸</text><text x="458" y="92" >2⁷</text><text x="506" y="92" >2⁶</text><text x="554" y="92" >2⁵</text><text x="602" y="92" >2⁴</text><line x1="400" y1="136" x2="408" y2="136" class="solid"></line><line x1="416" y1="136" x2="424" y2="136" class="solid"></line><polygon points="408,164 416,164 412,176" class="filled"></polygon><text x="290" y="204" >0</text><text x="338" y="204" >0</text><text x="386" y="204" >1</text><text x="434" y="204" >0</text><text x="482" y="204" >0</text><text x="530" y="204" >0</text><text x="578" y="204" >0</text><text x="626" y="204" >0</text><text x="290" y="236" >7</text><text x="338" y="236" >6</text><text x="386" y="236" >5</text><text x="434" y="236" >4</text><text x="482" y="236" >3</text><text x="530" y="236" >2</text><text x="578" y="236" >1</text><text x="626" y="236" >0</text><line x1="388" y1="288" x2="388" y2="264" class="solid end_marked_big_open_circle"></line><line x1="384" y1="344" x2="392" y2="344" class="solid"></line><polygon points="120,420 128,424 120,428" class="filled"></polygon><circle cx="132" cy="424" r="4" class="nofill"></circle><line x1="176" y1="424" x2="164" y2="424" class="solid end_marked_big_open_circle"></line><line x1="176" y1="424" x2="288" y2="424" class="solid"></line><polygon points="288,420 296,424 288,428" class="filled"></polygon><circle cx="300" cy="424" r="4" class="nofill"></circle><line x1="344" y1="424" x2="332" y2="424" class="solid end_marked_big_open_circle"></line><line x1="344" y1="424" x2="456" y2="424" class="solid"></line><polygon points="456,420 464,424 456,428" class="filled"></polygon><circle cx="468" cy="424" r="4" class="nofill"></circle><text x="146" y="508" >416</text><text x="178" y="508" >bytes</text><text x="314" y="508" >432</text><text x="346" y="508" >bytes</text><text x="482" y="508" >416</text><text x="514" y="508" >bytes</text><line x1="0" y1="136" x2="8" y2="136" class="solid"></line><line x1="16" y1="136" x2="24" y2="136" class="solid"></line><line x1="32" y1="136" x2="40" y2="136" class="solid"></line><line x1="48" y1="136" x2="56" y2="136" class="solid"></line><line x1="64" y1="136" x2="72" y2="136" class="solid"></line><line x1="80" y1="136" x2="88" y2="136" class="solid"></line><line x1="96" y1="136" x2="104" y2="136" class="solid"></line><line x1="112" y1="136" x2="120" y2="136" class="solid"></line><text x="18" y="156" >Second</text><text x="74" y="156" >Level</text><line x1="128" y1="136" x2="136" y2="136" class="solid"></line><line x1="144" y1="136" x2="152" y2="136" class="solid"></line><line x1="160" y1="136" x2="168" y2="136" class="solid"></line><line x1="176" y1="136" x2="184" y2="136" class="solid"></line><line x1="192" y1="136" x2="200" y2="136" class="solid"></line><line x1="208" y1="136" x2="216" y2="136" class="solid"></line><line x1="224" y1="136" x2="232" y2="136" class="solid"></line><line x1="240" y1="136" x2="248" y2="136" class="solid"></line><line x1="256" y1="136" x2="264" y2="136" class="solid"></line><line x1="272" y1="136" x2="280" y2="136" class="solid"></line><line x1="288" y1="136" x2="296" y2="136" class="solid"></line><line x1="304" y1="136" x2="312" y2="136" class="solid"></line><line x1="320" y1="136" x2="328" y2="136" class="solid"></line><line x1="336" y1="136" x2="344" y2="136" class="solid"></line><line x1="352" y1="136" x2="360" y2="136" class="solid"></line><line x1="368" y1="136" x2="376" y2="136" class="solid"></line><line x1="384" y1="136" x2="392" y2="136" class="solid"></line><line x1="432" y1="136" x2="440" y2="136" class="solid"></line><line x1="448" y1="136" x2="456" y2="136" class="solid"></line><line x1="464" y1="136" x2="472" y2="136" class="solid"></line><line x1="480" y1="136" x2="488" y2="136" class="solid"></line><line x1="496" y1="136" x2="504" y2="136" class="solid"></line><line x1="512" y1="136" x2="520" y2="136" class="solid"></line><line x1="528" y1="136" x2="536" y2="136" class="solid"></line><line x1="544" y1="136" x2="552" y2="136" class="solid"></line><line x1="560" y1="136" x2="568" y2="136" class="solid"></line><line x1="576" y1="136" x2="584" y2="136" class="solid"></line><line x1="592" y1="136" x2="600" y2="136" class="solid"></line><line x1="608" y1="136" x2="616" y2="136" class="solid"></line><line x1="624" y1="136" x2="632" y2="136" class="solid"></line><line x1="640" y1="136" x2="648" y2="136" class="solid"></line><line x1="656" y1="136" x2="664" y2="136" class="solid"></line><line x1="672" y1="136" x2="680" y2="136" class="solid"></line><line x1="688" y1="136" x2="696" y2="136" class="solid"></line><line x1="704" y1="136" x2="712" y2="136" class="solid"></line><line x1="720" y1="136" x2="728" y2="136" class="solid"></line><line x1="736" y1="136" x2="744" y2="136" class="solid"></line><line x1="0" y1="344" x2="8" y2="344" class="solid"></line><line x1="16" y1="344" x2="24" y2="344" class="solid"></line><line x1="32" y1="344" x2="40" y2="344" class="solid"></line><line x1="48" y1="344" x2="56" y2="344" class="solid"></line><line x1="64" y1="344" x2="72" y2="344" class="solid"></line><line x1="80" y1="344" x2="88" y2="344" class="solid"></line><line x1="96" y1="344" x2="104" y2="344" class="solid"></line><text x="18" y="364" >Free</text><text x="58" y="364" >blocks</text><line x1="112" y1="344" x2="120" y2="344" class="solid"></line><line x1="128" y1="344" x2="136" y2="344" class="solid"></line><line x1="144" y1="344" x2="152" y2="344" class="solid"></line><line x1="160" y1="344" x2="168" y2="344" class="solid"></line><line x1="176" y1="344" x2="184" y2="344" class="solid"></line><line x1="192" y1="344" x2="200" y2="344" class="solid"></line><line x1="208" y1="344" x2="216" y2="344" class="solid"></line><line x1="224" y1="344" x2="232" y2="344" class="solid"></line><line x1="240" y1="344" x2="248" y2="344" class="solid"></line><line x1="256" y1="344" x2="264" y2="344" class="solid"></line><line x1="272" y1="344" x2="280" y2="344" class="solid"></line><line x1="288" y1="344" x2="296" y2="344" class="solid"></line><line x1="304" y1="344" x2="312" y2="344" class="solid"></line><line x1="320" y1="344" x2="328" y2="344" class="solid"></line><line x1="336" y1="344" x2="344" y2="344" class="solid"></line><line x1="352" y1="344" x2="360" y2="344" class="solid"></line><line x1="368" y1="344" x2="376" y2="344" class="solid"></line><line x1="400" y1="344" x2="408" y2="344" class="solid"></line><line x1="416" y1="344" x2="424" y2="344" class="solid"></line><line x1="432" y1="344" x2="440" y2="344" class="solid"></line><line x1="448" y1="344" x2="456" y2="344" class="solid"></line><line x1="464" y1="344" x2="472" y2="344" class="solid"></line><line x1="480" y1="344" x2="488" y2="344" class="solid"></line><line x1="496" y1="344" x2="504" y2="344" class="solid"></line><line x1="512" y1="344" x2="520" y2="344" class="solid"></line><line x1="528" y1="344" x2="536" y2="344" class="solid"></line><line x1="544" y1="344" x2="552" y2="344" class="solid"></line><line x1="560" y1="344" x2="568" y2="344" class="solid"></line><line x1="576" y1="344" x2="584" y2="344" class="solid"></line><line x1="592" y1="344" x2="600" y2="344" class="solid"></line><line x1="608" y1="344" x2="616" y2="344" class="solid"></line><line x1="624" y1="344" x2="632" y2="344" class="solid"></line><line x1="640" y1="344" x2="648" y2="344" class="solid"></line><line x1="656" y1="344" x2="664" y2="344" class="solid"></line><line x1="672" y1="344" x2="680" y2="344" class="solid"></line><line x1="688" y1="344" x2="696" y2="344" class="solid"></line><line x1="704" y1="344" x2="712" y2="344" class="solid"></line><line x1="720" y1="344" x2="728" y2="344" class="solid"></line><line x1="736" y1="344" x2="744" y2="344" class="solid"></line><text x="562" y="28" >FLLEN = 8</text><text x="58" y="60" >fl_bitmap: FLBitmap =</text><text x="162" y="92" >min size</text><text x="594" y="172" >SLLEN = 8</text><text x="58" y="204" >sl_bitmap[4]: SLBitmap =</text><text x="106" y="236" >min size 2⁸(1+n/8)</text><text x="170" y="268" >first_free</text><text x="410" y="316" >size = 416..448</text><g><path d="M 248,40 A 4,4 0,0,0 244,44" class="nofill"></path><line x1="244" y1="44" x2="244" y2="100" class="solid"></line><line x1="248" y1="40" x2="624" y2="40" class="solid"></line><line x1="292" y1="40" x2="292" y2="104" class="solid"></line><line x1="340" y1="40" x2="340" y2="104" class="solid"></line><line x1="388" y1="40" x2="388" y2="104" class="solid"></line><line x1="436" y1="40" x2="436" y2="104" class="solid"></line><line x1="484" y1="40" x2="484" y2="104" class="solid"></line><line x1="532" y1="40" x2="532" y2="104" class="solid"></line><line x1="580" y1="40" x2="580"

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you move the image into an .svg file imported by include_str!?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure thing, done!

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually, let me check whether using macros in the #[doc] attribute was allowed in Rust 1.61.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All good, it is supported since Rust 1.54.

@AudaciousAxiom
AudaciousAxiom force-pushed the refactor/remove-svgbobdoc-dep branch from fde873c to 842abbd Compare July 26, 2026 14:53
@AudaciousAxiom
AudaciousAxiom requested a review from yvt July 26, 2026 14:55
@yvt
yvt enabled auto-merge July 26, 2026 16:07
@yvt
yvt disabled auto-merge July 26, 2026 17:06
@yvt
yvt merged commit fb850f0 into yvt:main Jul 26, 2026
3 checks passed
@yvt

yvt commented Jul 26, 2026

Copy link
Copy Markdown
Owner

Thanks!

@AudaciousAxiom
AudaciousAxiom deleted the refactor/remove-svgbobdoc-dep branch July 26, 2026 17:29
@AudaciousAxiom

Copy link
Copy Markdown
Contributor Author

Thanks a lot for merging this! Could you cut a new release? That would help a lot reduce the duplication of syn dependencies by avoiding the dependency on the v1.

@yvt

yvt commented Jul 27, 2026

Copy link
Copy Markdown
Owner

Done: https://crates.io/crates/rlsf/0.2.3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Make svgbobdoc optional

2 participants