diff options
| author | Ayose <ayosec@gmail.com> | 2019-07-20 00:55:58 +0000 |
|---|---|---|
| committer | Adam Perry <adam.n.perry@gmail.com> | 2019-10-07 08:05:21 -0700 |
| commit | 543449d4fdf7bb7fd4a12c2fea96dafbe26eea90 (patch) | |
| tree | 3f1550e764c244fd3908871db551aed213ed29d7 /src/libsyntax/feature_gate | |
| parent | e3cb9ea15a2082f39d4d4f10a22e779701dd0d64 (diff) | |
| download | rust-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/libsyntax/feature_gate')
| -rw-r--r-- | src/libsyntax/feature_gate/active.rs | 3 | ||||
| -rw-r--r-- | src/libsyntax/feature_gate/builtin_attrs.rs | 4 |
2 files changed, 7 insertions, 0 deletions
diff --git a/src/libsyntax/feature_gate/active.rs b/src/libsyntax/feature_gate/active.rs index 19ef430318d..312a9bf6e75 100644 --- a/src/libsyntax/feature_gate/active.rs +++ b/src/libsyntax/feature_gate/active.rs @@ -525,6 +525,9 @@ declare_features! ( // Allows the use of raw-dylibs (RFC 2627). (active, raw_dylib, "1.40.0", Some(58713), None), + /// Enable accurate caller location reporting during panic (RFC 2091). + (active, track_caller, "1.37.0", Some(47809), None), + // ------------------------------------------------------------------------- // feature-group-end: actual feature gates // ------------------------------------------------------------------------- diff --git a/src/libsyntax/feature_gate/builtin_attrs.rs b/src/libsyntax/feature_gate/builtin_attrs.rs index c12d0ce06ff..d6a6450e471 100644 --- a/src/libsyntax/feature_gate/builtin_attrs.rs +++ b/src/libsyntax/feature_gate/builtin_attrs.rs @@ -500,6 +500,10 @@ pub const BUILTIN_ATTRIBUTES: &[BuiltinAttribute] = &[ ) ), gated!( + track_caller, Whitelisted, template!(Word), + "the `#[track_caller]` attribute is an experimental feature", + ), + gated!( // Used in resolve: prelude_import, Whitelisted, template!(Word), "`#[prelude_import]` is for use by rustc only", |
