@@ -228,7 +228,7 @@ fn push_char(&s: ~str, ch: char) {
228
228
pure fn from_char ( ch : char ) -> ~str {
229
229
let mut buf = ~"";
230
230
unchecked { push_char( buf, ch) ; }
231
- return buf;
231
+ move buf
232
232
}
233
233
234
234
/// Convert a vector of chars to a string
@@ -238,7 +238,7 @@ pure fn from_chars(chs: &[char]) -> ~str {
238
238
reserve( buf, chs. len ( ) ) ;
239
239
for vec:: each( chs) |ch| { push_char( buf, ch) ; }
240
240
}
241
- return buf;
241
+ move buf
242
242
}
243
243
244
244
/// Appends a string slice to the back of a string, without overallocating
@@ -281,15 +281,15 @@ pure fn append(+lhs: ~str, rhs: &str) -> ~str {
281
281
unchecked {
282
282
push_str_no_overallocate( v, rhs) ;
283
283
}
284
- return v ;
284
+ move v
285
285
}
286
286
287
287
288
288
/// Concatenate a vector of strings
289
289
pure fn concat ( v : & [ ~str ] ) -> ~str {
290
290
let mut s: ~str = ~"";
291
291
for vec:: each( v) |ss| { unchecked { push_str( s, ss) } ; }
292
- return s ;
292
+ move s
293
293
}
294
294
295
295
/// Concatenate a vector of strings, placing a given separator between each
@@ -299,7 +299,7 @@ pure fn connect(v: &[~str], sep: &str) -> ~str {
299
299
if first { first = false ; } else { unchecked { push_str( s, sep) ; } }
300
300
unchecked { push_str( s, ss) } ;
301
301
}
302
- return s ;
302
+ move s
303
303
}
304
304
305
305
/*
@@ -436,13 +436,11 @@ Section: Transforming strings
436
436
*
437
437
* The result vector is not null-terminated.
438
438
*/
439
- pure fn to_bytes ( s : & str ) -> ~[ u8 ] {
440
- unsafe {
441
- let mut s_copy = from_slice ( s) ;
442
- let mut v: ~[ u8 ] = :: unsafe:: transmute ( s_copy) ;
443
- vec:: unsafe:: set_len ( v, len ( s) ) ;
444
- return v;
445
- }
439
+ pure fn to_bytes ( s : & str ) -> ~[ u8 ] unsafe {
440
+ let mut s_copy = from_slice ( s) ;
441
+ let mut v: ~[ u8 ] = :: unsafe:: transmute ( s_copy) ;
442
+ vec:: unsafe:: set_len ( v, len ( s) ) ;
443
+ move v
446
444
}
447
445
448
446
/// Work with the string as a byte slice, not including trailing null.
@@ -462,7 +460,7 @@ pure fn chars(s: &str) -> ~[char] {
462
460
unchecked { vec : : push ( buf, ch) ; }
463
461
i = next;
464
462
}
465
- return buf;
463
+ move buf
466
464
}
467
465
468
466
/**
@@ -539,7 +537,7 @@ pure fn split_char_inner(s: &str, sep: char, count: uint, allow_empty: bool)
539
537
if allow_empty || start < l {
540
538
unsafe { vec:: push ( result, unsafe :: slice_bytes ( s, start, l) ) } ;
541
539
}
542
- result
540
+ move result
543
541
} else {
544
542
splitn ( s, |cur| cur == sep, count)
545
543
}
@@ -582,7 +580,7 @@ pure fn split_inner(s: &str, sepfn: fn(cc: char) -> bool, count: uint,
582
580
if allow_empty || start < l unchecked {
583
581
vec:: push ( result, unsafe { unsafe :: slice_bytes ( s, start, l) } ) ;
584
582
}
585
- result
583
+ move result
586
584
}
587
585
588
586
// See Issue #1932 for why this is a naive search
@@ -636,7 +634,7 @@ pure fn split_str(s: &a/str, sep: &b/str) -> ~[~str] {
636
634
do iter_between_matches ( s, sep) |from, to| {
637
635
unsafe { vec:: push ( result, unsafe :: slice_bytes ( s, from, to) ) ; }
638
636
}
639
- result
637
+ move result
640
638
}
641
639
642
640
pure fn split_str_nonempty ( s : & a/str , sep : & b/str ) -> ~[ ~str ] {
@@ -646,7 +644,7 @@ pure fn split_str_nonempty(s: &a/str, sep: &b/str) -> ~[~str] {
646
644
unsafe { vec:: push ( result, unsafe :: slice_bytes ( s, from, to) ) ; }
647
645
}
648
646
}
649
- result
647
+ move result
650
648
}
651
649
652
650
/**
@@ -665,7 +663,7 @@ pure fn lines_any(s: &str) -> ~[~str] {
665
663
if l > 0 u && s[ l - 1 u] == '\r' as u8 {
666
664
unsafe { unsafe :: set_len ( cp, l - 1 u) ; }
667
665
}
668
- cp
666
+ move cp
669
667
} )
670
668
}
671
669
@@ -707,7 +705,7 @@ pure fn replace(s: &str, from: &str, to: &str) -> ~str {
707
705
if first { first = false ; } else { unchecked { push_str( result, to) ; } }
708
706
unsafe { push_str ( result, unsafe :: slice_bytes ( s, start, end) ) ; }
709
707
}
710
- result
708
+ move result
711
709
}
712
710
713
711
/*
@@ -865,7 +863,7 @@ pure fn map(ss: &str, ff: fn(char) -> char) -> ~str {
865
863
str:: push_char ( result, ff ( cc) ) ;
866
864
}
867
865
}
868
- result
866
+ move result
869
867
}
870
868
871
869
/// Iterate over the bytes in a string
@@ -1517,7 +1515,7 @@ pure fn to_utf16(s: &str) -> ~[u16] {
1517
1515
vec:: push_all ( u, ~[ w1, w2] )
1518
1516
}
1519
1517
}
1520
- return u ;
1518
+ move u
1521
1519
}
1522
1520
1523
1521
pure fn utf16_chars( v: & [ u16] , f: fn ( char) ) {
@@ -1551,7 +1549,7 @@ pure fn from_utf16(v: &[u16]) -> ~str {
1551
1549
reserve( buf, vec:: len ( v) ) ;
1552
1550
utf16_chars ( v, |ch| push_char ( buf, ch) ) ;
1553
1551
}
1554
- return buf;
1552
+ move buf
1555
1553
}
1556
1554
1557
1555
@@ -1931,7 +1929,7 @@ pure fn escape_default(s: &str) -> ~str {
1931
1929
reserve_at_least( out, str:: len ( s) ) ;
1932
1930
chars_iter ( s, |c| push_str ( out, char:: escape_default ( c) ) ) ;
1933
1931
}
1934
- return out;
1932
+ move out
1935
1933
}
1936
1934
1937
1935
/// Escape each char in `s` with char::escape_unicode.
@@ -1941,7 +1939,7 @@ pure fn escape_unicode(s: &str) -> ~str {
1941
1939
reserve_at_least( out, str:: len ( s) ) ;
1942
1940
chars_iter ( s, |c| push_str ( out, char:: escape_unicode ( c) ) ) ;
1943
1941
}
1944
- return out;
1942
+ move out
1945
1943
}
1946
1944
1947
1945
/// Unsafe operations
0 commit comments