//@ compile-flags: -Znext-solver | |
// Test that we don't incorrectly leak unconstrained inference variables | |
// if the projection contained an error. This caused an ICE in writeback. | |
trait Mirror { | |
type Assoc: ?Sized; | |
} | |
struct Wrapper<T: ?Sized>(T); | |
impl<T: ?Sized> Mirror for Wrapper<T> { | |
type Assoc = T; | |
} | |
fn mirror<W: Mirror>(_: W) -> Box<W::Assoc> { todo!() } | |
fn type_error() -> TypeError { todo!() } | |
//~^ ERROR cannot find type `TypeError` in this scope | |
fn main() { | |
let x = mirror(type_error()); | |
} |