<story><title>Untapped potential in Rust&apos;s type system</title><url>https://www.jakobmeier.ch/blogging/Untapped-Rust.html</url></story><parent_chain></parent_chain><comment><author>richardwhiuk</author><text>Note, you have to be quite careful with typeid - you can end up with types not matching because you have two different versions of a crate.&lt;p&gt;Normally this would be a compile time error, but using typeid can turn this into a runtime error.&lt;p&gt;&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;docs.rs&amp;#x2F;assert-type-eq&amp;#x2F;0.1.0&amp;#x2F;assert_type_eq&amp;#x2F;&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;docs.rs&amp;#x2F;assert-type-eq&amp;#x2F;0.1.0&amp;#x2F;assert_type_eq&amp;#x2F;&lt;/a&gt; allows you to assert that two types are the same, forcing a compile time error for this scenario.</text></comment>
<story><title>Untapped potential in Rust&apos;s type system</title><url>https://www.jakobmeier.ch/blogging/Untapped-Rust.html</url></story><parent_chain></parent_chain><comment><author>eptcyka</author><text>An interesting, yet somewhat unrelated discussion could be had about cases where one might want the type ID to not change when the type changes structurally. There are many structures in many ABI interfaces that are structurally different between releases, yet still binary compatible. This particular characteristic has always been defined adhoc, and I do wonder what a more formal system might mean. This almost feels like the issue of identity in distributed systems.</text></comment>