mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-02 15:32:06 +00:00
infer associated method in local scope
This commit is contained in:
parent
791722b70a
commit
7b952cb1aa
@ -227,7 +227,7 @@ impl<'a> InferenceContext<'a> {
|
||||
self.table.trait_env.clone(),
|
||||
krate,
|
||||
&traits_in_scope,
|
||||
None,
|
||||
self.resolver.module(),
|
||||
Some(name),
|
||||
method_resolution::LookupMode::Path,
|
||||
move |_ty, item| {
|
||||
|
@ -84,6 +84,37 @@ fn infer_associated_method_struct() {
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn infer_associated_method_struct_in_local_scope() {
|
||||
check_infer(
|
||||
r#"
|
||||
fn mismatch() {
|
||||
struct A;
|
||||
|
||||
impl A {
|
||||
fn from(_: i32, _: i32) -> Self {
|
||||
A
|
||||
}
|
||||
}
|
||||
|
||||
let _a = A::from(1, 2);
|
||||
}
|
||||
"#,
|
||||
expect![[r#"
|
||||
14..146 '{ ... 2); }': ()
|
||||
125..127 '_a': A
|
||||
130..137 'A::from': fn from(i32, i32) -> A
|
||||
130..143 'A::from(1, 2)': A
|
||||
138..139 '1': i32
|
||||
141..142 '2': i32
|
||||
60..61 '_': i32
|
||||
68..69 '_': i32
|
||||
84..109 '{ ... }': A
|
||||
98..99 'A': A
|
||||
"#]],
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn infer_associated_method_enum() {
|
||||
check_infer(
|
||||
|
Loading…
Reference in New Issue
Block a user