about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/test/ui/issues/issue-31076.rs15
-rw-r--r--src/test/ui/issues/issue-31076.stderr11
2 files changed, 26 insertions, 0 deletions
diff --git a/src/test/ui/issues/issue-31076.rs b/src/test/ui/issues/issue-31076.rs
new file mode 100644
index 00000000000..3d235720c38
--- /dev/null
+++ b/src/test/ui/issues/issue-31076.rs
@@ -0,0 +1,15 @@
+#![feature(no_core, lang_items)]
+#![no_core]
+
+#[lang="sized"]
+trait Sized {}
+
+#[lang="add"]
+trait Add<T> {}
+
+impl Add<i32> for i32 {}
+
+fn main() {
+    let x = 5 + 6;
+    //~^ ERROR binary operation `+` cannot be applied to type `{integer}`
+}
diff --git a/src/test/ui/issues/issue-31076.stderr b/src/test/ui/issues/issue-31076.stderr
new file mode 100644
index 00000000000..a667034bd8c
--- /dev/null
+++ b/src/test/ui/issues/issue-31076.stderr
@@ -0,0 +1,11 @@
+error[E0369]: binary operation `+` cannot be applied to type `{integer}`
+  --> $DIR/typeck-issue-31076-correct-trait-impl.rs:13:13
+   |
+LL |     let x = 5 + 6;
+   |             ^^^^^
+   |
+   = note: an implementation of `std::ops::Add` might be missing for `{integer}`
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0369`.