]> git.proxmox.com Git - rustc.git/blob - tests/ui/cross-crate/xcrate-associated-type-defaults.rs
New upstream version 1.68.2+dfsg1
[rustc.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 }