2024-04-15 06:37:09 -05:00
|
|
|
//! Since there is only one possible `bar` method, we invoke it and subsequently
|
|
|
|
//! constrain `foo`'s RPIT to `u32`.
|
2024-04-15 06:20:33 -05:00
|
|
|
|
|
|
|
//@ revisions: current next
|
|
|
|
//@[next] compile-flags: -Znext-solver
|
2024-04-15 06:37:09 -05:00
|
|
|
//@ check-pass
|
2024-04-15 06:20:33 -05:00
|
|
|
|
|
|
|
trait Trait {}
|
|
|
|
|
|
|
|
impl Trait for u32 {}
|
|
|
|
|
|
|
|
struct Bar<T>(T);
|
|
|
|
|
|
|
|
impl Bar<u32> {
|
|
|
|
fn bar(self) {}
|
|
|
|
}
|
|
|
|
|
|
|
|
fn foo(x: bool) -> Bar<impl Sized> {
|
|
|
|
if x {
|
|
|
|
let x = foo(false);
|
|
|
|
x.bar();
|
|
|
|
}
|
|
|
|
todo!()
|
|
|
|
}
|
|
|
|
|
|
|
|
fn main() {}
|