diff options
author | bors[bot] <26634292+bors[bot]@users.noreply.github.com> | 2021-03-24 22:37:48 +0000 |
---|---|---|
committer | GitHub <[email protected]> | 2021-03-24 22:37:48 +0000 |
commit | d7db38fff9c251c36d0796309b43678bdf9e5bd8 (patch) | |
tree | 83b422d45c28e3ae9a2eac550ce8a6048bf5fd71 /crates/hir_ty/src/tests/traits.rs | |
parent | 9d81618f11eb403cc0644a22f30648393ec77cf6 (diff) | |
parent | d1156bb52e900c015afd490f509d744c7a5adf10 (diff) |
Merge #7907
7907: Autoderef with visibility r=cynecx a=cynecx
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/7841.
I am not sure about the general approach here. Right now this simply tries to check whether the autoderef candidate is reachable from the current module. ~~However this doesn't exactly work with traits (see the `tests::macros::infer_derive_clone_in_core` test, which fails right now).~~ see comment below
Refs:
- `rustc_typeck` checking fields: https://github.com/rust-lang/rust/blob/66ec64ccf31883cd2c28d045912a76179c0c6ed2/compiler/rustc_typeck/src/check/expr.rs#L1610
r? @flodiebold
Co-authored-by: cynecx <[email protected]>
Diffstat (limited to 'crates/hir_ty/src/tests/traits.rs')
-rw-r--r-- | crates/hir_ty/src/tests/traits.rs | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/crates/hir_ty/src/tests/traits.rs b/crates/hir_ty/src/tests/traits.rs index 45a1958e3..2ba97f814 100644 --- a/crates/hir_ty/src/tests/traits.rs +++ b/crates/hir_ty/src/tests/traits.rs | |||
@@ -187,8 +187,8 @@ mod iter { | |||
187 | mod collections { | 187 | mod collections { |
188 | struct Vec<T> {} | 188 | struct Vec<T> {} |
189 | impl<T> Vec<T> { | 189 | impl<T> Vec<T> { |
190 | fn new() -> Self { Vec {} } | 190 | pub fn new() -> Self { Vec {} } |
191 | fn push(&mut self, t: T) { } | 191 | pub fn push(&mut self, t: T) { } |
192 | } | 192 | } |
193 | 193 | ||
194 | impl<T> IntoIterator for Vec<T> { | 194 | impl<T> IntoIterator for Vec<T> { |