//@ compile-flags: -C no-prepopulate-passes -Z mir-opt-level=0

#![crate_type = "lib"]
#![feature(fn_align)]

// CHECK: align 16
#[no_mangle]
#[repr(align(16))]
pub fn fn_align() {}

pub struct A;

impl A {
    // CHECK: align 16
    #[no_mangle]
    #[repr(align(16))]
    pub fn method_align(self) {}

    // CHECK: align 16
    #[no_mangle]
    #[repr(align(16))]
    pub fn associated_fn() {}
}

trait T: Sized {
    fn trait_fn() {}

    // CHECK: align 32
    #[repr(align(32))]
    fn trait_method(self) {}
}

impl T for A {
    // CHECK: align 16
    #[no_mangle]
    #[repr(align(16))]
    fn trait_fn() {}

    // CHECK: align 16
    #[no_mangle]
    #[repr(align(16))]
    fn trait_method(self) {}
}

impl T for () {}

pub fn foo() {
    ().trait_method();
}
