]> git.lizzy.rs Git - rust.git/blob - tests/ui/cross-crate/xcrate-associated-type-defaults.rs
Auto merge of #105716 - chriswailes:ndk-update-redux, r=pietroalbini
[rust.git] / tests / ui / cross-crate / xcrate-associated-type-defaults.rs
1 // run-pass
2 // aux-build:xcrate_associated_type_defaults.rs
3
4 extern crate xcrate_associated_type_defaults;
5 use xcrate_associated_type_defaults::Foo;
6
7 struct LocalDefault;
8 impl Foo<u32> for LocalDefault {}
9
10 struct LocalOverride;
11 impl Foo<u64> for LocalOverride {
12     type Out = bool;
13 }
14
15 fn main() {
16     assert_eq!(
17         <() as Foo<u32>>::Out::default().to_string(),
18         "0");
19     assert_eq!(
20         <() as Foo<u64>>::Out::default().to_string(),
21         "false");
22
23     assert_eq!(
24         <LocalDefault as Foo<u32>>::Out::default().to_string(),
25         "0");
26     assert_eq!(
27         <LocalOverride as Foo<u64>>::Out::default().to_string(),
28         "false");
29 }