@@ -1002,31 +1002,33 @@ pub fn retain<T>(v: &mut ~[T], f: &fn(t: &T) -> bool) {
1002
1002
}
1003
1003
1004
1004
/// Flattens a vector of vectors of T into a single vector of T.
1005
- pub fn concat < T : Copy > ( v : & [ ~[ T ] ] ) -> ~[ T ] { v. concat ( ) }
1005
+ pub fn concat < T : Copy > ( v : & [ ~[ T ] ] ) -> ~[ T ] { v. concat_vec ( ) }
1006
1006
1007
1007
/// Concatenate a vector of vectors, placing a given separator between each
1008
- pub fn connect < T : Copy > ( v : & [ ~[ T ] ] , sep : & T ) -> ~[ T ] { v. connect ( sep) }
1008
+ pub fn connect < T : Copy > ( v : & [ ~[ T ] ] , sep : & T ) -> ~[ T ] { v. connect_vec ( sep) }
1009
1009
1010
1010
/// Flattens a vector of vectors of T into a single vector of T.
1011
- pub fn concat_slices < T : Copy > ( v : & [ & [ T ] ] ) -> ~[ T ] { v. concat ( ) }
1011
+ pub fn concat_slices < T : Copy > ( v : & [ & [ T ] ] ) -> ~[ T ] { v. concat_vec ( ) }
1012
1012
1013
1013
/// Concatenate a vector of vectors, placing a given separator between each
1014
- pub fn connect_slices < T : Copy > ( v : & [ & [ T ] ] , sep : & T ) -> ~[ T ] { v. connect ( sep) }
1014
+ pub fn connect_slices < T : Copy > ( v : & [ & [ T ] ] , sep : & T ) -> ~[ T ] { v. connect_vec ( sep) }
1015
1015
1016
1016
#[ allow( missing_doc) ]
1017
1017
pub trait VectorVector < T > {
1018
- pub fn concat ( & self ) -> ~[ T ] ;
1019
- pub fn connect ( & self , sep : & T ) -> ~[ T ] ;
1018
+ // FIXME #5898: calling these .concat and .connect conflicts with
1019
+ // StrVector::con{cat,nect}, since they have generic contents.
1020
+ pub fn concat_vec ( & self ) -> ~[ T ] ;
1021
+ pub fn connect_vec ( & self , sep : & T ) -> ~[ T ] ;
1020
1022
}
1021
1023
1022
1024
impl < ' self , T : Copy > VectorVector < T > for & ' self [ ~[ T ] ] {
1023
1025
/// Flattens a vector of slices of T into a single vector of T.
1024
- pub fn concat ( & self ) -> ~[ T ] {
1026
+ pub fn concat_vec ( & self ) -> ~[ T ] {
1025
1027
self . flat_map ( |& inner| inner)
1026
1028
}
1027
1029
1028
1030
/// Concatenate a vector of vectors, placing a given separator between each.
1029
- pub fn connect ( & self , sep : & T ) -> ~[ T ] {
1031
+ pub fn connect_vec ( & self , sep : & T ) -> ~[ T ] {
1030
1032
let mut r = ~[ ] ;
1031
1033
let mut first = true ;
1032
1034
for self . each |& inner| {
@@ -1039,12 +1041,12 @@ impl<'self, T:Copy> VectorVector<T> for &'self [~[T]] {
1039
1041
1040
1042
impl < ' self , T : Copy > VectorVector < T > for & ' self [ & ' self [ T ] ] {
1041
1043
/// Flattens a vector of slices of T into a single vector of T.
1042
- pub fn concat ( & self ) -> ~[ T ] {
1044
+ pub fn concat_vec ( & self ) -> ~[ T ] {
1043
1045
self . flat_map ( |& inner| inner. to_owned ( ) )
1044
1046
}
1045
1047
1046
1048
/// Concatenate a vector of slices, placing a given separator between each.
1047
- pub fn connect ( & self , sep : & T ) -> ~[ T ] {
1049
+ pub fn connect_vec ( & self , sep : & T ) -> ~[ T ] {
1048
1050
let mut r = ~[ ] ;
1049
1051
let mut first = true ;
1050
1052
for self . each |& inner| {
@@ -3639,25 +3641,25 @@ mod tests {
3639
3641
#[ test]
3640
3642
fn test_concat ( ) {
3641
3643
assert_eq ! ( concat( [ ~[ 1 ] , ~[ 2 , 3 ] ] ) , ~[ 1 , 2 , 3 ] ) ;
3642
- assert_eq ! ( [ ~[ 1 ] , ~[ 2 , 3 ] ] . concat ( ) , ~[ 1 , 2 , 3 ] ) ;
3644
+ assert_eq ! ( [ ~[ 1 ] , ~[ 2 , 3 ] ] . concat_vec ( ) , ~[ 1 , 2 , 3 ] ) ;
3643
3645
3644
3646
assert_eq ! ( concat_slices( [ & [ 1 ] , & [ 2 , 3 ] ] ) , ~[ 1 , 2 , 3 ] ) ;
3645
- assert_eq ! ( [ & [ 1 ] , & [ 2 , 3 ] ] . concat ( ) , ~[ 1 , 2 , 3 ] ) ;
3647
+ assert_eq ! ( [ & [ 1 ] , & [ 2 , 3 ] ] . concat_vec ( ) , ~[ 1 , 2 , 3 ] ) ;
3646
3648
}
3647
3649
3648
3650
#[ test]
3649
3651
fn test_connect ( ) {
3650
3652
assert_eq ! ( connect( [ ] , & 0 ) , ~[ ] ) ;
3651
3653
assert_eq ! ( connect( [ ~[ 1 ] , ~[ 2 , 3 ] ] , & 0 ) , ~[ 1 , 0 , 2 , 3 ] ) ;
3652
3654
assert_eq ! ( connect( [ ~[ 1 ] , ~[ 2 ] , ~[ 3 ] ] , & 0 ) , ~[ 1 , 0 , 2 , 0 , 3 ] ) ;
3653
- assert_eq ! ( [ ~[ 1 ] , ~[ 2 , 3 ] ] . connect ( & 0 ) , ~[ 1 , 0 , 2 , 3 ] ) ;
3654
- assert_eq ! ( [ ~[ 1 ] , ~[ 2 ] , ~[ 3 ] ] . connect ( & 0 ) , ~[ 1 , 0 , 2 , 0 , 3 ] ) ;
3655
+ assert_eq ! ( [ ~[ 1 ] , ~[ 2 , 3 ] ] . connect_vec ( & 0 ) , ~[ 1 , 0 , 2 , 3 ] ) ;
3656
+ assert_eq ! ( [ ~[ 1 ] , ~[ 2 ] , ~[ 3 ] ] . connect_vec ( & 0 ) , ~[ 1 , 0 , 2 , 0 , 3 ] ) ;
3655
3657
3656
3658
assert_eq ! ( connect_slices( [ ] , & 0 ) , ~[ ] ) ;
3657
3659
assert_eq ! ( connect_slices( [ & [ 1 ] , & [ 2 , 3 ] ] , & 0 ) , ~[ 1 , 0 , 2 , 3 ] ) ;
3658
3660
assert_eq ! ( connect_slices( [ & [ 1 ] , & [ 2 ] , & [ 3 ] ] , & 0 ) , ~[ 1 , 0 , 2 , 0 , 3 ] ) ;
3659
- assert_eq ! ( [ & [ 1 ] , & [ 2 , 3 ] ] . connect ( & 0 ) , ~[ 1 , 0 , 2 , 3 ] ) ;
3660
- assert_eq ! ( [ & [ 1 ] , & [ 2 ] , & [ 3 ] ] . connect ( & 0 ) , ~[ 1 , 0 , 2 , 0 , 3 ] ) ;
3661
+ assert_eq ! ( [ & [ 1 ] , & [ 2 , 3 ] ] . connect_vec ( & 0 ) , ~[ 1 , 0 , 2 , 3 ] ) ;
3662
+ assert_eq ! ( [ & [ 1 ] , & [ 2 ] , & [ 3 ] ] . connect_vec ( & 0 ) , ~[ 1 , 0 , 2 , 0 , 3 ] ) ;
3661
3663
}
3662
3664
3663
3665
#[ test]
0 commit comments