File tree Expand file tree Collapse file tree 1 file changed +7
-6
lines changed Expand file tree Collapse file tree 1 file changed +7
-6
lines changed Original file line number Diff line number Diff line change 2323// * The `raw` and `bytes` submodules.
2424// * Boilerplate trait implementations.
2525
26- use crate :: borrow:: Borrow ;
2726use crate :: cmp;
2827use crate :: cmp:: Ordering :: { self , Equal , Greater , Less } ;
2928use crate :: fmt;
@@ -2157,14 +2156,16 @@ impl<T> [T] {
21572156 /// assert_eq!(buf, vec![1; 10]);
21582157 /// ```
21592158 #[ unstable( feature = "slice_fill" , issue = "70758" ) ]
2160- pub fn fill < V > ( & mut self , value : V )
2159+ pub fn fill ( & mut self , value : T )
21612160 where
2162- V : Borrow < T > ,
21632161 T : Clone ,
21642162 {
2165- let value = value. borrow ( ) ;
2166- for el in self {
2167- el. clone_from ( value)
2163+ if let Some ( ( last, elems) ) = self . split_last_mut ( ) {
2164+ for el in elems {
2165+ el. clone_from ( & value) ;
2166+ }
2167+
2168+ * last = value
21682169 }
21692170 }
21702171
You can’t perform that action at this time.
0 commit comments