@@ -2373,6 +2373,26 @@ impl<'a> FromIterator<Cow<'a, str>> for String {
2373
2373
}
2374
2374
}
2375
2375
2376
+ #[ cfg( not( no_global_oom_handling) ) ]
2377
+ #[ unstable( feature = "ascii_char" , issue = "110998" ) ]
2378
+ impl FromIterator < core:: ascii:: Char > for String {
2379
+ fn from_iter < T : IntoIterator < Item = core:: ascii:: Char > > ( iter : T ) -> Self {
2380
+ let mut buf = String :: new ( ) ;
2381
+ buf. extend ( iter) ;
2382
+ buf
2383
+ }
2384
+ }
2385
+
2386
+ #[ cfg( not( no_global_oom_handling) ) ]
2387
+ #[ unstable( feature = "ascii_char" , issue = "110998" ) ]
2388
+ impl < ' a > FromIterator < & ' a core:: ascii:: Char > for String {
2389
+ fn from_iter < T : IntoIterator < Item = & ' a core:: ascii:: Char > > ( iter : T ) -> Self {
2390
+ let mut buf = String :: new ( ) ;
2391
+ buf. extend ( iter) ;
2392
+ buf
2393
+ }
2394
+ }
2395
+
2376
2396
#[ cfg( not( no_global_oom_handling) ) ]
2377
2397
#[ stable( feature = "rust1" , since = "1.0.0" ) ]
2378
2398
impl Extend < char > for String {
@@ -3200,6 +3220,14 @@ impl<'a> FromIterator<String> for Cow<'a, str> {
3200
3220
}
3201
3221
}
3202
3222
3223
+ #[ cfg( not( no_global_oom_handling) ) ]
3224
+ #[ unstable( feature = "ascii_char" , issue = "110998" ) ]
3225
+ impl < ' a > FromIterator < core:: ascii:: Char > for Cow < ' a , str > {
3226
+ fn from_iter < T : IntoIterator < Item = core:: ascii:: Char > > ( it : T ) -> Self {
3227
+ Cow :: Owned ( FromIterator :: from_iter ( it) )
3228
+ }
3229
+ }
3230
+
3203
3231
#[ stable( feature = "from_string_for_vec_u8" , since = "1.14.0" ) ]
3204
3232
impl From < String > for Vec < u8 > {
3205
3233
/// Converts the given [`String`] to a vector [`Vec`] that holds values of type [`u8`].
0 commit comments