Skip to content

Commit

Permalink
follow-up fix about 101866 to print the self type.
Browse files Browse the repository at this point in the history
	modified:   compiler/rustc_trait_selection/src/traits/error_reporting/mod.rs
	modified:   src/test/ui/error-codes/E0283.stderr
	modified:   src/test/ui/error-codes/E0790.stderr
	modified:   src/test/ui/traits/static-method-generic-inference.stderr
	modified:   src/test/ui/type/issue-101866.stderr
  • Loading branch information
Yiming Lei committed Oct 4, 2022
1 parent 02cd79a commit 4f3b6ac
Show file tree
Hide file tree
Showing 5 changed files with 16 additions and 16 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2265,7 +2265,7 @@ impl<'a, 'tcx> InferCtxtPrivExt<'a, 'tcx> for InferCtxt<'a, 'tcx> {
};
let mut suggestions = vec![(
trait_path_segment.ident.span.shrink_to_lo(),
format!("<{} as ", self.tcx.def_path(impl_def_id).to_string_no_crate_verbose())
format!("<{} as ", self.tcx.type_of(impl_def_id))
)];
if let Some(generic_arg) = trait_path_segment.args {
let between_span = trait_path_segment.ident.span.between(generic_arg.span_ext);
Expand Down
4 changes: 2 additions & 2 deletions src/test/ui/error-codes/E0283.stderr
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ LL | let cont: u32 = Generator::create();
|
help: use a fully-qualified path to a specific available implementation (2 found)
|
LL | let cont: u32 = <::Impl as Generator>::create();
| ++++++++++ +
LL | let cont: u32 = <Impl as Generator>::create();
| ++++++++ +

error[E0283]: type annotations needed
--> $DIR/E0283.rs:35:24
Expand Down
20 changes: 10 additions & 10 deletions src/test/ui/error-codes/E0790.stderr
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ LL | MyTrait::my_fn();
|
help: use the fully-qualified path to the only available implementation
|
LL | <::inner::MyStruct as MyTrait>::my_fn();
| +++++++++++++++++++++ +
LL | <MyStruct as MyTrait>::my_fn();
| ++++++++++++ +

error[E0790]: cannot refer to the associated constant on trait without specifying the corresponding `impl` type
--> $DIR/E0790.rs:21:17
Expand All @@ -23,8 +23,8 @@ LL | let _ = MyTrait::MY_ASSOC_CONST;
|
help: use the fully-qualified path to the only available implementation
|
LL | let _ = <::inner::MyStruct as MyTrait>::MY_ASSOC_CONST;
| +++++++++++++++++++++ +
LL | let _ = <MyStruct as MyTrait>::MY_ASSOC_CONST;
| ++++++++++++ +

error[E0790]: cannot call associated function on trait without specifying the corresponding `impl` type
--> $DIR/E0790.rs:26:5
Expand All @@ -37,8 +37,8 @@ LL | inner::MyTrait::my_fn();
|
help: use the fully-qualified path to the only available implementation
|
LL | inner::<::inner::MyStruct as MyTrait>::my_fn();
| +++++++++++++++++++++ +
LL | inner::<MyStruct as MyTrait>::my_fn();
| ++++++++++++ +

error[E0790]: cannot refer to the associated constant on trait without specifying the corresponding `impl` type
--> $DIR/E0790.rs:30:13
Expand All @@ -51,8 +51,8 @@ LL | let _ = inner::MyTrait::MY_ASSOC_CONST;
|
help: use the fully-qualified path to the only available implementation
|
LL | let _ = inner::<::inner::MyStruct as MyTrait>::MY_ASSOC_CONST;
| +++++++++++++++++++++ +
LL | let _ = inner::<MyStruct as MyTrait>::MY_ASSOC_CONST;
| ++++++++++++ +

error[E0790]: cannot call associated function on trait without specifying the corresponding `impl` type
--> $DIR/E0790.rs:50:5
Expand All @@ -65,8 +65,8 @@ LL | MyTrait2::my_fn();
|
help: use a fully-qualified path to a specific available implementation (2 found)
|
LL | <::Impl1 as MyTrait2>::my_fn();
| +++++++++++ +
LL | <Impl1 as MyTrait2>::my_fn();
| +++++++++ +

error: aborting due to 5 previous errors

Expand Down
4 changes: 2 additions & 2 deletions src/test/ui/traits/static-method-generic-inference.stderr
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ LL | let _f: base::Foo = base::HasNew::new();
|
help: use the fully-qualified path to the only available implementation
|
LL | let _f: base::Foo = base::<::base::Foo as HasNew>::new();
| +++++++++++++++ +
LL | let _f: base::Foo = base::<Foo as HasNew>::new();
| +++++++ +

error: aborting due to previous error

Expand Down
2 changes: 1 addition & 1 deletion src/test/ui/type/issue-101866.stderr
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ LL | TraitA::<i32>::func();
help: use the fully-qualified path to the only available implementation
|
LL - TraitA::<i32>::func();
LL + <::StructA as TraitA<i32>>::func();
LL + <StructA as TraitA<i32>>::func();
|

error: aborting due to previous error
Expand Down

0 comments on commit 4f3b6ac

Please sign in to comment.