@@ -18,10 +18,23 @@ LL | let boxed_array = <Box<[i32; 33]>>::try_from(boxed_slice);
1818 <std::boxed::Box<(dyn std::error::Error + 'static)> as std::convert::From<&str>>
1919 <std::boxed::Box<(dyn std::error::Error + 'static)> as std::convert::From<std::borrow::Cow<'a, str>>>
2020 <std::boxed::Box<(dyn std::error::Error + 'static)> as std::convert::From<std::string::String>>
21- and 21 others
21+ and 22 others
2222 = note: required because of the requirements on the impl of `std::convert::Into<std::boxed::Box<[i32; 33]>>` for `std::boxed::Box<[i32]>`
2323 = note: required because of the requirements on the impl of `std::convert::TryFrom<std::boxed::Box<[i32]>>` for `std::boxed::Box<[i32; 33]>`
2424
25+ error[E0277]: arrays only have std trait implementations for lengths 0..=32
26+ --> $DIR/alloc-types-no-impls-length-33.rs:15:42
27+ |
28+ LL | let boxed_slice = <Box<[i32]>>::from([0; 33]);
29+ | ^^^^^^^
30+ | |
31+ | expected an implementor of trait `std::convert::From<[{integer}; 33]>`
32+ | help: consider borrowing here: `&[0; 33]`
33+ |
34+ = note: the trait bound `[i32; 33]: std::convert::From<[{integer}; 33]>` is not satisfied
35+ = note: required because of the requirements on the impl of `std::convert::From<[i32; 33]>` for `std::boxed::Box<[i32]>`
36+ = note: required by `std::convert::From::from`
37+
2538error[E0277]: the trait bound `std::boxed::Box<[i32; 33]>: std::convert::TryFrom<std::boxed::Box<[i32]>>` is not satisfied
2639 --> $DIR/alloc-types-no-impls-length-33.rs:12:23
2740 |
@@ -32,7 +45,7 @@ LL | let boxed_array = <Box<[i32; 33]>>::try_from(boxed_slice);
3245 <std::boxed::Box<[T; N]> as std::convert::TryFrom<std::boxed::Box<[T]>>>
3346
3447error[E0277]: the trait bound `std::rc::Rc<[i32; 33]>: std::convert::From<std::rc::Rc<[i32]>>` is not satisfied
35- --> $DIR/alloc-types-no-impls-length-33.rs:19 :23
48+ --> $DIR/alloc-types-no-impls-length-33.rs:21 :23
3649 |
3750LL | let boxed_array = <Rc<[i32; 33]>>::try_from(boxed_slice);
3851 | ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `std::convert::From<std::rc::Rc<[i32]>>` is not implemented for `std::rc::Rc<[i32; 33]>`
@@ -47,7 +60,7 @@ LL | let boxed_array = <Rc<[i32; 33]>>::try_from(boxed_slice);
4760 = note: required because of the requirements on the impl of `std::convert::TryFrom<std::rc::Rc<[i32]>>` for `std::rc::Rc<[i32; 33]>`
4861
4962error[E0277]: the trait bound `std::rc::Rc<[i32; 33]>: std::convert::TryFrom<std::rc::Rc<[i32]>>` is not satisfied
50- --> $DIR/alloc-types-no-impls-length-33.rs:19 :23
63+ --> $DIR/alloc-types-no-impls-length-33.rs:21 :23
5164 |
5265LL | let boxed_array = <Rc<[i32; 33]>>::try_from(boxed_slice);
5366 | ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `std::convert::TryFrom<std::rc::Rc<[i32]>>` is not implemented for `std::rc::Rc<[i32; 33]>`
@@ -56,7 +69,7 @@ LL | let boxed_array = <Rc<[i32; 33]>>::try_from(boxed_slice);
5669 <std::rc::Rc<[T; N]> as std::convert::TryFrom<std::rc::Rc<[T]>>>
5770
5871error[E0277]: the trait bound `std::sync::Arc<[i32; 33]>: std::convert::From<std::sync::Arc<[i32]>>` is not satisfied
59- --> $DIR/alloc-types-no-impls-length-33.rs:26 :23
72+ --> $DIR/alloc-types-no-impls-length-33.rs:28 :23
6073 |
6174LL | let boxed_array = <Arc<[i32; 33]>>::try_from(boxed_slice);
6275 | ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `std::convert::From<std::sync::Arc<[i32]>>` is not implemented for `std::sync::Arc<[i32; 33]>`
@@ -71,14 +84,14 @@ LL | let boxed_array = <Arc<[i32; 33]>>::try_from(boxed_slice);
7184 = note: required because of the requirements on the impl of `std::convert::TryFrom<std::sync::Arc<[i32]>>` for `std::sync::Arc<[i32; 33]>`
7285
7386error[E0277]: the trait bound `std::sync::Arc<[i32; 33]>: std::convert::TryFrom<std::sync::Arc<[i32]>>` is not satisfied
74- --> $DIR/alloc-types-no-impls-length-33.rs:26 :23
87+ --> $DIR/alloc-types-no-impls-length-33.rs:28 :23
7588 |
7689LL | let boxed_array = <Arc<[i32; 33]>>::try_from(boxed_slice);
7790 | ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `std::convert::TryFrom<std::sync::Arc<[i32]>>` is not implemented for `std::sync::Arc<[i32; 33]>`
7891 |
7992 = help: the following implementations were found:
8093 <std::sync::Arc<[T; N]> as std::convert::TryFrom<std::sync::Arc<[T]>>>
8194
82- error: aborting due to 7 previous errors
95+ error: aborting due to 8 previous errors
8396
8497For more information about this error, try `rustc --explain E0277`.
0 commit comments