-
Notifications
You must be signed in to change notification settings - Fork 12.7k
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
Does not build with extended
on
#50328
Comments
This shouldn't be related to extended being turned on, and somewhat feels like maybe an incremental bug? Though that would be a bit odd as we don't expect stage1 artifacts to be incrementally compiled (since we're constantly changing the compiler anyway). |
@Mark-Simulacrum It doesn't happen with |
Hm, I don't see an immediate reason of how this could be caused by bootstrap, so let's cc @eddyb and @nikomatsakis who perhaps will recognize the error. Odd that it doesn't happen with/without extended, though. |
@alexcrichton or @nrc might know about this and a backtrace may show it's from save analysis. |
I've seen this on a lot of builds with debug-assertions enabled (but they're turned off by default), otherwise I'm not sure what this is |
@alexcrichton Yeah... I turned off
|
Oh that's expected, the miri tool (and some others) aren't guaranteed to always build |
Okay. Can I still use the resulting extended build as a rustup toolchain though, somehow? |
I don't know, but others might |
That would be good. Anyway, this is very weird. Now the extended build of
Also,
|
Okay, I've fixed the above in some PRs. :-) |
Current state:
|
The issue seems to be having an extern lang item inside a function:
I still don't know why the "extended" build changes anything though. |
No idea about |
Could it be that |
Yeah it will do that. In fact, it's how you test if you broke |
The specific case of extern "Rust" {
#[lang = "oom"]
fn oom_impl(layout: Layout) -> !;
} might be the cause for the backtrace in the #43982 OP and it seems to have been fixed. However, the |
… r=varkor save-analysis: Nest typeck tables when processing functions/methods Fixes an issue where we did not nest tables correctly when resolving associated types in formal argument/return type positions. This was the minimized reproduction case that I tested the fix on: ```rust pub trait Trait { type Assoc; } pub struct A; pub fn func() { fn _inner1<U: Trait>(_: U::Assoc) {} fn _inner2<U: Trait>() -> U::Assoc { unimplemented!() } impl A { fn _inner1<U: Trait>(self, _: U::Assoc) {} fn _inner2<U: Trait>(self) -> U::Assoc { unimplemented!() } } } ``` using `debug_assertions`-enabled rustc and by additionally passing `-Zsave-analysis`. Unfortunately the original assertion fired is a *debug* one and from what I can tell we don't run the tests with these on, so I'm not adding a test here. If I missed it and there is a way to run tests with these on, I'd love to add a test case for this. Closes rust-lang#63663 Closes rust-lang#50328 Closes rust-lang#43982
I have
extended = true
set inconfig.toml
, but this seems to be causing the build to fail (master HEAD at time of writing), where it wasn't before.Is this a bug in the build process?
I'm on macOS 10.13.4, incidentally.
The text was updated successfully, but these errors were encountered: