3 ms·
It's not a "negative", it's a disadvantage. "Negative" has a specific meaning that should not be used in this context. Safe Rust is also in the same boat: it h
by bonzini 7y ago
It's not a "negative", it's a disadvantage. "Negative" has a specific meaning that should not be used in this context.
Safe Rust is also in the same boat: it has a lot of false positives that are rejected by the borrow checker even though they would be okay, and yet it's being used just fine. Think of doubly linked lists which are pretty much impossible to implement in safe Rust unless you replace pointers with integer IDs which basically disables borrow checking. Non-lexical lifetimes are an example of downright changing the definition of the language in order to remove some of these false positives.
- UncleMeat 7y agoI didn't it that way. I read it as "downside" rather than "false negative", especially because a sound static analysis is trivial and not something to be proud of in the abstract. "Output Top" is sound for all non-inverted lattices and takes constant time. Woohoo! But it is also useless.