about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
authorOliver Schneider <git-spam-no-reply9815368754983@oli-obk.de>2017-11-30 16:11:52 +0100
committerOliver Schneider <git-spam-no-reply9815368754983@oli-obk.de>2017-11-30 16:33:27 +0100
commit9e062c85bb0a905bdba4d4e962abe389c46bb86d (patch)
treed273a1f918c61a7b71d6c76870ef31d52d0a7f23 /src/test
parent12697fa998cb3def57275254df78825def0c01b8 (diff)
downloadrust-9e062c85bb0a905bdba4d4e962abe389c46bb86d.tar.gz
rust-9e062c85bb0a905bdba4d4e962abe389c46bb86d.zip
Report a targeted note for generic parameters
Diffstat (limited to 'src/test')
-rw-r--r--src/test/ui/type-check/missing_trait_impl.rs17
-rw-r--r--src/test/ui/type-check/missing_trait_impl.stderr10
2 files changed, 27 insertions, 0 deletions
diff --git a/src/test/ui/type-check/missing_trait_impl.rs b/src/test/ui/type-check/missing_trait_impl.rs
new file mode 100644
index 00000000000..fe008db68a0
--- /dev/null
+++ b/src/test/ui/type-check/missing_trait_impl.rs
@@ -0,0 +1,17 @@
+// Copyright 2017 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+fn main() {
+}
+
+fn foo<T>(x: T, y: T) {
+    let z = x + y; //~ ERROR binary operation `+` cannot be applied to type `T`
+    //~^ NOTE `T` might need a bound for `std::ops::Add`
+}
diff --git a/src/test/ui/type-check/missing_trait_impl.stderr b/src/test/ui/type-check/missing_trait_impl.stderr
new file mode 100644
index 00000000000..64f8167eb1d
--- /dev/null
+++ b/src/test/ui/type-check/missing_trait_impl.stderr
@@ -0,0 +1,10 @@
+error[E0369]: binary operation `+` cannot be applied to type `T`
+  --> $DIR/missing_trait_impl.rs:15:13
+   |
+15 |     let z = x + y; //~ ERROR binary operation `+` cannot be applied to type `T`
+   |             ^^^^^
+   |
+   = note: `T` might need a bound for `std::ops::Add`
+
+error: aborting due to previous error
+