rust/src/librustc/middle/trans
bors cc80652e4a auto merge of #7060 : huonw/rust/more-str, r=thestinger
There are now only half-a-dozen or so functions left `std::str` that should be methods.

Highlights:
- `.substr` was removed, since most of the uses of it in the code base were actually incorrect (it had a weird mixing of a byte index and a unicode character count), adding `.slice_chars` if one wants to handle characters, and the normal `.slice` method to handle bytes.
- Code duplication between the two impls for `connect` and `concat` was removed via a new `Str` trait, that is purely designed to allow an explicit -> `&str` conversion (`.as_slice()`)
- Deconfuse the 5 different functions for converting to `[u8]` (3 of which had actually incorrect documentation: implying that they didn't have the null terminator), into 3: `as_bytes` (all strings), `as_bytes_with_null` (`&'static str`, `@str` and `~str`) and `as_bytes_with_null_consume` (`~str`). None of these allocate, unlike the old versions.

(cc @thestinger)
2013-06-11 21:37:43 -07:00
..
_match.rs option: remove redundant old_iter impls 2013-06-11 14:06:12 -04:00
adt.rs std: unify the str -> [u8] functions as 3 methods: .as_bytes() and .as_bytes_with_null[_consume](). 2013-06-12 12:21:04 +10:00
asm.rs std: remove str::{connect,concat}*. 2013-06-10 23:57:03 +10:00
base.rs auto merge of #7060 : huonw/rust/more-str, r=thestinger 2013-06-11 21:37:43 -07:00
block.rs
build.rs std: convert str::replace to a method. 2013-06-12 12:21:04 +10:00
cabi_arm.rs std: remove foldr and alli methods in vec 2013-06-09 02:22:23 +10:00
cabi_mips.rs Remove all usage of the global LLVMContextRef 2013-06-10 13:17:04 -07:00
cabi_x86_64.rs std: remove fold[lr] in favour of iterators 2013-06-09 02:22:23 +10:00
cabi_x86.rs
cabi.rs Remove all uses of pub impl. rs=style 2013-06-01 09:18:27 -07:00
callee.rs option: remove redundant old_iter impls 2013-06-11 14:06:12 -04:00
closure.rs auto merge of #7055 : thestinger/rust/iterator, r=catamorphism 2013-06-11 16:19:42 -07:00
common.rs auto merge of #7067 : brson/rust/notasktrans, r=graydon 2013-06-11 19:37:39 -07:00
consts.rs syntax: move callee_id into the expr_ variants 2013-06-01 15:31:56 -07:00
controlflow.rs librustc: Disallow multiple patterns from appearing in a "let" declaration. 2013-06-04 21:45:42 -07:00
datum.rs Remove all uses of pub impl. rs=style 2013-06-01 09:18:27 -07:00
debuginfo.rs Remove all usage of the global LLVMContextRef 2013-06-10 13:17:04 -07:00
expr.rs std: remove substr & str::count_*, methodise char_len, implement slice_chars. 2013-06-12 12:21:04 +10:00
foreign.rs token_to_ident takes argument by reference 2013-06-05 12:01:38 -07:00
glue.rs Remove unnecessary 'use' forms 2013-05-30 13:08:18 -07:00
inline.rs std: remove vec::each2 and vec::each2_mut in favour of iterators 2013-06-08 01:20:47 +10:00
machine.rs
macros.rs
meth.rs librustc: Disallow multiple patterns from appearing in a "let" declaration. 2013-06-04 21:45:42 -07:00
monomorphize.rs option: remove redundant old_iter impls 2013-06-11 14:06:12 -04:00
reachable.rs option: remove redundant old_iter impls 2013-06-11 14:06:12 -04:00
reflect.rs Remove all uses of pub impl. rs=style 2013-06-01 09:18:27 -07:00
shape.rs Silence various warnings throughout test modules 2013-05-28 15:27:35 -05:00
tvec.rs librustc: Disallow multiple patterns from appearing in a "let" declaration. 2013-06-04 21:45:42 -07:00
type_of.rs Remove all usage of the global LLVMContextRef 2013-06-10 13:17:04 -07:00
type_use.rs option: remove redundant old_iter impls 2013-06-11 14:06:12 -04:00
uniq.rs
write_guard.rs