<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Revisiting Sizedness on baby steps</title><link>https://smallcultfollowing.com/babysteps/series/revisiting-sizedness/</link><description>Recent content in Revisiting Sizedness on baby steps</description><generator>Hugo</generator><language>en-us</language><managingEditor>rust@nikomatsakis.com (Niko Matsakis)</managingEditor><webMaster>rust@nikomatsakis.com (Niko Matsakis)</webMaster><lastBuildDate>Tue, 09 Jun 2026 05:04:17 -0400</lastBuildDate><atom:link href="https://smallcultfollowing.com/babysteps/series/revisiting-sizedness/index.xml" rel="self" type="application/rss+xml"/><item><title>Only Bounds</title><link>https://smallcultfollowing.com/babysteps/blog/2026/06/09/only-bounds/</link><pubDate>Tue, 09 Jun 2026 05:04:17 -0400</pubDate><author>rust@nikomatsakis.com (Niko Matsakis)</author><guid>https://smallcultfollowing.com/babysteps/blog/2026/06/09/only-bounds/</guid><description>&lt;p&gt;&lt;code&gt;only&lt;/code&gt; bounds are going to be the most impactful change to Rust that you&amp;rsquo;ve never heard of. They are currently being designed and developed by the Arm team (David Wood, Rémy Rakic, et al.) as part of the &lt;a href="https://rust-lang.github.io/rust-project-goals/2026/scalable-vectors.html"&gt;Sized Hierarchy and Scalable Vector Extension&lt;/a&gt; project goal. This post explores the feature and aims to answer a particular question about the design (the scope of bounds, I&amp;rsquo;ll explain). But before I dive in, I want to give a bit of context.&lt;/p&gt;</description></item><item><title>Sized, DynSized, and Unsized</title><link>https://smallcultfollowing.com/babysteps/blog/2024/04/23/dynsized-unsized/</link><pubDate>Tue, 23 Apr 2024 16:51:54 -0400</pubDate><author>rust@nikomatsakis.com (Niko Matsakis)</author><guid>https://smallcultfollowing.com/babysteps/blog/2024/04/23/dynsized-unsized/</guid><description>&lt;p&gt;&lt;a href="https://rust-lang.github.io/rfcs/1861-extern-types.html"&gt;Extern types&lt;/a&gt; have been blocked for an unreasonably long time on a fairly narrow, specialized question: Rust today divides all types into two categories — &lt;em&gt;sized&lt;/em&gt;, whose size can be statically computed, and &lt;em&gt;unsized&lt;/em&gt;, whose size can only be computed at runtime. But for external types what we really want is a &lt;em&gt;third category&lt;/em&gt;, types whose size can never be known, even at runtime (in C, you can model this by defining structs with an unknown set of fields). The problem is that Rust’s &lt;code&gt;?Sized&lt;/code&gt; notation does not naturally scale to this third case. I think it’s time we fixed this. At some point I read a proposal — I no longer remember where — that seems like the obvious way forward and which I think is a win on several levels. So I thought I would take a bit of time to float the idea again, explain the tradeoffs I see with it, and explain why I think the idea is a good change.&lt;/p&gt;</description></item></channel></rss>