Zachary Dremann
dr-emann.bsky.social
Zachary Dremann
@dr-emann.bsky.social
Reposted by Zachary Dremann
I can't count the number of times I've seen this: "Now that I've disabled the server from starting, the app runs without issue. It is now complete and production-ready!"
October 24, 2025 at 1:37 PM
Strictly speaking, you _can_ add new implementations in a non-breaking change, but they would have to be subtypes of an existing subtype of the sealed interface.
September 19, 2025 at 2:51 AM
Yes, it is. So in Kotlin, "*non-exhaustive enums* are equivalent to *sealed interfaces*" isn't true, Kotlin sealed interfaces are equivalent to a normal, exhaustive enum in Rust.
September 19, 2025 at 2:51 AM
Maybe what kotlin calls sealed interfaces are actually something else from a type-theoretic world, but kotlin's sealed interfaces _can_ promise that you won't add a new implementation, which does allow compiler checked exhaustive pattern matching: pl.kotl.in/iOXs1juXW
Kotlin Playground: Edit, Run, Share Kotlin Code Online
pl.kotl.in
September 19, 2025 at 2:18 AM
Effectively, because of this, yes, unwrap can be a footgun. But 90+% of your functions don't need to handle options, unlike go, where every pointer is implicitly an option.
January 30, 2025 at 1:33 AM
Because I can take Option<&T> in one function, and handle the None case, and all the functions it calls can take &T, and statically know they don't need to check for null, even 10 layers away in a helper. If I take a pointer in go for my helper, I either check for null, or doc it expects non null
January 30, 2025 at 1:31 AM
You probably want to enable optimization, by passing `-C opt-level=3` when comparing assembly, even more things will end up optimized away. godbolt.org/z/Gh3jnMEdY
Compiler Explorer - Rust (rustc 1.84.0)
// Type your code here, or load an example. pub enum Feature { Enabled, Disabled } // As of Rust 1.75, small functions are automatically // marked as `#[inline]` so they will not show up in ...
godbolt.org
January 30, 2025 at 1:27 AM