diff options
Diffstat (limited to 'src/liballoc/sync/tests.rs')
| -rw-r--r-- | src/liballoc/sync/tests.rs | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/liballoc/sync/tests.rs b/src/liballoc/sync/tests.rs index 2e0c62f50c1..9220f5e0333 100644 --- a/src/liballoc/sync/tests.rs +++ b/src/liballoc/sync/tests.rs @@ -9,7 +9,7 @@ use std::option::Option::{self, None, Some}; use std::sync::atomic::{self, Ordering::{Acquire, SeqCst}}; use std::thread; use std::sync::Mutex; -use std::convert::From; +use std::convert::{From, TryInto}; use crate::vec::Vec; @@ -478,3 +478,15 @@ fn test_downcast() { assert!(r2str.is_ok()); assert_eq!(r2str.unwrap(), Arc::new("abc")); } + +#[test] +fn test_array_from_slice() { + let v = vec![1, 2, 3]; + let r: Arc<[u32]> = Arc::from(v); + + let a: Result<Arc<[u32; 3]>, _> = r.clone().try_into(); + assert!(a.is_ok()); + + let a: Result<Arc<[u32; 2]>, _> = r.clone().try_into(); + assert!(a.is_err()); +} |
