diff options
| author | Alex Crichton <alex@alexcrichton.com> | 2015-02-10 08:43:16 -0800 |
|---|---|---|
| committer | Alex Crichton <alex@alexcrichton.com> | 2015-02-10 08:43:16 -0800 |
| commit | ba7b79008b5166b2b1cf043b4533917103d3e06e (patch) | |
| tree | d0ea738e91eea29e437593b00ee7aaf8c8f2fdf6 /src/libcoretest | |
| parent | 8b44cf2a40b93c5407b16de4cb988b01d265fa51 (diff) | |
| parent | 792dc8d067d1f11e08e859ccdd45d59436773fc9 (diff) | |
| download | rust-ba7b79008b5166b2b1cf043b4533917103d3e06e.tar.gz rust-ba7b79008b5166b2b1cf043b4533917103d3e06e.zip | |
rollup merge of #22142: Kimundi/unsized_unique
This is to allow for use cases like sending a raw pointer slice across thread boundaries.
Diffstat (limited to 'src/libcoretest')
| -rw-r--r-- | src/libcoretest/ptr.rs | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/libcoretest/ptr.rs b/src/libcoretest/ptr.rs index 7f0b97c53d4..2365b907b3f 100644 --- a/src/libcoretest/ptr.rs +++ b/src/libcoretest/ptr.rs @@ -167,3 +167,12 @@ fn test_set_memory() { unsafe { set_memory(ptr, 5u8, xs.len()); } assert!(xs == [5u8; 20]); } + +#[test] +fn test_unsized_unique() { + let xs: &mut [_] = &mut [1, 2, 3]; + let ptr = Unique(xs as *mut [_]); + let ys = unsafe { &mut *ptr.0 }; + let zs: &mut [_] = &mut [1, 2, 3]; + assert!(ys == zs); +} |
