-
Notifications
You must be signed in to change notification settings - Fork 13.3k
Stable or versioned ABI? #11821
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
There is a metadata version here: https://github.com/mozilla/rust/blob/master/src/librustc/metadata/encoder.rs#L1850 but it seems to have never been incremented (!). |
@sfackler isn't this error slightly different to metadata versions? Without digging into it much, I think what may be happening is:
I.e. this problem is due to the actual version of libstd, while metadata versions are the version number of the format itself. |
Any talk of ABI or version number in the original message was only speculation on may part. The important point is that this kind of situation should give a better error message. |
Extend `maybe_misused_cfg` lint over `cfg(test)` Fixes rust-lang#11240. One thought I had is that we could use the levenshtein distance (of 1) to ensure this is indeed `test` that was targeted. But maybe it's overkill, not sure. changelog: [`maybe_misused_cfg`]: Extend lint over `cfg(test)` r? `@blyxyas`
The details of what’s in a compiled crate file is highly dependent on the Rust version. Different Rust versions are often incompatible. Ensuring binary compatibility is probably premature for Rust right now, but we should at least improve error messages.
Would it make sense to store an ABI version number in compiled crates?
Scenario:
extern mod A
and using stuff from ADesired result:
It either Just Works, or fails with an error message like "A has an incompatible ABI and needs to be rebuilt."
Obtained result (sometimes):
The text was updated successfully, but these errors were encountered: