rust/src/test/ui/lint/inline-trait-and-foreign-items.rs

40 lines
1015 B
Rust
Raw Normal View History

#![feature(extern_types)]
// revisions: min_tait full_tait
#![feature(min_type_alias_impl_trait)]
#![cfg_attr(full_tait, feature(type_alias_impl_trait))]
#![warn(unused_attributes)]
trait Trait {
#[inline] //~ WARN `#[inline]` is ignored on constants
//~^ WARN this was previously accepted
const X: u32;
#[inline] //~ ERROR attribute should be applied to function or closure
type T;
2019-10-13 15:14:59 +00:00
type U;
}
impl Trait for () {
#[inline] //~ WARN `#[inline]` is ignored on constants
//~^ WARN this was previously accepted
2019-10-13 15:14:59 +00:00
const X: u32 = 0;
#[inline] //~ ERROR attribute should be applied to function or closure
type T = Self;
#[inline] //~ ERROR attribute should be applied to function or closure
type U = impl Trait; //~ ERROR could not find defining uses
}
2020-09-01 21:12:52 +00:00
extern "C" {
#[inline] //~ ERROR attribute should be applied to function or closure
static X: u32;
#[inline] //~ ERROR attribute should be applied to function or closure
type T;
}
fn main() {}