point to type param definition when not finding variant, method and assoc type
use `def_ident_span` , `body_owner_def_id` instead of `in_progress_typeck_results`, `guess_head_span` use `body_id.owner` directly add description to label
This commit is contained in:
parent
d40f24e956
commit
402dceba99
64 changed files with 168 additions and 125 deletions
|
@ -346,19 +346,26 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
|
|||
);
|
||||
}
|
||||
|
||||
if let Some(def) = actual.ty_adt_def() {
|
||||
if let Some(full_sp) = tcx.hir().span_if_local(def.did()) {
|
||||
let def_sp = tcx.sess.source_map().guess_head_span(full_sp);
|
||||
err.span_label(
|
||||
def_sp,
|
||||
format!(
|
||||
"{} `{}` not found {}",
|
||||
item_kind,
|
||||
item_name,
|
||||
if def.is_enum() && !is_method { "here" } else { "for this" }
|
||||
),
|
||||
);
|
||||
let ty_span = match actual.kind() {
|
||||
ty::Param(param_type) => {
|
||||
let generics = self.tcx.generics_of(self.body_id.owner.to_def_id());
|
||||
let type_param = generics.type_param(param_type, self.tcx);
|
||||
Some(self.tcx.def_span(type_param.def_id))
|
||||
}
|
||||
ty::Adt(def, _) if def.did().is_local() => {
|
||||
tcx.def_ident_span(def.did()).map(|span| span)
|
||||
}
|
||||
_ => None,
|
||||
};
|
||||
|
||||
if let Some(span) = ty_span {
|
||||
err.span_label(
|
||||
span,
|
||||
format!(
|
||||
"{item_kind} `{item_name}` not found for this {}",
|
||||
actual.prefix_string(self.tcx)
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
if self.is_fn_ty(rcvr_ty, span) {
|
||||
|
@ -1951,9 +1958,8 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
|
|||
)
|
||||
};
|
||||
// Obtain the span for `param` and use it for a structured suggestion.
|
||||
if let (Some(param), Some(table)) = (param_type, self.in_progress_typeck_results) {
|
||||
let table_owner = table.borrow().hir_owner;
|
||||
let generics = self.tcx.generics_of(table_owner.to_def_id());
|
||||
if let Some(param) = param_type {
|
||||
let generics = self.tcx.generics_of(self.body_id.owner.to_def_id());
|
||||
let type_param = generics.type_param(param, self.tcx);
|
||||
let hir = self.tcx.hir();
|
||||
if let Some(def_id) = type_param.def_id.as_local() {
|
||||
|
|
|
@ -2,7 +2,7 @@ error[E0599]: no variant or associated item named `mispellable` found for enum `
|
|||
--> $DIR/associated-item-enum.rs:17:11
|
||||
|
|
||||
LL | enum Enum { Variant }
|
||||
| --------- variant or associated item `mispellable` not found here
|
||||
| ---- variant or associated item `mispellable` not found for this enum
|
||||
...
|
||||
LL | Enum::mispellable();
|
||||
| ^^^^^^^^^^^
|
||||
|
@ -14,7 +14,7 @@ error[E0599]: no variant or associated item named `mispellable_trait` found for
|
|||
--> $DIR/associated-item-enum.rs:18:11
|
||||
|
|
||||
LL | enum Enum { Variant }
|
||||
| --------- variant or associated item `mispellable_trait` not found here
|
||||
| ---- variant or associated item `mispellable_trait` not found for this enum
|
||||
...
|
||||
LL | Enum::mispellable_trait();
|
||||
| ^^^^^^^^^^^^^^^^^
|
||||
|
@ -26,7 +26,7 @@ error[E0599]: no variant or associated item named `MISPELLABLE` found for enum `
|
|||
--> $DIR/associated-item-enum.rs:19:11
|
||||
|
|
||||
LL | enum Enum { Variant }
|
||||
| --------- variant or associated item `MISPELLABLE` not found here
|
||||
| ---- variant or associated item `MISPELLABLE` not found for this enum
|
||||
...
|
||||
LL | Enum::MISPELLABLE;
|
||||
| ^^^^^^^^^^^
|
||||
|
|
|
@ -2,7 +2,7 @@ error[E0599]: no method named `poll` found for struct `Sleep` in the current sco
|
|||
--> $DIR/pin-needed-to-poll.rs:42:20
|
||||
|
|
||||
LL | struct Sleep;
|
||||
| ------------- method `poll` not found for this
|
||||
| ----- method `poll` not found for this struct
|
||||
...
|
||||
LL | self.sleep.poll(cx)
|
||||
| ^^^^ method not found in `Sleep`
|
||||
|
|
|
@ -2,7 +2,7 @@ error[E0599]: no variant or associated item named `Hsl` found for enum `Color` i
|
|||
--> $DIR/bogus-tag.rs:7:16
|
||||
|
|
||||
LL | enum Color { Rgb(isize, isize, isize), Rgba(isize, isize, isize, isize), }
|
||||
| ---------- variant or associated item `Hsl` not found here
|
||||
| ----- variant or associated item `Hsl` not found for this enum
|
||||
...
|
||||
LL | Color::Hsl(h, s, l) => { println!("hsl"); }
|
||||
| ^^^ variant or associated item not found in `Color`
|
||||
|
|
|
@ -2,7 +2,7 @@ error[E0599]: no method named `closure` found for struct `Obj` in the current sc
|
|||
--> $DIR/issue-18343.rs:7:7
|
||||
|
|
||||
LL | struct Obj<F> where F: FnMut() -> u32 {
|
||||
| ------------------------------------- method `closure` not found for this
|
||||
| --- method `closure` not found for this struct
|
||||
...
|
||||
LL | o.closure();
|
||||
| ^^^^^^^ field, not a method
|
||||
|
|
|
@ -2,7 +2,7 @@ error[E0599]: no method named `closure` found for struct `Obj` in the current sc
|
|||
--> $DIR/issue-2392.rs:36:15
|
||||
|
|
||||
LL | struct Obj<F> where F: FnOnce() -> u32 {
|
||||
| -------------------------------------- method `closure` not found for this
|
||||
| --- method `closure` not found for this struct
|
||||
...
|
||||
LL | o_closure.closure();
|
||||
| ^^^^^^^ field, not a method
|
||||
|
@ -16,7 +16,7 @@ error[E0599]: no method named `not_closure` found for struct `Obj` in the curren
|
|||
--> $DIR/issue-2392.rs:38:15
|
||||
|
|
||||
LL | struct Obj<F> where F: FnOnce() -> u32 {
|
||||
| -------------------------------------- method `not_closure` not found for this
|
||||
| --- method `not_closure` not found for this struct
|
||||
...
|
||||
LL | o_closure.not_closure();
|
||||
| ^^^^^^^^^^^-- help: remove the arguments
|
||||
|
@ -27,7 +27,7 @@ error[E0599]: no method named `closure` found for struct `Obj` in the current sc
|
|||
--> $DIR/issue-2392.rs:42:12
|
||||
|
|
||||
LL | struct Obj<F> where F: FnOnce() -> u32 {
|
||||
| -------------------------------------- method `closure` not found for this
|
||||
| --- method `closure` not found for this struct
|
||||
...
|
||||
LL | o_func.closure();
|
||||
| ^^^^^^^ field, not a method
|
||||
|
@ -41,7 +41,7 @@ error[E0599]: no method named `boxed_closure` found for struct `BoxedObj` in the
|
|||
--> $DIR/issue-2392.rs:45:14
|
||||
|
|
||||
LL | struct BoxedObj {
|
||||
| --------------- method `boxed_closure` not found for this
|
||||
| -------- method `boxed_closure` not found for this struct
|
||||
...
|
||||
LL | boxed_fn.boxed_closure();
|
||||
| ^^^^^^^^^^^^^ field, not a method
|
||||
|
@ -55,7 +55,7 @@ error[E0599]: no method named `boxed_closure` found for struct `BoxedObj` in the
|
|||
--> $DIR/issue-2392.rs:48:19
|
||||
|
|
||||
LL | struct BoxedObj {
|
||||
| --------------- method `boxed_closure` not found for this
|
||||
| -------- method `boxed_closure` not found for this struct
|
||||
...
|
||||
LL | boxed_closure.boxed_closure();
|
||||
| ^^^^^^^^^^^^^ field, not a method
|
||||
|
@ -69,7 +69,7 @@ error[E0599]: no method named `closure` found for struct `Obj` in the current sc
|
|||
--> $DIR/issue-2392.rs:53:12
|
||||
|
|
||||
LL | struct Obj<F> where F: FnOnce() -> u32 {
|
||||
| -------------------------------------- method `closure` not found for this
|
||||
| --- method `closure` not found for this struct
|
||||
...
|
||||
LL | w.wrap.closure();
|
||||
| ^^^^^^^ field, not a method
|
||||
|
@ -83,7 +83,7 @@ error[E0599]: no method named `not_closure` found for struct `Obj` in the curren
|
|||
--> $DIR/issue-2392.rs:55:12
|
||||
|
|
||||
LL | struct Obj<F> where F: FnOnce() -> u32 {
|
||||
| -------------------------------------- method `not_closure` not found for this
|
||||
| --- method `not_closure` not found for this struct
|
||||
...
|
||||
LL | w.wrap.not_closure();
|
||||
| ^^^^^^^^^^^-- help: remove the arguments
|
||||
|
@ -94,7 +94,7 @@ error[E0599]: no method named `closure` found for struct `Obj` in the current sc
|
|||
--> $DIR/issue-2392.rs:58:24
|
||||
|
|
||||
LL | struct Obj<F> where F: FnOnce() -> u32 {
|
||||
| -------------------------------------- method `closure` not found for this
|
||||
| --- method `closure` not found for this struct
|
||||
...
|
||||
LL | check_expression().closure();
|
||||
| ^^^^^^^ field, not a method
|
||||
|
@ -108,7 +108,7 @@ error[E0599]: no method named `f1` found for struct `FuncContainer` in the curre
|
|||
--> $DIR/issue-2392.rs:64:31
|
||||
|
|
||||
LL | struct FuncContainer {
|
||||
| -------------------- method `f1` not found for this
|
||||
| ------------- method `f1` not found for this struct
|
||||
...
|
||||
LL | (*self.container).f1(1);
|
||||
| ^^ field, not a method
|
||||
|
@ -122,7 +122,7 @@ error[E0599]: no method named `f2` found for struct `FuncContainer` in the curre
|
|||
--> $DIR/issue-2392.rs:65:31
|
||||
|
|
||||
LL | struct FuncContainer {
|
||||
| -------------------- method `f2` not found for this
|
||||
| ------------- method `f2` not found for this struct
|
||||
...
|
||||
LL | (*self.container).f2(1);
|
||||
| ^^ field, not a method
|
||||
|
@ -136,7 +136,7 @@ error[E0599]: no method named `f3` found for struct `FuncContainer` in the curre
|
|||
--> $DIR/issue-2392.rs:66:31
|
||||
|
|
||||
LL | struct FuncContainer {
|
||||
| -------------------- method `f3` not found for this
|
||||
| ------------- method `f3` not found for this struct
|
||||
...
|
||||
LL | (*self.container).f3(1);
|
||||
| ^^ field, not a method
|
||||
|
|
|
@ -2,7 +2,7 @@ error[E0599]: no method named `example` found for struct `Example` in the curren
|
|||
--> $DIR/issue-32128.rs:12:10
|
||||
|
|
||||
LL | struct Example {
|
||||
| -------------- method `example` not found for this
|
||||
| ------- method `example` not found for this struct
|
||||
...
|
||||
LL | demo.example(1);
|
||||
| ^^^^^^^ field, not a method
|
||||
|
|
|
@ -2,7 +2,7 @@ error[E0599]: no method named `dog_age` found for struct `Dog` in the current sc
|
|||
--> $DIR/private-field.rs:16:23
|
||||
|
|
||||
LL | pub struct Dog {
|
||||
| -------------- method `dog_age` not found for this
|
||||
| --- method `dog_age` not found for this struct
|
||||
...
|
||||
LL | let dog_age = dog.dog_age();
|
||||
| ^^^^^^^ private field, not a method
|
||||
|
|
|
@ -8,7 +8,7 @@ error[E0599]: the function or associated item `foo` exists for struct `Foo<{_: u
|
|||
--> $DIR/issue-69654.rs:17:10
|
||||
|
|
||||
LL | struct Foo<const N: usize> {}
|
||||
| -------------------------- function or associated item `foo` not found for this
|
||||
| --- function or associated item `foo` not found for this struct
|
||||
...
|
||||
LL | Foo::foo();
|
||||
| ^^^ function or associated item cannot be called on `Foo<{_: usize}>` due to unsatisfied trait bounds
|
||||
|
|
|
@ -15,22 +15,16 @@ LL | [u8; size_of::<T>() + 1]: ,
|
|||
error[E0599]: the function or associated item `new` exists for struct `Inline<dyn Debug>`, but its trait bounds were not satisfied
|
||||
--> $DIR/issue-80742.rs:30:36
|
||||
|
|
||||
LL | / struct Inline<T>
|
||||
LL | | where
|
||||
LL | | [u8; size_of::<T>() + 1]: ,
|
||||
LL | | {
|
||||
LL | | _phantom: PhantomData<T>,
|
||||
LL | | buf: [u8; size_of::<T>() + 1],
|
||||
LL | | }
|
||||
| |_- function or associated item `new` not found for this
|
||||
LL | struct Inline<T>
|
||||
| ------ function or associated item `new` not found for this struct
|
||||
...
|
||||
LL | let dst = Inline::<dyn Debug>::new(0);
|
||||
| ^^^ function or associated item cannot be called on `Inline<dyn Debug>` due to unsatisfied trait bounds
|
||||
LL | let dst = Inline::<dyn Debug>::new(0);
|
||||
| ^^^ function or associated item cannot be called on `Inline<dyn Debug>` due to unsatisfied trait bounds
|
||||
|
|
||||
::: $SRC_DIR/core/src/fmt/mod.rs:LL:COL
|
||||
|
|
||||
LL | pub trait Debug {
|
||||
| --------------- doesn't satisfy `dyn Debug: Sized`
|
||||
LL | pub trait Debug {
|
||||
| --------------- doesn't satisfy `dyn Debug: Sized`
|
||||
|
|
||||
= note: the following trait bounds were not satisfied:
|
||||
`dyn Debug: Sized`
|
||||
|
|
|
@ -16,7 +16,7 @@ error[E0599]: no method named `f` found for struct `S` in the current scope
|
|||
--> $DIR/invalid-const-arg-for-type-param.rs:9:7
|
||||
|
|
||||
LL | struct S;
|
||||
| --------- method `f` not found for this
|
||||
| - method `f` not found for this struct
|
||||
...
|
||||
LL | S.f::<0>();
|
||||
| ^ method not found in `S`
|
||||
|
|
|
@ -2,7 +2,7 @@ error[E0599]: no function or associated item named `assert` found for struct `Bo
|
|||
--> $DIR/const-needs_drop-monomorphic.rs:11:46
|
||||
|
|
||||
LL | struct Bool<const B: bool> {}
|
||||
| -------------------------- function or associated item `assert` not found for this
|
||||
| ---- function or associated item `assert` not found for this struct
|
||||
...
|
||||
LL | Bool::<{ std::mem::needs_drop::<T>() }>::assert();
|
||||
| ^^^^^^ function or associated item cannot be called on `Bool<{ std::mem::needs_drop::<T>() }>` due to unsatisfied trait bounds
|
||||
|
|
|
@ -2,7 +2,7 @@ error[E0599]: no method named `clone` found for struct `Foo` in the current scop
|
|||
--> $DIR/copy-a-resource.rs:18:16
|
||||
|
|
||||
LL | struct Foo {
|
||||
| ---------- method `clone` not found for this
|
||||
| --- method `clone` not found for this struct
|
||||
...
|
||||
LL | let _y = x.clone();
|
||||
| ^^^^^ method not found in `Foo`
|
||||
|
|
|
@ -3,8 +3,8 @@ error[E0599]: the method `clone` exists for struct `Bar<NotClone>`, but its trai
|
|||
|
|
||||
LL | struct Bar<T: Foo> {
|
||||
| ------------------
|
||||
| |
|
||||
| method `clone` not found for this
|
||||
| | |
|
||||
| | method `clone` not found for this struct
|
||||
| doesn't satisfy `Bar<NotClone>: Clone`
|
||||
...
|
||||
LL | struct NotClone;
|
||||
|
|
|
@ -37,7 +37,7 @@ LL | pub struct NoDerives;
|
|||
| --------------------- doesn't satisfy `NoDerives: Clone`
|
||||
...
|
||||
LL | struct Object<T, A>(T, A);
|
||||
| -------------------------- method `use_clone` not found for this
|
||||
| ------ method `use_clone` not found for this struct
|
||||
...
|
||||
LL | foo.use_clone();
|
||||
| ^^^^^^^^^ method cannot be called on `Object<NoDerives, SomeDerives>` due to unsatisfied trait bounds
|
||||
|
|
|
@ -25,7 +25,7 @@ LL | pub struct NoDerives;
|
|||
| --------------------- doesn't satisfy `NoDerives: Eq`
|
||||
LL |
|
||||
LL | struct Object<T>(T);
|
||||
| -------------------- method `use_eq` not found for this
|
||||
| ------ method `use_eq` not found for this struct
|
||||
...
|
||||
LL | foo.use_eq();
|
||||
| ^^^^^^ method cannot be called on `Object<NoDerives>` due to unsatisfied trait bounds
|
||||
|
@ -44,7 +44,7 @@ LL | pub struct NoDerives;
|
|||
| --------------------- doesn't satisfy `NoDerives: Ord`
|
||||
LL |
|
||||
LL | struct Object<T>(T);
|
||||
| -------------------- method `use_ord` not found for this
|
||||
| ------ method `use_ord` not found for this struct
|
||||
...
|
||||
LL | foo.use_ord();
|
||||
| ^^^^^^^ method cannot be called on `Object<NoDerives>` due to unsatisfied trait bounds
|
||||
|
@ -66,7 +66,7 @@ LL | pub struct NoDerives;
|
|||
| doesn't satisfy `NoDerives: PartialOrd`
|
||||
LL |
|
||||
LL | struct Object<T>(T);
|
||||
| -------------------- method `use_ord_and_partial_ord` not found for this
|
||||
| ------ method `use_ord_and_partial_ord` not found for this struct
|
||||
...
|
||||
LL | foo.use_ord_and_partial_ord();
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^ method cannot be called on `Object<NoDerives>` due to unsatisfied trait bounds
|
||||
|
|
|
@ -88,7 +88,7 @@ error[E0599]: no method named `hello_method` found for struct `S` in the current
|
|||
--> $DIR/issue-40006.rs:38:7
|
||||
|
|
||||
LL | struct S;
|
||||
| --------- method `hello_method` not found for this
|
||||
| - method `hello_method` not found for this struct
|
||||
...
|
||||
LL | S.hello_method();
|
||||
| ^^^^^^^^^^^^ method not found in `S`
|
||||
|
|
|
@ -2,7 +2,7 @@ error[E0599]: no function or associated item named `new` found for struct `T` in
|
|||
--> $DIR/dont-suggest-private-trait-method.rs:4:8
|
||||
|
|
||||
LL | struct T;
|
||||
| --------- function or associated item `new` not found for this
|
||||
| - function or associated item `new` not found for this struct
|
||||
...
|
||||
LL | T::new();
|
||||
| ^^^ function or associated item not found in `T`
|
||||
|
|
|
@ -2,7 +2,7 @@ error[E0599]: no associated item named `NotEvenReal` found for struct `Foo` in t
|
|||
--> $DIR/E0599.rs:4:20
|
||||
|
|
||||
LL | struct Foo;
|
||||
| ----------- associated item `NotEvenReal` not found for this
|
||||
| --- associated item `NotEvenReal` not found for this struct
|
||||
...
|
||||
LL | || if let Foo::NotEvenReal() = Foo {};
|
||||
| ^^^^^^^^^^^ associated item not found in `Foo`
|
||||
|
|
|
@ -3,8 +3,8 @@ error[E0599]: the method `f` exists for struct `S`, but its trait bounds were no
|
|||
|
|
||||
LL | struct S;
|
||||
| ---------
|
||||
| |
|
||||
| method `f` not found for this
|
||||
| | |
|
||||
| | method `f` not found for this struct
|
||||
| doesn't satisfy `<S as X>::Y<i32> = i32`
|
||||
| doesn't satisfy `S: M`
|
||||
...
|
||||
|
|
|
@ -3,8 +3,8 @@ error[E0599]: the method `filterx` exists for struct `Map<Repeat, [closure@$DIR/
|
|||
|
|
||||
LL | pub struct Map<S, F> {
|
||||
| --------------------
|
||||
| |
|
||||
| method `filterx` not found for this
|
||||
| | |
|
||||
| | method `filterx` not found for this struct
|
||||
| doesn't satisfy `_: StreamExt`
|
||||
...
|
||||
LL | let filter = map.filterx(|x: &_| true);
|
||||
|
@ -28,8 +28,8 @@ error[E0599]: the method `countx` exists for struct `Filter<Map<Repeat, for<'r>
|
|||
|
|
||||
LL | pub struct Filter<S, F> {
|
||||
| -----------------------
|
||||
| |
|
||||
| method `countx` not found for this
|
||||
| | |
|
||||
| | method `countx` not found for this struct
|
||||
| doesn't satisfy `_: StreamExt`
|
||||
...
|
||||
LL | let count = filter.countx();
|
||||
|
|
|
@ -2,7 +2,7 @@ error[E0599]: no method named `foo` found for struct `Bar` in the current scope
|
|||
--> $DIR/issue-21659-show-relevant-trait-impls-3.rs:20:8
|
||||
|
|
||||
LL | struct Bar;
|
||||
| ----------- method `foo` not found for this
|
||||
| --- method `foo` not found for this struct
|
||||
...
|
||||
LL | f1.foo(1usize);
|
||||
| ^^^ method not found in `Bar`
|
||||
|
|
|
@ -21,7 +21,7 @@ LL | pub struct RawImpl<T>(PhantomData<T>);
|
|||
| -------------------------------------- doesn't satisfy `RawImpl<()>: Raw<()>`
|
||||
...
|
||||
LL | pub struct SafeImpl<T: ?Sized, A: Raw<T>>(PhantomData<(A, T)>);
|
||||
| --------------------------------------------------------------- function or associated item `foo` not found for this
|
||||
| -------- function or associated item `foo` not found for this struct
|
||||
|
|
||||
= note: the following trait bounds were not satisfied:
|
||||
`RawImpl<()>: Raw<()>`
|
||||
|
|
|
@ -2,7 +2,7 @@ error[E0599]: no method named `is_empty` found for struct `Foo` in the current s
|
|||
--> $DIR/method-suggestion-no-duplication.rs:7:15
|
||||
|
|
||||
LL | struct Foo;
|
||||
| ----------- method `is_empty` not found for this
|
||||
| --- method `is_empty` not found for this struct
|
||||
...
|
||||
LL | foo(|s| s.is_empty());
|
||||
| ^^^^^^^^ method not found in `Foo`
|
||||
|
|
|
@ -94,7 +94,7 @@ error[E0599]: no method named `method` found for struct `Foo` in the current sco
|
|||
--> $DIR/no-method-suggested-traits.rs:40:9
|
||||
|
|
||||
LL | struct Foo;
|
||||
| ----------- method `method` not found for this
|
||||
| --- method `method` not found for this struct
|
||||
...
|
||||
LL | Foo.method();
|
||||
| ^^^^^^ method not found in `Foo`
|
||||
|
@ -201,7 +201,7 @@ error[E0599]: no method named `method3` found for struct `Foo` in the current sc
|
|||
--> $DIR/no-method-suggested-traits.rs:59:9
|
||||
|
|
||||
LL | struct Foo;
|
||||
| ----------- method `method3` not found for this
|
||||
| --- method `method3` not found for this struct
|
||||
...
|
||||
LL | Foo.method3();
|
||||
| ^^^^^^^ method not found in `Foo`
|
||||
|
@ -224,7 +224,7 @@ error[E0599]: no method named `method3` found for enum `Bar` in the current scop
|
|||
--> $DIR/no-method-suggested-traits.rs:63:12
|
||||
|
|
||||
LL | enum Bar { X }
|
||||
| -------- method `method3` not found for this
|
||||
| --- method `method3` not found for this enum
|
||||
...
|
||||
LL | Bar::X.method3();
|
||||
| ^^^^^^^ method not found in `Bar`
|
||||
|
|
|
@ -43,7 +43,7 @@ error[E0599]: no method named `bar` found for struct `Foo` in the current scope
|
|||
--> $DIR/infinite-autoderef.rs:25:9
|
||||
|
|
||||
LL | struct Foo;
|
||||
| ----------- method `bar` not found for this
|
||||
| --- method `bar` not found for this struct
|
||||
...
|
||||
LL | Foo.bar();
|
||||
| ^^^ method not found in `Foo`
|
||||
|
|
|
@ -2,7 +2,7 @@ error[E0599]: no method named `kaname` found for struct `Homura` in the current
|
|||
--> $DIR/issue-19692.rs:4:40
|
||||
|
|
||||
LL | struct Homura;
|
||||
| -------------- method `kaname` not found for this
|
||||
| ------ method `kaname` not found for this struct
|
||||
...
|
||||
LL | let Some(ref madoka) = Some(homura.kaname());
|
||||
| ^^^^^^ method not found in `Homura`
|
||||
|
|
|
@ -2,7 +2,7 @@ error[E0599]: no variant or associated item named `PIE` found for enum `Deliciou
|
|||
--> $DIR/issue-22933-2.rs:4:55
|
||||
|
|
||||
LL | enum Delicious {
|
||||
| -------------- variant or associated item `PIE` not found here
|
||||
| --------- variant or associated item `PIE` not found for this enum
|
||||
...
|
||||
LL | ApplePie = Delicious::Apple as isize | Delicious::PIE as isize,
|
||||
| ^^^
|
||||
|
|
|
@ -2,7 +2,7 @@ error[E0599]: no variant or associated item named `Homura` found for enum `Token
|
|||
--> $DIR/issue-23173.rs:9:23
|
||||
|
|
||||
LL | enum Token { LeftParen, RightParen, Plus, Minus, /* etc */ }
|
||||
| ---------- variant or associated item `Homura` not found here
|
||||
| ----- variant or associated item `Homura` not found for this enum
|
||||
...
|
||||
LL | use_token(&Token::Homura);
|
||||
| ^^^^^^ variant or associated item not found in `Token`
|
||||
|
@ -11,7 +11,7 @@ error[E0599]: no function or associated item named `method` found for struct `St
|
|||
--> $DIR/issue-23173.rs:10:13
|
||||
|
|
||||
LL | struct Struct {
|
||||
| ------------- function or associated item `method` not found for this
|
||||
| ------ function or associated item `method` not found for this struct
|
||||
...
|
||||
LL | Struct::method();
|
||||
| ^^^^^^ function or associated item not found in `Struct`
|
||||
|
@ -20,7 +20,7 @@ error[E0599]: no function or associated item named `method` found for struct `St
|
|||
--> $DIR/issue-23173.rs:11:13
|
||||
|
|
||||
LL | struct Struct {
|
||||
| ------------- function or associated item `method` not found for this
|
||||
| ------ function or associated item `method` not found for this struct
|
||||
...
|
||||
LL | Struct::method;
|
||||
| ^^^^^^ function or associated item not found in `Struct`
|
||||
|
@ -29,7 +29,7 @@ error[E0599]: no associated item named `Assoc` found for struct `Struct` in the
|
|||
--> $DIR/issue-23173.rs:12:13
|
||||
|
|
||||
LL | struct Struct {
|
||||
| ------------- associated item `Assoc` not found for this
|
||||
| ------ associated item `Assoc` not found for this struct
|
||||
...
|
||||
LL | Struct::Assoc;
|
||||
| ^^^^^ associated item not found in `Struct`
|
||||
|
|
|
@ -2,7 +2,7 @@ error[E0599]: no variant or associated item named `A` found for enum `SomeEnum`
|
|||
--> $DIR/issue-23217.rs:2:19
|
||||
|
|
||||
LL | pub enum SomeEnum {
|
||||
| ----------------- variant or associated item `A` not found here
|
||||
| -------- variant or associated item `A` not found for this enum
|
||||
LL | B = SomeEnum::A,
|
||||
| ^
|
||||
| |
|
||||
|
|
|
@ -2,7 +2,7 @@ error[E0599]: no method named `clone` found for struct `C` in the current scope
|
|||
--> $DIR/issue-2823.rs:13:16
|
||||
|
|
||||
LL | struct C {
|
||||
| -------- method `clone` not found for this
|
||||
| - method `clone` not found for this struct
|
||||
...
|
||||
LL | let _d = c.clone();
|
||||
| ^^^^^ method not found in `C`
|
||||
|
|
|
@ -2,7 +2,7 @@ error[E0599]: no variant or associated item named `Baz` found for enum `Foo` in
|
|||
--> $DIR/issue-28971.rs:7:18
|
||||
|
|
||||
LL | enum Foo {
|
||||
| -------- variant or associated item `Baz` not found here
|
||||
| --- variant or associated item `Baz` not found for this enum
|
||||
...
|
||||
LL | Foo::Baz(..) => (),
|
||||
| ^^^
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
error[E0599]: no associated item named `Item` found for type parameter `T` in the current scope
|
||||
--> $DIR/issue-38919.rs:2:8
|
||||
|
|
||||
LL | fn foo<T: Iterator>() {
|
||||
| - associated item `Item` not found for this type parameter
|
||||
LL | T::Item;
|
||||
| ^^^^ associated item not found in `T`
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@ error[E0599]: no method named `iter` found for struct `Iterate` in the current s
|
|||
--> $DIR/issue-41880.rs:27:24
|
||||
|
|
||||
LL | pub struct Iterate<T, F> {
|
||||
| ------------------------ method `iter` not found for this
|
||||
| ------- method `iter` not found for this struct
|
||||
...
|
||||
LL | println!("{:?}", a.iter().take(10).collect::<Vec<usize>>());
|
||||
| ^^^^ method not found in `Iterate<{integer}, [closure@$DIR/issue-41880.rs:26:24: 26:31]>`
|
||||
|
|
|
@ -2,7 +2,7 @@ error[E0599]: no method named `bar` found for struct `Foo` in the current scope
|
|||
--> $DIR/issue-64430.rs:7:9
|
||||
|
|
||||
LL | pub struct Foo;
|
||||
| --------------- method `bar` not found for this
|
||||
| --- method `bar` not found for this struct
|
||||
...
|
||||
LL | Foo.bar()
|
||||
| ^^^ method not found in `Foo`
|
||||
|
|
|
@ -2,7 +2,7 @@ error[E0599]: no function or associated item named `bar` found for struct `Foo`
|
|||
--> $DIR/issue-7950.rs:6:10
|
||||
|
|
||||
LL | struct Foo;
|
||||
| ----------- function or associated item `bar` not found for this
|
||||
| --- function or associated item `bar` not found for this struct
|
||||
...
|
||||
LL | Foo::bar();
|
||||
| ^^^ function or associated item not found in `Foo`
|
||||
|
|
|
@ -7,6 +7,8 @@ LL | let t = T { i: 0 };
|
|||
error[E0599]: no function or associated item named `f` found for type parameter `Foo` in the current scope
|
||||
--> $DIR/lexical-scopes.rs:10:10
|
||||
|
|
||||
LL | fn g<Foo>() {
|
||||
| --- function or associated item `f` not found for this type parameter
|
||||
LL | Foo::f();
|
||||
| ^ function or associated item not found in `Foo`
|
||||
|
||||
|
|
|
@ -51,8 +51,8 @@ error[E0599]: `Foo` is not an iterator
|
|||
|
|
||||
LL | pub struct Foo;
|
||||
| ---------------
|
||||
| |
|
||||
| method `take` not found for this
|
||||
| | |
|
||||
| | method `take` not found for this struct
|
||||
| doesn't satisfy `Foo: Iterator`
|
||||
...
|
||||
LL | .take()
|
||||
|
|
|
@ -2,7 +2,7 @@ error[E0599]: no method named `distance` found for struct `Point<i32>` in the cu
|
|||
--> $DIR/method-not-found-generic-arg-elision.rs:82:23
|
||||
|
|
||||
LL | struct Point<T> {
|
||||
| --------------- method `distance` not found for this
|
||||
| ----- method `distance` not found for this struct
|
||||
...
|
||||
LL | let d = point_i32.distance();
|
||||
| ^^^^^^^^ method not found in `Point<i32>`
|
||||
|
@ -14,7 +14,7 @@ error[E0599]: no method named `other` found for struct `Point` in the current sc
|
|||
--> $DIR/method-not-found-generic-arg-elision.rs:84:23
|
||||
|
|
||||
LL | struct Point<T> {
|
||||
| --------------- method `other` not found for this
|
||||
| ----- method `other` not found for this struct
|
||||
...
|
||||
LL | let d = point_i32.other();
|
||||
| ^^^^^ method not found in `Point<i32>`
|
||||
|
@ -29,7 +29,7 @@ error[E0599]: no method named `method` found for struct `Wrapper<bool>` in the c
|
|||
--> $DIR/method-not-found-generic-arg-elision.rs:90:13
|
||||
|
|
||||
LL | struct Wrapper<T>(T);
|
||||
| --------------------- method `method` not found for this
|
||||
| ------- method `method` not found for this struct
|
||||
...
|
||||
LL | wrapper.method();
|
||||
| ^^^^^^ method not found in `Wrapper<bool>`
|
||||
|
@ -45,7 +45,7 @@ error[E0599]: no method named `other` found for struct `Wrapper` in the current
|
|||
--> $DIR/method-not-found-generic-arg-elision.rs:92:13
|
||||
|
|
||||
LL | struct Wrapper<T>(T);
|
||||
| --------------------- method `other` not found for this
|
||||
| ------- method `other` not found for this struct
|
||||
...
|
||||
LL | wrapper.other();
|
||||
| ^^^^^ method not found in `Wrapper<bool>`
|
||||
|
@ -54,7 +54,7 @@ error[E0599]: no method named `method` found for struct `Wrapper2<'_, bool, 3_us
|
|||
--> $DIR/method-not-found-generic-arg-elision.rs:96:13
|
||||
|
|
||||
LL | struct Wrapper2<'a, T, const C: usize> {
|
||||
| -------------------------------------- method `method` not found for this
|
||||
| -------- method `method` not found for this struct
|
||||
...
|
||||
LL | wrapper.method();
|
||||
| ^^^^^^ method not found in `Wrapper2<'_, bool, 3_usize>`
|
||||
|
@ -68,7 +68,7 @@ error[E0599]: no method named `other` found for struct `Wrapper2` in the current
|
|||
--> $DIR/method-not-found-generic-arg-elision.rs:98:13
|
||||
|
|
||||
LL | struct Wrapper2<'a, T, const C: usize> {
|
||||
| -------------------------------------- method `other` not found for this
|
||||
| -------- method `other` not found for this struct
|
||||
...
|
||||
LL | wrapper.other();
|
||||
| ^^^^^ method not found in `Wrapper2<'_, bool, 3_usize>`
|
||||
|
@ -83,7 +83,7 @@ error[E0599]: the method `method` exists for struct `Struct<f64>`, but its trait
|
|||
--> $DIR/method-not-found-generic-arg-elision.rs:104:7
|
||||
|
|
||||
LL | struct Struct<T>{
|
||||
| ---------------- method `method` not found for this
|
||||
| ------ method `method` not found for this struct
|
||||
...
|
||||
LL | s.method();
|
||||
| ^^^^^^ method cannot be called on `Struct<f64>` due to unsatisfied trait bounds
|
||||
|
|
|
@ -2,7 +2,7 @@ error[E0599]: no method named `clone` found for struct `Foo` in the current scop
|
|||
--> $DIR/noncopyable-class.rs:34:16
|
||||
|
|
||||
LL | struct Foo {
|
||||
| ---------- method `clone` not found for this
|
||||
| --- method `clone` not found for this struct
|
||||
...
|
||||
LL | let _y = x.clone();
|
||||
| ^^^^^ method not found in `Foo`
|
||||
|
|
|
@ -77,7 +77,7 @@ error[E0599]: no function or associated item named `full_of✨` found for struct
|
|||
--> $DIR/emoji-identifiers.rs:9:8
|
||||
|
|
||||
LL | struct 👀;
|
||||
| ---------- function or associated item `full_of✨` not found for this
|
||||
| -- function or associated item `full_of✨` not found for this struct
|
||||
...
|
||||
LL | 👀::full_of✨()
|
||||
| ^^^^^^^^^
|
||||
|
|
|
@ -2,7 +2,7 @@ error[E0599]: no function or associated item named `deserialize` found for struc
|
|||
--> $DIR/issue-87932.rs:13:8
|
||||
|
|
||||
LL | pub struct A {}
|
||||
| ------------ function or associated item `deserialize` not found for this
|
||||
| - function or associated item `deserialize` not found for this struct
|
||||
...
|
||||
LL | A::deserialize();
|
||||
| ^^^^^^^^^^^ function or associated item not found in `A`
|
||||
|
|
|
@ -2,7 +2,7 @@ error[E0599]: no method named `foo` found for struct `A` in the current scope
|
|||
--> $DIR/point-at-arbitrary-self-type-method.rs:8:7
|
||||
|
|
||||
LL | struct A;
|
||||
| --------- method `foo` not found for this
|
||||
| - method `foo` not found for this struct
|
||||
...
|
||||
LL | fn foo(self: Box<Self>) {}
|
||||
| --- the method is available for `Box<A>` here
|
||||
|
|
|
@ -6,7 +6,7 @@ LL | trait B { fn foo(self: Box<Self>); }
|
|||
| |
|
||||
| the method is available for `Box<A>` here
|
||||
LL | struct A;
|
||||
| --------- method `foo` not found for this
|
||||
| - method `foo` not found for this struct
|
||||
...
|
||||
LL | A.foo()
|
||||
| ^^^ method not found in `A`
|
||||
|
|
|
@ -42,7 +42,7 @@ error[E0599]: no method named `fff` found for struct `Myisize` in the current sc
|
|||
--> $DIR/issue-7575.rs:62:30
|
||||
|
|
||||
LL | struct Myisize(isize);
|
||||
| ---------------------- method `fff` not found for this
|
||||
| ------- method `fff` not found for this struct
|
||||
...
|
||||
LL | u.f8(42) + u.f9(342) + m.fff(42)
|
||||
| --^^^
|
||||
|
@ -60,6 +60,8 @@ LL | fn fff(i: isize) -> isize {
|
|||
error[E0599]: no method named `is_str` found for type parameter `T` in the current scope
|
||||
--> $DIR/issue-7575.rs:70:7
|
||||
|
|
||||
LL | fn param_bound<T: ManyImplTrait>(t: T) -> bool {
|
||||
| - method `is_str` not found for this type parameter
|
||||
LL | t.is_str()
|
||||
| ^^^^^^ this is an associated function, not a method
|
||||
|
|
||||
|
|
|
@ -13,8 +13,8 @@ error[E0599]: the method `foo_one` exists for struct `MyStruct`, but its trait b
|
|||
|
|
||||
LL | struct MyStruct;
|
||||
| ----------------
|
||||
| |
|
||||
| method `foo_one` not found for this
|
||||
| | |
|
||||
| | method `foo_one` not found for this struct
|
||||
| doesn't satisfy `MyStruct: Foo`
|
||||
...
|
||||
LL | println!("{}", MyStruct.foo_one());
|
||||
|
|
|
@ -11,7 +11,7 @@ LL | enum CloneEnum {
|
|||
| -------------- doesn't satisfy `CloneEnum: Default`
|
||||
...
|
||||
LL | struct Foo<X, Y> (X, Y);
|
||||
| ------------------------ method `test` not found for this
|
||||
| --- method `test` not found for this struct
|
||||
...
|
||||
LL | let y = x.test();
|
||||
| ^^^^ method cannot be called on `Foo<Enum, CloneEnum>` due to unsatisfied trait bounds
|
||||
|
@ -49,7 +49,7 @@ LL | struct CloneStruct {
|
|||
| ------------------ doesn't satisfy `CloneStruct: Default`
|
||||
...
|
||||
LL | struct Foo<X, Y> (X, Y);
|
||||
| ------------------------ method `test` not found for this
|
||||
| --- method `test` not found for this struct
|
||||
...
|
||||
LL | let y = x.test();
|
||||
| ^^^^ method cannot be called on `Foo<Struct, CloneStruct>` due to unsatisfied trait bounds
|
||||
|
@ -71,7 +71,7 @@ error[E0599]: the method `test` exists for struct `Foo<Vec<Enum>, Instant>`, but
|
|||
--> $DIR/derive-trait-for-method-call.rs:40:15
|
||||
|
|
||||
LL | struct Foo<X, Y> (X, Y);
|
||||
| ------------------------ method `test` not found for this
|
||||
| --- method `test` not found for this struct
|
||||
...
|
||||
LL | let y = x.test();
|
||||
| ^^^^ method cannot be called on `Foo<Vec<Enum>, Instant>` due to unsatisfied trait bounds
|
||||
|
|
|
@ -2,7 +2,7 @@ error[E0599]: no method named `pick` found for struct `Chaenomeles` in the curre
|
|||
--> $DIR/dont-wrap-ambiguous-receivers.rs:18:25
|
||||
|
|
||||
LL | pub struct Chaenomeles;
|
||||
| ----------------------- method `pick` not found for this
|
||||
| ----------- method `pick` not found for this struct
|
||||
...
|
||||
LL | banana::Chaenomeles.pick()
|
||||
| ^^^^ method not found in `Chaenomeles`
|
||||
|
|
|
@ -2,7 +2,7 @@ error[E0599]: no method named `kind` found for struct `InferOk` in the current s
|
|||
--> $DIR/field-has-method.rs:19:15
|
||||
|
|
||||
LL | struct InferOk<T> {
|
||||
| ----------------- method `kind` not found for this
|
||||
| ------- method `kind` not found for this struct
|
||||
...
|
||||
LL | let k = i.kind();
|
||||
| ^^^^ method not found in `InferOk<Ty>`
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
error[E0599]: no method named `hello` found for type parameter `impl Foo` in the current scope
|
||||
--> $DIR/impl-trait-with-missing-trait-bounds-in-arg.rs:15:9
|
||||
|
|
||||
LL | fn test(foo: impl Foo) {
|
||||
| -------- method `hello` not found for this type parameter
|
||||
LL | foo.hello();
|
||||
| ^^^^^ method not found in `impl Foo`
|
||||
|
|
||||
|
|
|
@ -13,6 +13,8 @@ LL | fn call_method<T: std::fmt::Debug + Foo>(x: &T) {
|
|||
error[E0599]: no method named `method` found for type parameter `T` in the current scope
|
||||
--> $DIR/issue-21673.rs:10:7
|
||||
|
|
||||
LL | fn call_method_2<T>(x: T) {
|
||||
| - method `method` not found for this type parameter
|
||||
LL | x.method()
|
||||
| ^^^^^^ method not found in `T`
|
||||
|
|
||||
|
|
|
@ -2,7 +2,7 @@ error[E0599]: no method named `default_hello` found for struct `GenericAssocMeth
|
|||
--> $DIR/suggest-assoc-fn-call-with-turbofish.rs:9:7
|
||||
|
|
||||
LL | struct GenericAssocMethod<T>(T);
|
||||
| -------------------------------- method `default_hello` not found for this
|
||||
| ------------------ method `default_hello` not found for this struct
|
||||
...
|
||||
LL | x.default_hello();
|
||||
| --^^^^^^^^^^^^^
|
||||
|
|
|
@ -2,7 +2,7 @@ error[E0599]: no method named `bat` found for struct `Foo` in the current scope
|
|||
--> $DIR/suggest-methods.rs:18:7
|
||||
|
|
||||
LL | struct Foo;
|
||||
| ----------- method `bat` not found for this
|
||||
| --- method `bat` not found for this struct
|
||||
...
|
||||
LL | f.bat(1.0);
|
||||
| ^^^ help: there is an associated function with a similar name: `bar`
|
||||
|
|
|
@ -29,7 +29,7 @@ error[E0599]: no variant or associated item named `Squareee` found for enum `Sha
|
|||
--> $DIR/suggest-variants.rs:15:12
|
||||
|
|
||||
LL | enum Shape {
|
||||
| ---------- variant or associated item `Squareee` not found here
|
||||
| ----- variant or associated item `Squareee` not found for this enum
|
||||
...
|
||||
LL | Shape::Squareee;
|
||||
| ^^^^^^^^
|
||||
|
@ -41,7 +41,7 @@ error[E0599]: no variant or associated item named `Circl` found for enum `Shape`
|
|||
--> $DIR/suggest-variants.rs:16:12
|
||||
|
|
||||
LL | enum Shape {
|
||||
| ---------- variant or associated item `Circl` not found here
|
||||
| ----- variant or associated item `Circl` not found for this enum
|
||||
...
|
||||
LL | Shape::Circl;
|
||||
| ^^^^^
|
||||
|
@ -53,7 +53,7 @@ error[E0599]: no variant or associated item named `Rombus` found for enum `Shape
|
|||
--> $DIR/suggest-variants.rs:17:12
|
||||
|
|
||||
LL | enum Shape {
|
||||
| ---------- variant or associated item `Rombus` not found here
|
||||
| ----- variant or associated item `Rombus` not found for this enum
|
||||
...
|
||||
LL | Shape::Rombus;
|
||||
| ^^^^^^ variant or associated item not found in `Shape`
|
||||
|
|
|
@ -8,7 +8,7 @@ LL | fn abc(&self) {}
|
|||
| --- the method is available for `S` here
|
||||
LL | }
|
||||
LL | pub struct S;
|
||||
| ------------- method `abc` not found for this
|
||||
| - method `abc` not found for this struct
|
||||
|
|
||||
= help: items from traits can only be used if the trait is in scope
|
||||
help: the following trait is implemented but not in scope; perhaps add a `use` for it:
|
||||
|
|
|
@ -11,7 +11,7 @@ error[E0599]: no function or associated item named `new` found for struct `Point
|
|||
--> $DIR/issue-3973.rs:22:20
|
||||
|
|
||||
LL | struct Point {
|
||||
| ------------ function or associated item `new` not found for this
|
||||
| ----- function or associated item `new` not found for this struct
|
||||
...
|
||||
LL | let p = Point::new(0.0, 0.0);
|
||||
| ^^^ function or associated item not found in `Point`
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
error[E0599]: no method named `foo` found for type parameter `T` in the current scope
|
||||
--> $DIR/issue-65284-suggest-generic-trait-bound.rs:8:7
|
||||
|
|
||||
LL | fn do_stuff<T : Bar>(t : T) {
|
||||
| - method `foo` not found for this type parameter
|
||||
LL | t.foo()
|
||||
| ^^^ method not found in `T`
|
||||
|
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
error[E0599]: no method named `clone` found for type parameter `T` in the current scope
|
||||
--> $DIR/issue-95898.rs:5:7
|
||||
|
|
||||
LL | fn foo<T:>(t: T) {
|
||||
| - method `clone` not found for this type parameter
|
||||
LL | t.clone();
|
||||
| ^^^^^ method not found in `T`
|
||||
|
|
||||
|
|
|
@ -2,7 +2,7 @@ error[E0599]: no method named `a` found for struct `S` in the current scope
|
|||
--> $DIR/item-privacy.rs:67:7
|
||||
|
|
||||
LL | struct S;
|
||||
| --------- method `a` not found for this
|
||||
| - method `a` not found for this struct
|
||||
...
|
||||
LL | S.a();
|
||||
| ^ method not found in `S`
|
||||
|
@ -18,7 +18,7 @@ error[E0599]: no method named `b` found for struct `S` in the current scope
|
|||
--> $DIR/item-privacy.rs:68:7
|
||||
|
|
||||
LL | struct S;
|
||||
| --------- method `b` not found for this
|
||||
| - method `b` not found for this struct
|
||||
...
|
||||
LL | fn b(&self) { }
|
||||
| - the method is available for `S` here
|
||||
|
@ -45,7 +45,7 @@ error[E0599]: no function or associated item named `a` found for struct `S` in t
|
|||
--> $DIR/item-privacy.rs:78:8
|
||||
|
|
||||
LL | struct S;
|
||||
| --------- function or associated item `a` not found for this
|
||||
| - function or associated item `a` not found for this struct
|
||||
...
|
||||
LL | S::a(&S);
|
||||
| ^ function or associated item not found in `S`
|
||||
|
@ -61,7 +61,7 @@ error[E0599]: no function or associated item named `b` found for struct `S` in t
|
|||
--> $DIR/item-privacy.rs:80:8
|
||||
|
|
||||
LL | struct S;
|
||||
| --------- function or associated item `b` not found for this
|
||||
| - function or associated item `b` not found for this struct
|
||||
...
|
||||
LL | S::b(&S);
|
||||
| ^ function or associated item not found in `S`
|
||||
|
@ -85,7 +85,7 @@ error[E0599]: no associated item named `A` found for struct `S` in the current s
|
|||
--> $DIR/item-privacy.rs:97:8
|
||||
|
|
||||
LL | struct S;
|
||||
| --------- associated item `A` not found for this
|
||||
| - associated item `A` not found for this struct
|
||||
...
|
||||
LL | S::A;
|
||||
| ^ associated item not found in `S`
|
||||
|
@ -101,7 +101,7 @@ error[E0599]: no associated item named `B` found for struct `S` in the current s
|
|||
--> $DIR/item-privacy.rs:98:8
|
||||
|
|
||||
LL | struct S;
|
||||
| --------- associated item `B` not found for this
|
||||
| - associated item `B` not found for this struct
|
||||
...
|
||||
LL | S::B;
|
||||
| ^ associated item not found in `S`
|
||||
|
|
|
@ -2,7 +2,7 @@ error[E0599]: no method named `clone` found for struct `Qux` in the current scop
|
|||
--> $DIR/explicitly-unimplemented-error-message.rs:34:9
|
||||
|
|
||||
LL | struct Qux;
|
||||
| ----------- method `clone` not found for this
|
||||
| --- method `clone` not found for this struct
|
||||
...
|
||||
LL | Qux.clone();
|
||||
| ^^^^^ method not found in `Qux`
|
||||
|
@ -23,7 +23,7 @@ error[E0599]: no method named `foo` found for struct `Qux` in the current scope
|
|||
--> $DIR/explicitly-unimplemented-error-message.rs:44:9
|
||||
|
|
||||
LL | struct Qux;
|
||||
| ----------- method `foo` not found for this
|
||||
| --- method `foo` not found for this struct
|
||||
...
|
||||
LL | Qux.foo();
|
||||
| ^^^ method not found in `Qux`
|
||||
|
|
17
src/test/ui/typeck/point-at-type-parameter-definition.rs
Normal file
17
src/test/ui/typeck/point-at-type-parameter-definition.rs
Normal file
|
@ -0,0 +1,17 @@
|
|||
trait Trait {
|
||||
fn do_stuff(&self);
|
||||
}
|
||||
|
||||
struct Hello;
|
||||
|
||||
impl Hello {
|
||||
fn method(&self) {}
|
||||
}
|
||||
|
||||
impl<Hello> Trait for Vec<Hello> {
|
||||
fn do_stuff(&self) {
|
||||
self[0].method(); //~ ERROR no method named `method` found for type parameter `Hello` in the current scope
|
||||
}
|
||||
}
|
||||
|
||||
fn main() {}
|
12
src/test/ui/typeck/point-at-type-parameter-definition.stderr
Normal file
12
src/test/ui/typeck/point-at-type-parameter-definition.stderr
Normal file
|
@ -0,0 +1,12 @@
|
|||
error[E0599]: no method named `method` found for type parameter `Hello` in the current scope
|
||||
--> $DIR/point-at-type-parameter-definition.rs:13:17
|
||||
|
|
||||
LL | impl<Hello> Trait for Vec<Hello> {
|
||||
| ----- method `method` not found for this type parameter
|
||||
LL | fn do_stuff(&self) {
|
||||
LL | self[0].method();
|
||||
| ^^^^^^ method not found in `Hello`
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
For more information about this error, try `rustc --explain E0599`.
|
|
@ -3,8 +3,8 @@ error[E0599]: the method `clone` exists for union `U5<CloneNoCopy>`, but its tra
|
|||
|
|
||||
LL | union U5<T> {
|
||||
| -----------
|
||||
| |
|
||||
| method `clone` not found for this
|
||||
| | |
|
||||
| | method `clone` not found for this union
|
||||
| doesn't satisfy `U5<CloneNoCopy>: Clone`
|
||||
...
|
||||
LL | struct CloneNoCopy;
|
||||
|
|
|
@ -3,8 +3,8 @@ error[E0599]: the method `clone` exists for union `U5<CloneNoCopy>`, but its tra
|
|||
|
|
||||
LL | union U5<T> {
|
||||
| -----------
|
||||
| |
|
||||
| method `clone` not found for this
|
||||
| | |
|
||||
| | method `clone` not found for this union
|
||||
| doesn't satisfy `U5<CloneNoCopy>: Clone`
|
||||
...
|
||||
LL | struct CloneNoCopy;
|
||||
|
|
Loading…
Add table
Reference in a new issue