23
Rustc Trait System Refactor (blog.rust-lang.org)
top 2 comments
sorted by: hot top controversial new old
[-] Bogasse@lemmy.world 3 points 11 months ago

I'm surprised by the ambiguity shown in the last example. Shouldn't the concrete return type for an impl Into<u32> be completely inaccessible outside of the function? Otherwise it would allow to introduce breaking changes without changing a function API.

But in this case, how would it be possible that impl_trait().into() is an u16?

[-] SorteKanin@feddit.dk 1 points 11 months ago

I guess it's only accessible to the mem::size_of because it has an implicit Sized bound as well. So really the bound is impl Into + Sized and I don't think the code using the function is assuming anything else.

But I do agree it feels weird. I feel like the function should know its return type regardless of how it is used?

this post was submitted on 18 Jul 2023
23 points (100.0% liked)

Rust

5419 readers
53 users here now

Welcome to the Rust community! This is a place to discuss about the Rust programming language.

Wormhole

!performance@programming.dev

Credits

  • The icon is a modified version of the official rust logo (changing the colors to a gradient and black background)

founded 1 year ago
MODERATORS