summaryrefslogtreecommitdiffstats
path: root/tests/ui/associated-type-bounds/supertrait-defines-ty.rs
blob: b6f37cb908e4edc6770cf9494cc6add44d73ce1c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// check-pass

// Make sure that we don't look into associated type bounds when looking for
// supertraits that define an associated type. Fixes #76593.

#![feature(associated_type_bounds)]

trait Load: Sized {
    type Blob;
}

trait Primitive: Load<Blob = Self> {}

trait BlobPtr: Primitive {}

trait CleanPtr: Load<Blob: BlobPtr> {
    fn to_blob(&self) -> Self::Blob;
}

impl Load for () {
    type Blob = Self;
}
impl Primitive for () {}
impl BlobPtr for () {}

fn main() {}