<p dir="auto">A B-tree stores sorted arrays of a chosen size instead of lone nodes, so it can be much more cache-friendly than a red-black tree when used with small key/value types. The size will just have to be hardcoded for now since it can't be part of parametrizing it.</p>
<p dir="auto">Right now, resource destructors seem to <em>always</em> be inlined.  This recently led to <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4032630" data-permission-text="Title is private" data-url="https://github.com/rust-lang/rust/issues/2170" data-hovercard-type="issue" data-hovercard-url="/rust-lang/rust/issues/2170/hovercard" href="https://github.com/rust-lang/rust/issues/2170">#2170</a> because the reachability map was incorrect.  I fixed this the wrong way: by marking all resource bodies as reachable.  The right fix seems to me to be not inlining resource bodies by default, but that change seemed a bit more involved.  In particular, I wanted to check with <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/marijnh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/marijnh">@marijnh</a> whether resources are being inlined intentionally?  If so, is there a deep reason for that?</p>
<p dir="auto">In general I'd like to be able to say that "no user-specified code is inlined unless either generic or marked #[inline]".</p>