Re:"Rust does not have a stable ABI"
by SAI_Peregrinus on Thursday August 13, 2020 @01:45PM
(#24146019)
C lacks the information given to the compiler to do this. It can't be added without adding that to the language. So no linter can do this alone, without language changes.
[ Parent
| on HN ]
Re:"Rust does not have a stable ABI"
by dependenttypes on Friday August 14, 2020 @08:41AM
(#24157114)
You can use _Pragma/#pragma, regardless though, you can achieve a lot of what lifetimes can without any annotation.
Re:"Rust does not have a stable ABI"
by SAI_Peregrinus on Saturday August 15, 2020 @06:27PM
(#24172972)
Pragmas are extensions to C, not part of the C language standard. You can add things to C, but it then ceases to be standard C and becomes GNU C or MS Visual C or early C++ or something else. But not ISO Standard C.
And yes, just about anything non-lexical lifetimes can do you can do with static analysis. But the set of things you can do with Rust includes things that need explicit lifetime annotations, which C doesn't have.