[−][src]Static rustc_lint::builtin::UNNAMEABLE_TEST_ITEMS
pub(in builtin) static UNNAMEABLE_TEST_ITEMS: &Lint
The unnameable_test_items lint detects #[test] functions
that are not able to be run by the test harness because they are in a
position where they are not nameable.
Example
fn main() { #[test] fn foo() { // This test will not fail because it does not run. assert_eq!(1, 2); } }
{{produces}}
Explanation
In order for the test harness to run a test, the test function must be located in a position where it can be accessed from the crate root. This generally means it must be defined in a module, and not anywhere else such as inside another function. The compiler previously allowed this without an error, so a lint was added as an alert that a test is not being used. Whether or not this should be allowed has not yet been decided, see RFC 2471 and issue #36629.