rust-lang/rust

internal compiler error: expected `NodeId` to be lowered already for res Local...

Closed this issue · 5 comments

I'm seeing an internal compiler error on the following input (found by fuzz-rustc):

struct Inv<'a> {
    x: &'a u8
}
pub trait Foo {
    fn no_bound(b: Inv<(b)>);
}
$ rustc main.rs
error[E0573]: expected type, found local variable `b`
 --> main.rs:5:25
  |
5 |     fn no_bound(b: Inv<(b)>);
  |                         ^ not a type

thread 'rustc' panicked at 'expected `NodeId` to be lowered already for res Local(
    NodeId(21),
)', src/librustc_ast_lowering/lib.rs:662:17
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

error: internal compiler error: unexpected panic

note: the compiler unexpectedly panicked. this is a bug.

note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports

note: rustc 1.43.0-nightly (5d04ce67f 2020-02-13) running on x86_64-unknown-linux-gnu

error: aborting due to previous error

For more information about this error, try `rustc --explain E0573`.

Report from cargo-bisect-rustc:

searched nightlies: from nightly-2020-01-01 to nightly-2020-02-16
regressed nightly: nightly-2020-02-07
searched commits: from 58b8343 to 442ae7f
regressed commit: 442ae7f

It looks like #68788 caused the regression. (The error happens at 9a4eac3 but not at c9290dc.)
cc @Centril

The specific commit where the error starts happening is b2c6eeb.

triage: P-high. Removing nomination. Added regression stable-to-nightly tag.

Fixed by #69539.