2024-07-10 09:03:20 -05:00
|
|
|
// Unlike in `super-trait-knowable-1.rs`, the knowable
|
|
|
|
// super trait bound is in a nested goal so this would not
|
|
|
|
// compile if we were to only elaborate root goals.
|
|
|
|
|
2024-09-21 02:02:51 -05:00
|
|
|
//@ check-pass
|
2024-07-10 09:03:20 -05:00
|
|
|
|
|
|
|
trait Super {}
|
|
|
|
trait Sub<T>: Super {}
|
|
|
|
|
|
|
|
struct W<T>(T);
|
|
|
|
trait Bound<T> {}
|
|
|
|
impl<T: Sub<U>, U> Bound<W<U>> for T {}
|
|
|
|
|
|
|
|
trait Overlap<T> {}
|
|
|
|
impl<T, U: Bound<W<T>>> Overlap<T> for U {}
|
|
|
|
impl<T> Overlap<T> for () {}
|
|
|
|
|
|
|
|
fn main() {}
|