//! returns: 0

/// Return a constant generic argument.
fn inner⟨constant N: u32⟩() -> u32 {
    return N;
}

/// Forward a constant generic argument.
fn outer⟨constant N: u32⟩() -> u32 {
    return inner⟨N⟩();
}

instantiate outer⟨4⟩;

/// Exercise constant generic dependencies.
@default fn main() -> i32 {
    return outer⟨4⟩() as i32 - 4;
}
