this post was submitted on 28 Apr 2026
9 points (80.0% liked)
Rust
7969 readers
35 users here now
Welcome to the Rust community! This is a place to discuss about the Rust programming language.
Wormhole
Credits
- The icon is a modified version of the official rust logo (changing the colors to a gradient and black background)
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I am not an expert but I think the actual problem is in the slice::iter first getting an immutable reference to the underlying data with
self.0.next()before mapping it into aUserRef<T>which is instant UB because a&Tguarantees exclusivity whileUserRef<T>explicitly states in its contract that it does not guarantee anything like that, even if mutably borrowed.So in essence the problem, as I understood it, is in the step from slice -> reference to value -> User ref of value with the italic part being illegal.
I think you put it more understandable