From 64d98f8ee037282c35007b64c2649055c56af1db Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 17 Apr 2024 14:19:03 +0200 Subject: Merging upstream version 1.68.2+dfsg1. Signed-off-by: Daniel Baumann --- .../auxiliary/associated-const-cc-lib.rs | 34 ++++++++++++++++++++++ .../ui/associated-consts/auxiliary/empty-struct.rs | 9 ++++++ 2 files changed, 43 insertions(+) create mode 100644 tests/ui/associated-consts/auxiliary/associated-const-cc-lib.rs create mode 100644 tests/ui/associated-consts/auxiliary/empty-struct.rs (limited to 'tests/ui/associated-consts/auxiliary') 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; +} diff --git a/tests/ui/associated-consts/auxiliary/empty-struct.rs b/tests/ui/associated-consts/auxiliary/empty-struct.rs new file mode 100644 index 000000000..93275e714 --- /dev/null +++ b/tests/ui/associated-consts/auxiliary/empty-struct.rs @@ -0,0 +1,9 @@ +pub struct XEmpty1 {} +pub struct XEmpty2; +pub struct XEmpty7(); + +pub enum XE { + XEmpty3 {}, + XEmpty4, + XEmpty6(), +} -- cgit v1.2.3