blob: c76eda65a75b01e5a3950e625eadda34b4bf1923 [file] [log] [blame]
// ignore-tidy-linelength
// FIXME(#82232, #143834): temporarily renamed to mitigate `#[align]` nameres ambiguity
#![feature(rustc_attrs)]
#![feature(fn_align)]
#![crate_type = "lib"]
trait MyTrait {
#[rustc_align] //~ ERROR malformed `rustc_align` attribute input
fn myfun1();
#[rustc_align(1, 2)] //~ ERROR malformed `rustc_align` attribute input
fn myfun2();
}
#[rustc_align = 16] //~ ERROR malformed `rustc_align` attribute input
fn f1() {}
#[rustc_align("hello")] //~ ERROR invalid alignment value: not an unsuffixed integer
fn f2() {}
#[rustc_align(0)] //~ ERROR invalid alignment value: not a power of two
fn f3() {}
#[repr(align(16))] //~ ERROR `#[repr(align(...))]` is not supported on functions
fn f4() {}
#[rustc_align(-1)] //~ ERROR expected a literal (`1u8`, `1.0f32`, `"string"`, etc.) here, found `-`
fn f5() {}
#[rustc_align(3)] //~ ERROR invalid alignment value: not a power of two
fn f6() {}
#[rustc_align(4usize)] //~ ERROR invalid alignment value: not an unsuffixed integer [E0589]
//~^ ERROR suffixed literals are not allowed in attributes
fn f7() {}
#[rustc_align(16)]
#[rustc_align(3)] //~ ERROR invalid alignment value: not a power of two
#[rustc_align(16)]
fn f8() {}
#[rustc_align(16)] //~ ERROR attribute cannot be used on
struct S1;
#[rustc_align(32)] //~ ERROR attribute cannot be used on
const FOO: i32 = 42;
#[rustc_align(32)] //~ ERROR attribute cannot be used on
mod test {}
#[rustc_align(32)] //~ ERROR attribute cannot be used on
use ::std::iter;