stop mentioning number of applicate implementations

This commit is contained in:
lcnr 2023-07-14 10:28:18 +02:00
parent 19d46b690a
commit e449daad6c
4 changed files with 7 additions and 10 deletions

View file

@ -2388,14 +2388,11 @@ impl<'tcx> InferCtxtPrivExt<'tcx> for TypeErrCtxt<'_, 'tcx> {
// If there is only one implementation of the trait, suggest using it.
// Otherwise, use a placeholder comment for the implementation.
let (message, impl_suggestion) = if non_blanket_impl_count == 1 {(
"use the fully-qualified path to the only available implementation".to_string(),
"use the fully-qualified path to the only available implementation",
format!("<{} as ", self.tcx.type_of(impl_def_id).instantiate_identity())
)} else {(
format!(
"use a fully-qualified path to a specific available implementation ({} found)",
non_blanket_impl_count
),
"</* self type */ as ".to_string()
)} else {
("use a fully-qualified path to a specific available implementation",
"</* self type */ as ".to_string()
)};
let mut suggestions = vec![(
path.span.shrink_to_lo(),

View file

@ -7,7 +7,7 @@ LL | fn create() -> u32;
LL | let cont: u32 = Generator::create();
| ^^^^^^^^^^^^^^^^^ cannot call associated function of trait
|
help: use a fully-qualified path to a specific available implementation (2 found)
help: use a fully-qualified path to a specific available implementation
|
LL | let cont: u32 = </* self type */ as Generator>::create();
| +++++++++++++++++++ +

View file

@ -63,7 +63,7 @@ LL | fn my_fn();
LL | MyTrait2::my_fn();
| ^^^^^^^^^^^^^^^ cannot call associated function of trait
|
help: use a fully-qualified path to a specific available implementation (2 found)
help: use a fully-qualified path to a specific available implementation
|
LL | </* self type */ as MyTrait2>::my_fn();
| +++++++++++++++++++ +

View file

@ -4,7 +4,7 @@ error[E0790]: cannot call associated function on trait without specifying the co
LL | let _ = (Default::default(),);
| ^^^^^^^^^^^^^^^^ cannot call associated function of trait
|
help: use a fully-qualified path to a specific available implementation (271 found)
help: use a fully-qualified path to a specific available implementation
|
LL | let _ = (</* self type */ as Default>::default(),);
| +++++++++++++++++++ +