// Testing that both the inner item and next outer item are
// preserved, and that the first outer item parsed in main is not
// accidentally carried over to each inner function

// pp-exact

#![feature(rustc_attrs)]

fn main() {
    #![rustc_dummy]
    #[rustc_dummy]
    fn f() { }

    #[rustc_dummy]
    fn g() { }
}
