diff options
| author | Wesley Wiser <wesleywiser@microsoft.com> | 2021-07-12 13:26:01 -0400 |
|---|---|---|
| committer | Wesley Wiser <wesleywiser@microsoft.com> | 2021-07-12 13:26:01 -0400 |
| commit | 14fdf8a115da7e88721dcbef6b35d8c6eab074f2 (patch) | |
| tree | f145346635b50c97af423867b2fee50eca37389d /src/test/debuginfo | |
| parent | d1852e10545c65cec73ea296436840e67309d82c (diff) | |
| download | rust-14fdf8a115da7e88721dcbef6b35d8c6eab074f2.tar.gz rust-14fdf8a115da7e88721dcbef6b35d8c6eab074f2.zip | |
Add test for `Unique<T>`, weak ref counts and ref counts for `Weak<T>`
Diffstat (limited to 'src/test/debuginfo')
| -rw-r--r-- | src/test/debuginfo/marker-types.rs | 12 | ||||
| -rw-r--r-- | src/test/debuginfo/rc_arc.rs | 8 |
2 files changed, 19 insertions, 1 deletions
diff --git a/src/test/debuginfo/marker-types.rs b/src/test/debuginfo/marker-types.rs index 52d70bda908..f27a5d20c70 100644 --- a/src/test/debuginfo/marker-types.rs +++ b/src/test/debuginfo/marker-types.rs @@ -21,9 +21,17 @@ // cdb-check: [capacity] : 0x4 [Type: unsigned __int64] // cdb-check: [chars] : "this" +// cdb-command: dx unique +// cdb-check:unique : Unique(0x[...]: (0x2a, 4321)) [Type: core::ptr::unique::Unique<tuple$<u64,i32> >] +// cdb-check: [<Raw View>] [Type: core::ptr::unique::Unique<tuple$<u64,i32> >] +// cdb-check: [0] : 0x2a [Type: unsigned __int64] +// cdb-check: [1] : 4321 [Type: int] + +#![feature(ptr_internals)] + use std::mem::ManuallyDrop; use std::pin::Pin; -use std::ptr::NonNull; +use std::ptr::{NonNull, Unique}; fn main() { let nonnull: NonNull<_> = (&12u32).into(); @@ -33,6 +41,8 @@ fn main() { let mut s = "this".to_string(); let pin = Pin::new(&mut s); + let unique: Unique<_> = (&mut (42u64, 4321i32)).into(); + zzz(); // #break } diff --git a/src/test/debuginfo/rc_arc.rs b/src/test/debuginfo/rc_arc.rs index 24623bc972e..55cddf7c6c6 100644 --- a/src/test/debuginfo/rc_arc.rs +++ b/src/test/debuginfo/rc_arc.rs @@ -31,29 +31,37 @@ // cdb-check:r,d : 42 [Type: alloc::rc::Rc<i32>] // cdb-check: [<Raw View>] [Type: alloc::rc::Rc<i32>] // cdb-check: [Reference count] : 2 [Type: core::cell::Cell<usize>] +// cdb-check: [Weak reference count] : 2 [Type: core::cell::Cell<usize>] // cdb-command:dx r1,d // cdb-check:r1,d : 42 [Type: alloc::rc::Rc<i32>] // cdb-check: [<Raw View>] [Type: alloc::rc::Rc<i32>] // cdb-check: [Reference count] : 2 [Type: core::cell::Cell<usize>] +// cdb-check: [Weak reference count] : 2 [Type: core::cell::Cell<usize>] // cdb-command:dx w1,d // cdb-check:w1,d : 42 [Type: alloc::rc::Weak<i32>] // cdb-check: [<Raw View>] [Type: alloc::rc::Weak<i32>] +// cdb-check: [Reference count] : 2 [Type: core::cell::Cell<usize>] +// cdb-check: [Weak reference count] : 2 [Type: core::cell::Cell<usize>] // cdb-command:dx a,d // cdb-check:a,d : 42 [Type: alloc::sync::Arc<i32>] // cdb-check: [<Raw View>] [Type: alloc::sync::Arc<i32>] // cdb-check: [Reference count] : 2 [Type: core::sync::atomic::AtomicUsize] +// cdb-check: [Weak reference count] : 2 [Type: core::sync::atomic::AtomicUsize] // cdb-command:dx a1,d // cdb-check:a1,d : 42 [Type: alloc::sync::Arc<i32>] // cdb-check: [<Raw View>] [Type: alloc::sync::Arc<i32>] // cdb-check: [Reference count] : 2 [Type: core::sync::atomic::AtomicUsize] +// cdb-check: [Weak reference count] : 2 [Type: core::sync::atomic::AtomicUsize] // cdb-command:dx w2,d // cdb-check:w2,d : 42 [Type: alloc::sync::Weak<i32>] // cdb-check: [<Raw View>] [Type: alloc::sync::Weak<i32>] +// cdb-check: [Reference count] : 2 [Type: core::sync::atomic::AtomicUsize] +// cdb-check: [Weak reference count] : 2 [Type: core::sync::atomic::AtomicUsize] use std::rc::Rc; use std::sync::Arc; |
