diff options
author | bors[bot] <26634292+bors[bot]@users.noreply.github.com> | 2019-12-15 20:08:12 +0000 |
---|---|---|
committer | GitHub <[email protected]> | 2019-12-15 20:08:12 +0000 |
commit | 0ef8ace012b19b76ee99b283801d0d17a3b72b4b (patch) | |
tree | 911458abbefcddd06e131c410bd1e1710e77ca95 /crates/ra_hir_ty/src/marks.rs | |
parent | 4e24b25c669965cf6a68c4b8e775cc83615d978a (diff) | |
parent | 91853590a9ee78406e892ca92305edef3a5b9213 (diff) |
Merge #2567
2567: Handle impl Trait more correctly r=flodiebold a=flodiebold
When calling a function, argument-position impl Trait is transparent; same for return-position impl Trait when inside the function.
So in these cases, we need to represent that type not by `Ty::Opaque`, but by a type variable that can be unified with whatever flows into there.
Co-authored-by: Florian Diebold <[email protected]>
Diffstat (limited to 'crates/ra_hir_ty/src/marks.rs')
-rw-r--r-- | crates/ra_hir_ty/src/marks.rs | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/crates/ra_hir_ty/src/marks.rs b/crates/ra_hir_ty/src/marks.rs index 0f754eb9c..fe74acf11 100644 --- a/crates/ra_hir_ty/src/marks.rs +++ b/crates/ra_hir_ty/src/marks.rs | |||
@@ -6,4 +6,5 @@ test_utils::marks!( | |||
6 | type_var_resolves_to_int_var | 6 | type_var_resolves_to_int_var |
7 | match_ergonomics_ref | 7 | match_ergonomics_ref |
8 | coerce_merge_fail_fallback | 8 | coerce_merge_fail_fallback |
9 | insert_vars_for_impl_trait | ||
9 | ); | 10 | ); |