@@ -73,14 +73,15 @@ use core::convert::From;
73
73
use core:: fmt;
74
74
use core:: future:: Future ;
75
75
use core:: hash:: { Hash , Hasher } ;
76
- use core:: iter:: FusedIterator ;
76
+ use core:: iter:: { Iterator , FromIterator , FusedIterator } ;
77
77
use core:: marker:: { Unpin , Unsize } ;
78
78
use core:: mem;
79
79
use core:: pin:: Pin ;
80
80
use core:: ops:: { CoerceUnsized , DispatchFromDyn , Deref , DerefMut , Generator , GeneratorState } ;
81
81
use core:: ptr:: { self , NonNull , Unique } ;
82
82
use core:: task:: { LocalWaker , Poll } ;
83
83
84
+ use vec:: Vec ;
84
85
use raw_vec:: RawVec ;
85
86
use str:: from_boxed_utf8_unchecked;
86
87
@@ -699,6 +700,13 @@ impl<T: ?Sized + Unsize<U>, U: ?Sized> CoerceUnsized<Box<U>> for Box<T> {}
699
700
#[ unstable( feature = "dispatch_from_dyn" , issue = "0" ) ]
700
701
impl < T : ?Sized + Unsize < U > , U : ?Sized > DispatchFromDyn < Box < U > > for Box < T > { }
701
702
703
+ #[ stable( feature = "boxed_slice_from_iter" , since = "1.32.0" ) ]
704
+ impl < A > FromIterator < A > for Box < [ A ] > {
705
+ fn from_iter < T : IntoIterator < Item = A > > ( iter : T ) -> Self {
706
+ iter. into_iter ( ) . collect :: < Vec < _ > > ( ) . into_boxed_slice ( )
707
+ }
708
+ }
709
+
702
710
#[ stable( feature = "box_slice_clone" , since = "1.3.0" ) ]
703
711
impl < T : Clone > Clone for Box < [ T ] > {
704
712
fn clone ( & self ) -> Self {
0 commit comments