about summary refs log tree commit diff
diff options
context:
space:
mode:
authorLzu Tao <taolzu@gmail.com>2019-08-26 17:11:47 +0700
committerflip1995 <hello@philkrones.com>2019-08-26 14:45:28 +0200
commitc222e7eca716755f7edcf91a0db8bc523781f0cc (patch)
treecc11adf62493022c82e77156f02719c734a94eb4
parentdac2509bacd9e4c3f7cc27a4aeff38c5b0388840 (diff)
downloadrust-c222e7eca716755f7edcf91a0db8bc523781f0cc.tar.gz
rust-c222e7eca716755f7edcf91a0db8bc523781f0cc.zip
Add regression test for looking for trait defid in nocore
-rw-r--r--tests/ui/def_id_nocore.rs29
-rw-r--r--tests/ui/def_id_nocore.stderr10
2 files changed, 39 insertions, 0 deletions
diff --git a/tests/ui/def_id_nocore.rs b/tests/ui/def_id_nocore.rs
new file mode 100644
index 00000000000..2a948d60b10
--- /dev/null
+++ b/tests/ui/def_id_nocore.rs
@@ -0,0 +1,29 @@
+// ignore-windows
+// ignore-macos
+
+#![feature(no_core, lang_items, start)]
+#![no_core]
+
+#[link(name = "c")]
+extern "C" {}
+
+#[lang = "sized"]
+pub trait Sized {}
+#[lang = "copy"]
+pub trait Copy {}
+#[lang = "freeze"]
+pub unsafe trait Freeze {}
+
+#[lang = "start"]
+#[start]
+fn start(_argc: isize, _argv: *const *const u8) -> isize {
+    0
+}
+
+pub struct A;
+
+impl A {
+    pub fn as_ref(self) -> &'static str {
+        "A"
+    }
+}
diff --git a/tests/ui/def_id_nocore.stderr b/tests/ui/def_id_nocore.stderr
new file mode 100644
index 00000000000..ed87a50547d
--- /dev/null
+++ b/tests/ui/def_id_nocore.stderr
@@ -0,0 +1,10 @@
+error: methods called `as_*` usually take self by reference or self by mutable reference; consider choosing a less ambiguous name
+  --> $DIR/def_id_nocore.rs:26:19
+   |
+LL |     pub fn as_ref(self) -> &'static str {
+   |                   ^^^^
+   |
+   = note: `-D clippy::wrong-self-convention` implied by `-D warnings`
+
+error: aborting due to previous error
+