//@ check-pass
//@ compile-flags: -Znext-solver
trait Reader: Default {
fn read_u8_array(&self) -> Result {
todo!()
}
fn read_u8(&self) -> Result {
let a: [u8; 1] = self.read_u8_array::<_>()?;
// This results in a nested ` as Try>::Residual: Sized` goal.
// The self type normalizes to `?0`. We previously did not force that to be
// ambiguous but instead incompletely applied the `Self: Sized` candidate
// from the `ParamEnv`, resulting in a type error.
Ok(a[0])
}
}
fn main() {}