Hacker News new | ask | show | jobs
by tialaramex 876 days ago
Also, even in "the" C ABI provided by Rust out of the box there's a certain amount of "Well, this is probably what your C compiler does here, but there's no requirement" rather than an actual hard ABI document. A lot of the "We're ABI stable" claims in C and C++ are "We daren't change anything or stuff breaks" which isn't so much an ABI as it is paralysis and Rust is confident it doesn't want to do that.
2 comments

> A lot of the "We're ABI stable" claims in C and C++ are "We daren't change anything or stuff breaks" which isn't so much an ABI as it is paralysis

For the C++ standary library maybe, but for pretty much all others which provide ABI compatibility it's a concious and properly followed decision.

> "We're ABI stable" claims in C and C++ are "We daren't change anything or stuff breaks" which isn't so much an ABI as it is paralysis and Rust is confident it doesn't want to do that.

For C++, yes sure, but I thought C usually has a pretty well specified ABI on most platforms, no?

I think it's true for common enough platforms, but C is available in too many platforms so I'm not sure it's generally true.