Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir-ty/src/tests/traits.rs')
| -rw-r--r-- | crates/hir-ty/src/tests/traits.rs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/crates/hir-ty/src/tests/traits.rs b/crates/hir-ty/src/tests/traits.rs index 7e6092f5b6..1201165cfa 100644 --- a/crates/hir-ty/src/tests/traits.rs +++ b/crates/hir-ty/src/tests/traits.rs @@ -4239,6 +4239,26 @@ impl Trait for () { type Assoc = E; fn f() { + let a = Self::Assoc::Unit; + // ^ E + let a = <Self>::Assoc::Unit; + // ^ E + let a = <Self::Assoc>::Unit; + // ^ E + let a = <<Self>::Assoc>::Unit; + // ^ E + + // should be `Copy` but we don't track ownership anyway. + let value = E::Unit; + if let Self::Assoc::Unit = value {} + // ^^^^^^^^^^^^^^^^^ E + if let <Self>::Assoc::Unit = value {} + // ^^^^^^^^^^^^^^^^^^^ E + if let <Self::Assoc>::Unit = value {} + // ^^^^^^^^^^^^^^^^^^^ E + if let <<Self>::Assoc>::Unit = value {} + // ^^^^^^^^^^^^^^^^^^^^^ E + let x = 42; let a = Self::Assoc::Struct { x }; // ^ E |