Skip to content

Commit 04789ef

Browse files
Merge #1844
1844: Support bare `Trait` without dyn r=flodiebold a=flodiebold Co-authored-by: Florian Diebold <[email protected]>
2 parents 4ed44c8 + dc935be commit 04789ef

File tree

2 files changed

+11
-12
lines changed

2 files changed

+11
-12
lines changed

crates/ra_hir/src/ty/lower.rs

+1-2
Original file line numberDiff line numberDiff line change
@@ -124,8 +124,7 @@ impl Ty {
124124
Ty::Unknown
125125
}
126126
} else {
127-
// FIXME dyn Trait without the dyn
128-
Ty::Unknown
127+
Ty::Dyn(Arc::new([GenericPredicate::Implemented(trait_ref)]))
129128
};
130129
}
131130
TypeNs::GenericParam(idx) => {

crates/ra_hir/src/ty/tests.rs

+10-10
Original file line numberDiff line numberDiff line change
@@ -3626,19 +3626,19 @@ fn test(x: Trait, y: &Trait) -> u64 {
36263626
@r###"
36273627
[27; 31) 'self': &Self
36283628
[61; 63) '{}': ()
3629-
[73; 74) 'x': {unknown}
3630-
[83; 84) 'y': &{unknown}
3629+
[73; 74) 'x': dyn Trait
3630+
[83; 84) 'y': &dyn Trait
36313631
[101; 176) '{ ...o(); }': ()
3632-
[107; 108) 'x': {unknown}
3633-
[114; 115) 'y': &{unknown}
3634-
[125; 126) 'z': {unknown}
3635-
[129; 132) 'bar': fn bar() -> {unknown}
3636-
[129; 134) 'bar()': {unknown}
3637-
[140; 141) 'x': {unknown}
3632+
[107; 108) 'x': dyn Trait
3633+
[114; 115) 'y': &dyn Trait
3634+
[125; 126) 'z': dyn Trait
3635+
[129; 132) 'bar': fn bar() -> dyn Trait
3636+
[129; 134) 'bar()': dyn Trait
3637+
[140; 141) 'x': dyn Trait
36383638
[140; 147) 'x.foo()': u64
3639-
[153; 154) 'y': &{unknown}
3639+
[153; 154) 'y': &dyn Trait
36403640
[153; 160) 'y.foo()': u64
3641-
[166; 167) 'z': {unknown}
3641+
[166; 167) 'z': dyn Trait
36423642
[166; 173) 'z.foo()': u64
36433643
"###
36443644
);

0 commit comments

Comments
 (0)