// This tests that exports can have visible dependencies on things // that are not exported, allowing for a sort of poor-man's ADT mod foo { #[legacy_exports]; export f; export g; // not exported enum t { t1, t2, } impl t : cmp::Eq { pure fn eq(other: &t) -> bool { (self as uint) == ((*other) as uint) } pure fn ne(other: &t) -> bool { !self.eq(other) } } fn f() -> t { return t1; } fn g(v: t) { assert (v == t1); } } fn main() { foo::g(foo::f()); }