1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
#![feature(extern_types)]
#![feature(no_coverage)]
#![feature(impl_trait_in_assoc_type)]
#![warn(unused_attributes)]
#![no_coverage]
//~^ WARN: `#[no_coverage]` does not propagate into items and must be applied to the contained functions directly
#[no_coverage]
//~^ WARN: `#[no_coverage]` does not propagate into items and must be applied to the contained functions directly
trait Trait {
#[no_coverage] //~ ERROR `#[no_coverage]` must be applied to coverable code
const X: u32;
#[no_coverage] //~ ERROR `#[no_coverage]` must be applied to coverable code
type T;
type U;
}
#[no_coverage]
//~^ WARN: `#[no_coverage]` does not propagate into items and must be applied to the contained functions directly
impl Trait for () {
const X: u32 = 0;
#[no_coverage] //~ ERROR `#[no_coverage]` must be applied to coverable code
type T = Self;
#[no_coverage] //~ ERROR `#[no_coverage]` must be applied to coverable code
type U = impl Trait; //~ ERROR unconstrained opaque type
}
extern "C" {
#[no_coverage] //~ ERROR `#[no_coverage]` must be applied to coverable code
static X: u32;
#[no_coverage] //~ ERROR `#[no_coverage]` must be applied to coverable code
type T;
}
#[no_coverage]
fn main() {
#[no_coverage]
//~^ WARN `#[no_coverage]` may only be applied to function definitions
let _ = ();
match () {
#[no_coverage]
//~^ WARN `#[no_coverage]` may only be applied to function definitions
() => (),
}
#[no_coverage]
//~^ WARN `#[no_coverage]` may only be applied to function definitions
return ();
}
|