summaryrefslogtreecommitdiffstats
path: root/src/test/ui/suggestions/issue-84973.rs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/test/ui/suggestions/issue-84973.rs33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/test/ui/suggestions/issue-84973.rs b/src/test/ui/suggestions/issue-84973.rs
new file mode 100644
index 000000000..42468478e
--- /dev/null
+++ b/src/test/ui/suggestions/issue-84973.rs
@@ -0,0 +1,33 @@
+// Checks whether borrowing is suggested when a trait bound is not satisfied
+// for found type `T`, but is for `&/&mut T`.
+
+fn main() {
+ let f = Fancy{};
+ let o = Other::new(f);
+ //~^ ERROR: the trait bound `Fancy: SomeTrait` is not satisfied [E0277]
+}
+
+struct Fancy {}
+
+impl <'a> SomeTrait for &'a Fancy {
+}
+
+trait SomeTrait {}
+
+struct Other<'a, G> {
+ a: &'a str,
+ g: G,
+}
+
+// Broadly copied from https://docs.rs/petgraph/0.5.1/src/petgraph/dot.rs.html#70
+impl<'a, G> Other<'a, G>
+where
+ G: SomeTrait,
+{
+ pub fn new(g: G) -> Self {
+ Other {
+ a: "hi",
+ g: g,
+ }
+ }
+}