@@ -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| {
@@ -3704,25 +3706,25 @@ mod tests {
3704
3706
#[ test]
3705
3707
fn test_concat ( ) {
3706
3708
assert_eq ! ( concat( [ ~[ 1 ] , ~[ 2 , 3 ] ] ) , ~[ 1 , 2 , 3 ] ) ;
3707
- assert_eq ! ( [ ~[ 1 ] , ~[ 2 , 3 ] ] . concat ( ) , ~[ 1 , 2 , 3 ] ) ;
3709
+ assert_eq ! ( [ ~[ 1 ] , ~[ 2 , 3 ] ] . concat_vec ( ) , ~[ 1 , 2 , 3 ] ) ;
3708
3710
3709
3711
assert_eq ! ( concat_slices( [ & [ 1 ] , & [ 2 , 3 ] ] ) , ~[ 1 , 2 , 3 ] ) ;
3710
- assert_eq ! ( [ & [ 1 ] , & [ 2 , 3 ] ] . concat ( ) , ~[ 1 , 2 , 3 ] ) ;
3712
+ assert_eq ! ( [ & [ 1 ] , & [ 2 , 3 ] ] . concat_vec ( ) , ~[ 1 , 2 , 3 ] ) ;
3711
3713
}
3712
3714
3713
3715
#[ test]
3714
3716
fn test_connect ( ) {
3715
3717
assert_eq ! ( connect( [ ] , & 0 ) , ~[ ] ) ;
3716
3718
assert_eq ! ( connect( [ ~[ 1 ] , ~[ 2 , 3 ] ] , & 0 ) , ~[ 1 , 0 , 2 , 3 ] ) ;
3717
3719
assert_eq ! ( connect( [ ~[ 1 ] , ~[ 2 ] , ~[ 3 ] ] , & 0 ) , ~[ 1 , 0 , 2 , 0 , 3 ] ) ;
3718
- assert_eq ! ( [ ~[ 1 ] , ~[ 2 , 3 ] ] . connect ( & 0 ) , ~[ 1 , 0 , 2 , 3 ] ) ;
3719
- assert_eq ! ( [ ~[ 1 ] , ~[ 2 ] , ~[ 3 ] ] . connect ( & 0 ) , ~[ 1 , 0 , 2 , 0 , 3 ] ) ;
3720
+ assert_eq ! ( [ ~[ 1 ] , ~[ 2 , 3 ] ] . connect_vec ( & 0 ) , ~[ 1 , 0 , 2 , 3 ] ) ;
3721
+ assert_eq ! ( [ ~[ 1 ] , ~[ 2 ] , ~[ 3 ] ] . connect_vec ( & 0 ) , ~[ 1 , 0 , 2 , 0 , 3 ] ) ;
3720
3722
3721
3723
assert_eq ! ( connect_slices( [ ] , & 0 ) , ~[ ] ) ;
3722
3724
assert_eq ! ( connect_slices( [ & [ 1 ] , & [ 2 , 3 ] ] , & 0 ) , ~[ 1 , 0 , 2 , 3 ] ) ;
3723
3725
assert_eq ! ( connect_slices( [ & [ 1 ] , & [ 2 ] , & [ 3 ] ] , & 0 ) , ~[ 1 , 0 , 2 , 0 , 3 ] ) ;
3724
- assert_eq ! ( [ & [ 1 ] , & [ 2 , 3 ] ] . connect ( & 0 ) , ~[ 1 , 0 , 2 , 3 ] ) ;
3725
- assert_eq ! ( [ & [ 1 ] , & [ 2 ] , & [ 3 ] ] . connect ( & 0 ) , ~[ 1 , 0 , 2 , 0 , 3 ] ) ;
3726
+ assert_eq ! ( [ & [ 1 ] , & [ 2 , 3 ] ] . connect_vec ( & 0 ) , ~[ 1 , 0 , 2 , 3 ] ) ;
3727
+ assert_eq ! ( [ & [ 1 ] , & [ 2 ] , & [ 3 ] ] . connect_vec ( & 0 ) , ~[ 1 , 0 , 2 , 0 , 3 ] ) ;
3726
3728
}
3727
3729
3728
3730
#[ test]
0 commit comments