mirror of
https://github.com/rust-lang/rust.git
synced 2025-05-03 05:27:36 +00:00
![]() Add more info and suggestions to use of #[test] on invalid items This pr changes the diagnostics for using `#[test]` on an item that can't be used as a test to explain that the attribute has no meaningful effect on non-functions and suggests the use of `#[cfg(test)]` for conditional compilation instead. Example change: ```rs #[test] mod test {} ``` previously output ``` error: only functions may be used as tests --> src/lib.rs:2:1 | 2 | mod test {} | ^^^^^^^^^^^ ``` now outputs ``` error: the `#[test]` attribute may only be used on a non-associated function --> $DIR/test-on-not-fn.rs:3:1 | LL | #[test] | ^^^^^^^ LL | mod test {} | ----------- expected a non-associated function, found a module | = note: the `#[test]` macro causes a a function to be run on a test and has no effect on non-functions help: replace with conditional compilation to make the item only exist when tests are being run | LL | #[cfg(test)] | ~~~~~~~~~~~~ ``` |
||
---|---|---|
.. | ||
deriving | ||
format_foreign | ||
asm.rs | ||
assert.rs | ||
cfg_accessible.rs | ||
cfg_eval.rs | ||
cfg.rs | ||
cmdline_attrs.rs | ||
compile_error.rs | ||
concat_bytes.rs | ||
concat_idents.rs | ||
concat.rs | ||
derive.rs | ||
edition_panic.rs | ||
env.rs | ||
format_foreign.rs | ||
format.rs | ||
global_allocator.rs | ||
lib.rs | ||
log_syntax.rs | ||
proc_macro_harness.rs | ||
source_util.rs | ||
standard_library_imports.rs | ||
test_harness.rs | ||
test.rs | ||
trace_macros.rs | ||
util.rs |