-
Notifications
You must be signed in to change notification settings - Fork 14.1k
Don't leak sysroot crates through dependencies #149273
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
base: main
Are you sure you want to change the base?
Conversation
Previously if a dependency of the current crate depended on a sysroot crate, then extern crate would in the current crate would pick the first loaded version of said sysroot crate even in case of an ambiguity. This is surprising and brittle. For -Ldependency= we already blocked this, but the fix didn't account for sysroot crates.
|
r? @chenyukang rustbot has assigned @chenyukang. Use |
This comment has been minimized.
This comment has been minimized.
|
The Miri subtree was changed cc @rust-lang/miri |
This comment has been minimized.
This comment has been minimized.
|
We end up with two copies of rustc_macros in the stage1 sysroot. I suspect cargo decided to built rustc_macros once as build dependency without optimizations and once as output artifact with optimizations because bootstrap passed |
This comment has been minimized.
This comment has been minimized.
8d439c2 to
f0a26f2
Compare
|
Checking how important the @bors try @rust-timer queue |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Don't leak sysroot crates through dependencies
This comment has been minimized.
This comment has been minimized.
|
Finished benchmarking commit (c77897e): comparison URL. Overall result: ✅ improvements - no action neededBenchmarking this pull request means it may be perf-sensitive – we'll automatically label it not fit for rolling up. You can override this, but we strongly advise not to, due to possible changes in compiler perf. @bors rollup=never Instruction countOur most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
Max RSS (memory usage)Results (primary -0.3%, secondary -5.4%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (primary -2.0%, secondary 3.6%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 470.06s -> 469.991s (-0.01%) |
ac0aabb to
e58a6df
Compare
|
That turns out to be much better than I expected. It is a small perf win rather than a perf hit as I was afraid of. I've now cleaned up @rustbot ready |
|
Very nice. |
0a7346e to
871ec86
Compare
|
Oops, pushed to the wrong branch. Force pushed it back to the approved state. @bors r=petrochenkov |
…nkov Don't leak sysroot crates through dependencies Previously if a dependency of the current crate depended on a sysroot crate, then `extern crate` would in the current crate would pick the first loaded version of said sysroot crate even in case of an ambiguity. This is surprising and brittle. For `-Ldependency=` we already blocked this since #110229, but the fix didn't account for sysroot crates. Should fix #147966
This comment has been minimized.
This comment has been minimized.
|
💔 Test failed - checks-actions |
|
@bors try jobs=dist-x86_64-msvc |
Don't leak sysroot crates through dependencies try-job: dist-x86_64-msvc
This comment has been minimized.
This comment has been minimized.
|
@rustbot ready |
|
@bors r+ |
…nkov Don't leak sysroot crates through dependencies Previously if a dependency of the current crate depended on a sysroot crate, then `extern crate` would in the current crate would pick the first loaded version of said sysroot crate even in case of an ambiguity. This is surprising and brittle. For `-Ldependency=` we already blocked this since #110229, but the fix didn't account for sysroot crates. Should fix #147966
|
The job Click to see the possible cause of the failure (guessed by this bot) |
|
💔 Test failed - checks-actions |
Previously if a dependency of the current crate depended on a sysroot crate, then
extern cratewould in the current crate would pick the first loaded version of said sysroot crate even in case of an ambiguity. This is surprising and brittle. For-Ldependency=we already blocked this since #110229, but the fix didn't account for sysroot crates.Should fix #147966