summaryrefslogtreecommitdiffstats
path: root/src/test/ui/traits/invalid_operator_trait.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/traits/invalid_operator_trait.rs')
-rw-r--r--src/test/ui/traits/invalid_operator_trait.rs23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/test/ui/traits/invalid_operator_trait.rs b/src/test/ui/traits/invalid_operator_trait.rs
new file mode 100644
index 000000000..7ea3b0d5b
--- /dev/null
+++ b/src/test/ui/traits/invalid_operator_trait.rs
@@ -0,0 +1,23 @@
+#![crate_type = "lib"]
+#![feature(lang_items)]
+#![feature(no_core)]
+#![no_core]
+
+#[lang="sized"]
+pub trait Sized {
+ // Empty.
+}
+
+#[lang = "add"]
+trait Add<RHS=Self> {
+ type Output;
+
+ fn add<Y>(self, _: RHS) -> Self::Output;
+ //~^ ERROR `add` must not have any generic parameters
+}
+
+#[allow(unreachable_code)]
+fn ice(a: usize) {
+ let r = loop {};
+ r = r + a;
+}