and disable smart pointer optimizations — what "optimizations" do you think &self or &mut self perform? Also, &self and &mut self are not "smart pointers". I could see Box<Self> being called a smart pointer, but not many people know you can use that as self.
only &mut references generate noalias (and afaik even that has been turned off until further notice due to llvm bugs). Could you please share your use case (a code example that shows why &self doesn't work)
Only &T references generate noalias atm. I asked a question if &mut T generate noalias in the future on www.reddit.com/r/rust. And they said that after some llvm bugs get fixed it will generate noalias too. I wanna write some unsafe methods and because its unsafe i wanna turn reference optimizations(noalias, nocapture) off like UnsafeCell semantics.
&selfor&mut selfperform? Also,&selfand&mut selfare not "smart pointers". I could seeBox<Self>being called a smart pointer, but not many people know you can use that asself.&mutreferences generatenoalias(and afaik even that has been turned off until further notice due to llvm bugs). Could you please share your use case (a code example that shows why&selfdoesn't work)