summaryrefslogtreecommitdiffstats
path: root/tests/ui/associated-consts/auxiliary/associated-const-cc-lib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/associated-consts/auxiliary/associated-const-cc-lib.rs')
-rw-r--r--tests/ui/associated-consts/auxiliary/associated-const-cc-lib.rs34
1 files changed, 34 insertions, 0 deletions
diff --git a/tests/ui/associated-consts/auxiliary/associated-const-cc-lib.rs b/tests/ui/associated-consts/auxiliary/associated-const-cc-lib.rs
new file mode 100644
index 000000000..4fcefe32c
--- /dev/null
+++ b/tests/ui/associated-consts/auxiliary/associated-const-cc-lib.rs
@@ -0,0 +1,34 @@
+#![crate_type="lib"]
+
+// These items are for testing that associated consts work cross-crate.
+pub trait Foo {
+ const BAR: usize;
+}
+
+pub struct FooNoDefault;
+
+impl Foo for FooNoDefault {
+ const BAR: usize = 0;
+}
+
+// These test that defaults and default resolution work cross-crate.
+pub trait FooDefault {
+ const BAR: usize = 1;
+}
+
+pub struct FooOverwriteDefault;
+
+impl FooDefault for FooOverwriteDefault {
+ const BAR: usize = 2;
+}
+
+pub struct FooUseDefault;
+
+impl FooDefault for FooUseDefault {}
+
+// Test inherent impls.
+pub struct InherentBar;
+
+impl InherentBar {
+ pub const BAR: usize = 3;
+}