Skip to content
This repository has been archived by the owner on Apr 5, 2024. It is now read-only.

Does not work since 2018-07-29 rustc #64

Closed
jebrosen opened this issue Aug 23, 2018 · 3 comments
Closed

Does not work since 2018-07-29 rustc #64

jebrosen opened this issue Aug 23, 2018 · 3 comments

Comments

@jebrosen
Copy link
Contributor

I tried running semverver on the latest nightly and ran into compiler errors, which I'll make a PR for fixing as well.

But semverver has actually been broken for longer than that -- since 2017-07-29, according to the travis build history. I narrowed it down to rust-lang/rust#52723, which fixed rust-lang/rust#51796. That PR invalidates semverver's trick of importing the two different versions of the crate as "old" and "new" and then having the names come back as "old" and "new" when inspected later in https://github.com/rust-lang-nursery/rust-semverver/blob/master/src/bin/rust_semverver.rs#L43. I don't see an obvious way to ask the compiler for the crate names as passed on the command line; hopefully someone has some ideas or suggestions.

(cc @alexcrichton, who authored the rust PR in question)

@ibabushkin
Copy link
Contributor

I am aware of the issue (and because of a chronic lack of time currently, haven't documented it or found a way to fix it) -- but so far my observation was that maybe the compiler needs to be updated to expose a way to query the original name of the crate. There is a original_crate_name query system (or something similar), but that one doesn't provide the info we need (I am also unsure what it is used for, haven't had the time to investigate).

Either way, thanks for getting involved!

@alexcrichton
Copy link
Member

Ah sorry for the breakage! I'm not sure if there's a way to recover the original name of a crate right now from the compiler, but a query could definitely be added to do so!

@jebrosen
Copy link
Contributor Author

I did try reverting that PR locally, and lo and behold it was enough to get semverver working again! I think re-introducing the previous functionality as as extern_name, or figuring out what original_crate_name is supposed to do, is a viable way forward.

I still encountered a lot of errors due to failing assertions, but they looked somewhat specific to the crates I was testing and probably related to changes to generics that have happened over the last month in the compiler.

I'm interested in helping get it all working again, but it will take a solid chunk of time for me to test the necessary combinations of nightlies and commits of semverver.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants