diff options
Diffstat (limited to '')
-rw-r--r-- | tests/ui/union/projection-as-union-type-error-2.rs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/ui/union/projection-as-union-type-error-2.rs b/tests/ui/union/projection-as-union-type-error-2.rs new file mode 100644 index 000000000..b88167b3b --- /dev/null +++ b/tests/ui/union/projection-as-union-type-error-2.rs @@ -0,0 +1,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, +} |