diff options
| author | bors <bors@rust-lang.org> | 2017-08-14 17:05:02 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2017-08-14 17:05:02 +0000 |
| commit | f1ca76c4978b793ec2e6332009b1ba84d164eb03 (patch) | |
| tree | a77147bd27b563f44d1c24728d99f5352bbf17d1 /src/libcore/tests | |
| parent | 0d12553320150750f41446291d0e19a3ca648c82 (diff) | |
| parent | 846d373ddf31aeb76dabedb81a4ae9200d9da1cd (diff) | |
| download | rust-f1ca76c4978b793ec2e6332009b1ba84d164eb03.tar.gz rust-f1ca76c4978b793ec2e6332009b1ba84d164eb03.zip | |
Auto merge of #43574 - notriddle:master, r=sfackler
Implement `RefCell::replace` and `RefCell::swap` Tracking issue: #43570
Diffstat (limited to 'src/libcore/tests')
| -rw-r--r-- | src/libcore/tests/cell.rs | 17 | ||||
| -rw-r--r-- | src/libcore/tests/lib.rs | 1 |
2 files changed, 18 insertions, 0 deletions
diff --git a/src/libcore/tests/cell.rs b/src/libcore/tests/cell.rs index 8585f2f0871..cc0ef6a6f17 100644 --- a/src/libcore/tests/cell.rs +++ b/src/libcore/tests/cell.rs @@ -287,3 +287,20 @@ fn refcell_ref_coercion() { assert_eq!(&*coerced, comp); } } + +#[test] +#[should_panic] +fn refcell_swap_borrows() { + let x = RefCell::new(0); + let _b = x.borrow(); + let y = RefCell::new(1); + x.swap(&y); +} + +#[test] +#[should_panic] +fn refcell_replace_borrows() { + let x = RefCell::new(0); + let _b = x.borrow(); + x.replace(1); +} diff --git a/src/libcore/tests/lib.rs b/src/libcore/tests/lib.rs index a85c347146b..84a3be99c27 100644 --- a/src/libcore/tests/lib.rs +++ b/src/libcore/tests/lib.rs @@ -31,6 +31,7 @@ #![feature(ord_max_min)] #![feature(rand)] #![feature(raw)] +#![feature(refcell_replace_swap)] #![feature(sip_hash_13)] #![feature(slice_patterns)] #![feature(slice_rotate)] |
