diff --git a/tests/ui/traits/suggest-remove-reference-in-where-clause.rs b/tests/ui/traits/suggest-remove-reference-in-where-clause.rs new file mode 100644 index 0000000000000..8e73e04e032f3 --- /dev/null +++ b/tests/ui/traits/suggest-remove-reference-in-where-clause.rs @@ -0,0 +1,4 @@ +use std::borrow::Borrow; +pub const F: for<'a> fn(&'a &'static String) -> &'a str = <&'static String as Borrow>::borrow; +//~^ ERROR E0277 +fn main() {} diff --git a/tests/ui/traits/suggest-remove-reference-in-where-clause.stderr b/tests/ui/traits/suggest-remove-reference-in-where-clause.stderr new file mode 100644 index 0000000000000..e7e2da92ee02c --- /dev/null +++ b/tests/ui/traits/suggest-remove-reference-in-where-clause.stderr @@ -0,0 +1,15 @@ +error[E0277]: the trait bound `&'static String: Borrow` is not satisfied + --> $DIR/suggest-remove-reference-in-where-clause.rs:2:60 + | +LL | pub const F: for<'a> fn(&'a &'static String) -> &'a str = <&'static String as Borrow>::borrow; + | ^^^^^^^^^^^^^^^ the trait `Borrow` is not implemented for `&'static String` + | +help: consider removing the leading `&`-reference + | +LL - pub const F: for<'a> fn(&'a &'static String) -> &'a str = <&'static String as Borrow>::borrow; +LL + pub const F: for<'a> fn(&'a &'static String) -> &'a str = >::borrow; + | + +error: aborting due to 1 previous error + +For more information about this error, try `rustc --explain E0277`.