rust-lang / rust

Empowering everyone to build reliable and efficient software.
https://www.rust-lang.org
Other
93.93k stars 12.09k forks source link

regression: opaque types got hidden types registered from within subtype predicate #125192

Closed BoxyUwU closed 1 week ago

BoxyUwU commented 2 weeks ago
[INFO] [stderr] thread 'rustc' panicked at compiler/rustc_infer/src/infer/mod.rs:956:17:
[INFO] [stdout] error: internal compiler error: compiler/rustc_infer/src/infer/mod.rs:956:17: opaque types got hidden types registered from within subtype predicate: itertools::Either<Alias(Opaque, AliasTy { args: ['?52, '?14], def_id: DefId(0:28837 ~ smoldot[145d]::header::babe::{impl#3}::scale_encoding::{opaque#0}::{opaque#0}) }), [u8; 4_usize]> vs itertools::Either<Alias(Opaque, AliasTy { args: ['?39, '?14], def_id: DefId(0:28837 ~ smoldot[145d]::header::babe::{impl#3}::scale_encoding::{opaque#0}::{opaque#0}) }), [u8; 4_usize]>
[INFO] [stdout]   --> src/header/babe.rs:83:17
[INFO] [stdout]    |
[INFO] [stdout] 83 | /                 iter::once(either::Right(either::Left([1]))).chain(
[INFO] [stdout] 84 | |                     digest
[INFO] [stdout] 85 | |                         .scale_encoding()
[INFO] [stdout] 86 | |                         .map(either::Right)
[INFO] [stdout] 87 | |                         .map(either::Right),
[INFO] [stdout] 88 | |                 ),
[INFO] [stdout]    | |_________________^

probably #123979 cc @oli-obk @compiler-errors

compiler-errors commented 2 weeks ago

Yeah Matthias also found #123979. Think it hasn't been fixed b/c oli is on holiday -- I assume he will investigate when he's back next week.

lqd commented 2 weeks ago

MCVE in #124891

apiraino commented 1 week ago

WG-prioritization assigning priority (Zulip discussion).

I'll mark this as P-critical because it seems an unintended breaking change and therefore should probably be fixed before entering into stable.

@rustbot label -I-prioritize +P-critical