From d082ac96d50bfdbf7017c251f00b10137bd3a2db Mon Sep 17 00:00:00 2001 From: Pieter-Louis Schoeman Date: Thu, 21 May 2026 23:50:46 +0200 Subject: [PATCH] Tighten initial Share trait implementation --- tests/ui/share-trait/share-trait.rs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/tests/ui/share-trait/share-trait.rs b/tests/ui/share-trait/share-trait.rs index d909139116e0..7a099cd96cb8 100644 --- a/tests/ui/share-trait/share-trait.rs +++ b/tests/ui/share-trait/share-trait.rs @@ -2,7 +2,9 @@ #![feature(share_trait)] -use std::clone::Share; +extern crate core; + +use core::clone::Share; #[derive(Debug, PartialEq)] struct Alias(u8); @@ -23,6 +25,7 @@ fn main() { let value = Alias(1); assert_eq!(Share::share(&value), Alias(2)); + assert_eq!(std::clone::Share::share(&value), Alias(2)); assert_eq!(value.share(), Alias(2)); assert_eq!(share_generic(&value), Alias(2)); @@ -31,10 +34,11 @@ fn main() { let shared_again = shared.share(); let shared_fqs: &i32 = Share::share(&shared); let shared_generic: &i32 = share_generic(&shared); + assert!(std::ptr::eq(shared, shared_again)); assert!(std::ptr::eq(shared_fqs, shared)); assert!(std::ptr::eq(shared_generic, shared)); - let text: &str = "text"; - assert!(std::ptr::eq(text, text.share())); + let slice: &[i32] = &[1, 2, 3]; + assert!(std::ptr::eq(slice, slice.share())); }