about summary refs log tree commit diff
path: root/src/test/ui/feature-gates
diff options
context:
space:
mode:
authorAyose <ayosec@gmail.com>2019-07-20 00:55:58 +0000
committerAdam Perry <adam.n.perry@gmail.com>2019-10-07 08:05:21 -0700
commit543449d4fdf7bb7fd4a12c2fea96dafbe26eea90 (patch)
tree3f1550e764c244fd3908871db551aed213ed29d7 /src/test/ui/feature-gates
parente3cb9ea15a2082f39d4d4f10a22e779701dd0d64 (diff)
downloadrust-543449d4fdf7bb7fd4a12c2fea96dafbe26eea90.tar.gz
rust-543449d4fdf7bb7fd4a12c2fea96dafbe26eea90.zip
[RFC 2091] Add #[track_caller] attribute.
- The attribute is behind a feature gate.
- Error if both #[naked] and #[track_caller] are applied to the same function.
- Error if #[track_caller] is applied to a non-function item.
- Error if ABI is not "rust"
- Error if #[track_caller] is applied to a trait function.

Error codes and descriptions are pending.
Diffstat (limited to 'src/test/ui/feature-gates')
-rw-r--r--src/test/ui/feature-gates/feature-gate-track_caller.rs6
-rw-r--r--src/test/ui/feature-gates/feature-gate-track_caller.stderr12
2 files changed, 18 insertions, 0 deletions
diff --git a/src/test/ui/feature-gates/feature-gate-track_caller.rs b/src/test/ui/feature-gates/feature-gate-track_caller.rs
new file mode 100644
index 00000000000..458df0b2b02
--- /dev/null
+++ b/src/test/ui/feature-gates/feature-gate-track_caller.rs
@@ -0,0 +1,6 @@
+
+#[track_caller]
+fn f() {}
+//~^^ ERROR the `#[track_caller]` attribute is an experimental feature
+
+fn main() {}
diff --git a/src/test/ui/feature-gates/feature-gate-track_caller.stderr b/src/test/ui/feature-gates/feature-gate-track_caller.stderr
new file mode 100644
index 00000000000..9a058736e50
--- /dev/null
+++ b/src/test/ui/feature-gates/feature-gate-track_caller.stderr
@@ -0,0 +1,12 @@
+error[E0658]: the `#[track_caller]` attribute is an experimental feature
+  --> $DIR/feature-gate-track_caller.rs:2:1
+   |
+LL | #[track_caller]
+   | ^^^^^^^^^^^^^^^
+   |
+   = note: for more information, see https://github.com/rust-lang/rust/issues/47809
+   = help: add `#![feature(track_caller)]` to the crate attributes to enable
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0658`.