diff options
| author | Jake Goulding <jake.goulding@gmail.com> | 2019-06-04 08:15:47 -0400 |
|---|---|---|
| committer | Jake Goulding <jake.goulding@gmail.com> | 2019-08-05 10:26:53 -0400 |
| commit | 32324d22c33dda31eadf49c5f27d6e6ff38a3ef1 (patch) | |
| tree | 4ceca954cd7f02dfd8000317f3021fb8e4e3dd35 /src/liballoc/rc | |
| parent | 4be067558962c004b638e4c6f162d50f7c0c98b6 (diff) | |
Add implementations for converting boxed slices into boxed arrays
This mirrors the implementations of reference slices into arrays.
Diffstat (limited to 'src/liballoc/rc')
| -rw-r--r-- | src/liballoc/rc/tests.rs | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/liballoc/rc/tests.rs b/src/liballoc/rc/tests.rs index 72816a5c120..6fd3f909357 100644 --- a/src/liballoc/rc/tests.rs +++ b/src/liballoc/rc/tests.rs @@ -6,7 +6,7 @@ use std::option::Option::{self, None, Some}; use std::result::Result::{Err, Ok}; use std::mem::drop; use std::clone::Clone; -use std::convert::From; +use std::convert::{From, TryInto}; #[test] fn test_clone() { @@ -425,3 +425,15 @@ fn test_downcast() { assert!(r2str.is_ok()); assert_eq!(r2str.unwrap(), Rc::new("abc")); } + +#[test] +fn test_array_from_slice() { + let v = vec![1, 2, 3]; + let r: Rc<[u32]> = Rc::from(v); + + let a: Result<Rc<[u32; 3]>, _> = r.clone().try_into(); + assert!(a.is_ok()); + + let a: Result<Rc<[u32; 2]>, _> = r.clone().try_into(); + assert!(a.is_err()); +} |
