//@ run-pass
#![allow(dead_code)]
//@ compile-flags: -C codegen-units=3

// Test references to items that haven't been codegened yet.

// Generate some code in the first compilation unit before declaring any
// modules.  This ensures that the first module doesn't go into the same
// compilation unit as the top-level module.

fn pad() -> usize { 0 }

mod b {
    pub fn three() -> usize {
        ::one() + ::a::two()
    }
}

mod a {
    pub fn two() -> usize {
        ::one() + ::one()
    }
}

fn one() -> usize {
    1
}

fn main() {
    assert_eq!(one(), 1);
    assert_eq!(a::two(), 2);
    assert_eq!(b::three(), 3);
}
