// Checks that a sibling function (i.e. `foo`) cannot constrain | |
// an RPITIT from another function (`bar`). | |
trait Trait { | |
fn foo(); | |
fn bar() -> impl Sized; | |
} | |
impl Trait for () { | |
fn foo() { | |
let _: String = Self::bar(); | |
//~^ ERROR mismatched types | |
} | |
fn bar() -> impl Sized { | |
loop {} | |
} | |
} | |
fn main() {} |