summaryrefslogtreecommitdiffstats
path: root/tests/ui/union/projection-as-union-type-error-2.rs
blob: b88167b3b5459860e2fe4a12c5ab9df645dbfb57 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// Test to ensure that there is no ICE when normalizing a projection
// which is invalid (from <https://github.com/rust-lang/rust/pull/106938>).

#![crate_type = "lib"]

trait Identity {
    type Identity;
}
trait NotImplemented {}

impl<T: NotImplemented> Identity for T {
    type Identity = Self;
}

type Foo = u8;

union Bar {
    a: <Foo as Identity>::Identity, //~ ERROR
    b: u8,
}