Conversation

Replying to and
Rust doesn't do TBAA and doesn't really need it due to the &T and &mut T restrictions so that's a lot of complexity that's avoided. It doesn't have the pointer provenance rules but LLVM doesn't really document what they do and my generic wording was lost when they updated it.
2
2
Replying to and
The list there is almost the same as my original list but someone declared it complete/exhaustive when it originally didn't claim that, and the part about aliasing was ruined. Whoever replaced that seemed to miss a lot of the point. Not my problem to resolve though.
1
1
LLVM considers NoAlias to be about lack of memory dependencies between types. That means &T for types without interior mutability (which has to be declared) is NoAlias in the LLVM sense. Also, that list is clearly missing the rules about immutability, among various other things.
1
Rust's rules for UB in unsafe code will definitely be a lot simpler than C and it doesn't have UB in safe code. I strongly dislike the style that the documentation was remade into and part of that is it deliberately eschews accuracy in favor of being amusing and comforting.
1
1
Replying to and
(FWIW, your link is the documentation I remember on what's considered UB. I've brought up before on here that I don't care for the whimsiness of the Rustnomicon. But outside of limited contexts like this one, criticizing the tone of that document leads to... issues.)
1
Replying to and
I have serious issues with one of the main people originally responsible for it and they were the main reason that I became increasingly frustrated/disenchanted with the project and decided to resign from it and move on.
1
Replying to and
Just be aware that when I stopped contributing and resigned + removed my own commit access, someone wrongly assumed that I was 'kicked out' and accidentally made a whole drama out of it. A few people who didn't like me rolled with it and to this day it's used to attack me.
... I had quite major issues with how it was developed, how developers outside Mozilla were treated at the time (i.e. myself) and my criticism of design issues and approaches to docs/implementation/designs were taken very personally and were responded to in underhanded ways.