]> git.proxmox.com Git - rustc.git/blobdiff - src/test/run-pass/xcrate-associated-type-defaults.rs
Imported Upstream version 1.9.0+dfsg1
[rustc.git] / src / test / run-pass / xcrate-associated-type-defaults.rs
index 1b6de3b2f7bcf029a4e1cb236b0f0a1227a60842..2dacbe0966ee37b68d6b7299b4737b2d0001ccf5 100644 (file)
 extern crate xcrate_associated_type_defaults;
 use xcrate_associated_type_defaults::Foo;
 
+struct LocalDefault;
+impl Foo<u32> for LocalDefault {}
+
+struct LocalOverride;
+impl Foo<u64> for LocalOverride {
+    type Out = bool;
+}
+
 fn main() {
-    ().bar(5);
+    assert_eq!(
+        <() as Foo<u32>>::Out::default().to_string(),
+        "0");
+    assert_eq!(
+        <() as Foo<u64>>::Out::default().to_string(),
+        "false");
+
+    assert_eq!(
+        <LocalDefault as Foo<u32>>::Out::default().to_string(),
+        "0");
+    assert_eq!(
+        <LocalOverride as Foo<u64>>::Out::default().to_string(),
+        "false");
 }