track_caller error numbers and text.

This commit is contained in:
Adam Perry 2019-10-02 22:35:58 -07:00
parent d931afe470
commit 9900211ea0
9 changed files with 32 additions and 28 deletions

View File

@ -1640,16 +1640,6 @@ each method; it is not possible to annotate the entire impl with an `#[inline]`
attribute.
"##,
E0900: r##"
FIXME(anp): change error number
FIXME(anp): track_caller: invalid syntax
"##,
E0901: r##"
FIXME(anp): change error number
FIXME(anp): track_caller: no naked functions
"##,
E0522: r##"
The lang attribute is intended for marking special items that are built-in to
Rust itself. This includes special traits (like `Copy` and `Sized`) that affect
@ -2085,6 +2075,15 @@ These attributes are meant to only be used by the standard library and are
rejected in your own crates.
"##,
E0736: r##"
#[track_caller] and #[naked] cannot be applied to the same function.
This is primarily due to ABI incompatibilities between the two attributes.
See [RFC 2091] for details on this and other limitations.
[RFC 2091]: https://github.com/rust-lang/rfcs/blob/master/text/2091-inline-semantic.md
"##,
;
// E0006, // merged with E0005
// E0101, // replaced with E0282
@ -2146,4 +2145,5 @@ rejected in your own crates.
E0726, // non-explicit (not `'_`) elided lifetime in unsupported position
E0727, // `async` generators are not yet supported
E0728, // `await` must be in an `async` function or block
E0735, // invalid track_caller application/syntax
}

View File

@ -143,7 +143,7 @@ impl CheckAttrVisitor<'tcx> {
struct_span_err!(
self.tcx.sess,
attr.span,
E0900,
E0735,
"attribute should be applied to function"
)
.span_label(item.span, "not a function")
@ -153,7 +153,7 @@ impl CheckAttrVisitor<'tcx> {
struct_span_err!(
self.tcx.sess,
attr.span,
E0901,
E0736,
"cannot use `#[track_caller]` with `#[naked]`",
)
.emit();

View File

@ -179,7 +179,7 @@ pub fn check_trait_item(tcx: TyCtxt<'_>, def_id: DefId) {
struct_span_err!(
tcx.sess,
attr.span,
E0903,
E0738,
"`#[track_caller]` is not supported for trait items yet."
).emit();
}

View File

@ -2599,7 +2599,7 @@ fn codegen_fn_attrs(tcx: TyCtxt<'_>, id: DefId) -> CodegenFnAttrs {
struct_span_err!(
tcx.sess,
attr.span,
E0902,
E0737,
"rust ABI is required to use `#[track_caller]`"
).emit();
}

View File

@ -4908,14 +4908,18 @@ The `Box<...>` ensures that the result is of known size,
and the pin is required to keep it in the same place in memory.
"##,
E0902: r##"
FIXME(anp): change error number
FIXME(anp): track_caller: require Rust ABI to use track_caller
E0737: r##"
#[track_caller] requires functions to have the "Rust" ABI for passing caller
location. See [RFC 2091] for details on this and other restrictions.
[RFC 2091]: https://github.com/rust-lang/rfcs/blob/master/text/2091-inline-semantic.md
"##,
E0903: r##"
FIXME(anp): change error number
FIXME(anp): track_caller: can't apply in traits
E0738: r##"
#[track_caller] cannot be applied to trait methods. See [RFC 2091]
for details on this and other restrictions.
[RFC 2091]: https://github.com/rust-lang/rfcs/blob/master/text/2091-inline-semantic.md
"##,
;

View File

@ -1,4 +1,4 @@
error[E0902]: rust ABI is required to use `#[track_caller]`
error[E0737]: rust ABI is required to use `#[track_caller]`
--> $DIR/error-with-invalid-abi.rs:3:1
|
LL | #[track_caller]
@ -6,4 +6,4 @@ LL | #[track_caller]
error: aborting due to previous error
For more information about this error, try `rustc --explain E0902`.
For more information about this error, try `rustc --explain E0737`.

View File

@ -1,4 +1,4 @@
error[E0901]: cannot use `#[track_caller]` with `#[naked]`
error[E0736]: cannot use `#[track_caller]` with `#[naked]`
--> $DIR/error-with-naked.rs:3:1
|
LL | #[track_caller]
@ -6,4 +6,4 @@ LL | #[track_caller]
error: aborting due to previous error
For more information about this error, try `rustc --explain E0901`.
For more information about this error, try `rustc --explain E0736`.

View File

@ -1,4 +1,4 @@
error[E0903]: `#[track_caller]` is not supported for trait items yet.
error[E0738]: `#[track_caller]` is not supported for trait items yet.
--> $DIR/error-with-trait-fns.rs:4:5
|
LL | #[track_caller]
@ -6,4 +6,4 @@ LL | #[track_caller]
error: aborting due to previous error
For more information about this error, try `rustc --explain E0903`.
For more information about this error, try `rustc --explain E0738`.

View File

@ -1,4 +1,4 @@
error[E0900]: attribute should be applied to function
error[E0735]: attribute should be applied to function
--> $DIR/only-for-fns.rs:3:1
|
LL | #[track_caller]
@ -8,4 +8,4 @@ LL | struct S;
error: aborting due to previous error
For more information about this error, try `rustc --explain E0900`.
For more information about this error, try `rustc --explain E0735`.