| //@ run-pass |
| |
| // Test that specialization works even if only the upstream crate enables it |
| |
| //@ aux-build:specialization_cross_crate.rs |
| |
| extern crate specialization_cross_crate; |
| |
| use specialization_cross_crate::*; |
| |
| fn main() { |
| assert!(0u8.foo() == "generic Clone"); |
| assert!(vec![0u8].foo() == "generic Vec"); |
| assert!(vec![0i32].foo() == "Vec<i32>"); |
| assert!(0i32.foo() == "i32"); |
| assert!(String::new().foo() == "String"); |
| assert!(((), 0).foo() == "generic pair"); |
| assert!(((), ()).foo() == "generic uniform pair"); |
| assert!((0u8, 0u32).foo() == "(u8, u32)"); |
| assert!((0u8, 0u8).foo() == "(u8, u8)"); |
| } |