From 5b05209744ce7dcd15f814482babbfd163553b57 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lauren=C8=9Biu=20Nicola?= Date: Tue, 18 Feb 2020 13:26:00 +0200 Subject: Exclude methods from non-parameter types introduced by generic constraints --- crates/ra_hir_ty/src/tests/method_resolution.rs | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'crates/ra_hir_ty/src/tests') diff --git a/crates/ra_hir_ty/src/tests/method_resolution.rs b/crates/ra_hir_ty/src/tests/method_resolution.rs index 1f767d324..644d59e17 100644 --- a/crates/ra_hir_ty/src/tests/method_resolution.rs +++ b/crates/ra_hir_ty/src/tests/method_resolution.rs @@ -1007,6 +1007,29 @@ fn test() { foo.call()<|>; } ); } +#[test] +fn method_resolution_non_parameter_type() { + let t = type_at( + r#" +//- /main.rs +mod a { + pub trait Foo { + fn foo(&self); + } +} + +struct Wrapper(T); +fn foo(t: Wrapper) +where + Wrapper: a::Foo, +{ + t.foo()<|>; +} +"#, + ); + assert_eq!(t, "{unknown}"); +} + #[test] fn method_resolution_slow() { // this can get quite slow if we set the solver size limit too high -- cgit v1.2.3