diff options
| author | Andrew Cann <shum@canndrew.org> | 2014-11-17 17:35:18 +0800 |
|---|---|---|
| committer | Andrew Cann <shum@canndrew.org> | 2014-11-17 17:35:18 +0800 |
| commit | 197a0ac481ae6d154c0966b21849432f1b32c28f (patch) | |
| tree | 05eaeb29b0d0a3dcff43b96f869d13a5b7fc9094 /src/rustllvm/RustWrapper.cpp | |
| parent | 803aacd5aef78f90fdd06ae7653fc20eec224992 (diff) | |
| download | rust-197a0ac481ae6d154c0966b21849432f1b32c28f.tar.gz rust-197a0ac481ae6d154c0966b21849432f1b32c28f.zip | |
change return type of slice_shift_char
`slice_shift_char` splits a `str` into it's leading `char` and the remainder
of the `str`. Currently, it returns a `(Option<char>, &str)` such that:
"bar".slice_shift_char() => (Some('b'), "ar")
"ar".slice_shift_char() => (Some('a'), "r")
"r".slice_shift_char() => (Some('r'), "")
"".slice_shift_char() => (None, "")
This is a little odd. Either a `str` can be split into both a head and a
tail or it cannot. So the return type should be `Option<(char, &str)>`.
With the current behaviour, in the case of the empty string, the `str`
returned is meaningless - it is always the empty string.
This commit changes slice_shift_char so that:
"bar".slice_shift_char() => Some(('b', "ar"))
"ar".slice_shift_char() => Some(('a', "r"))
"r".slice_shift_char() => Some(('r', ""))
"".slice_shift_char() => None
[breaking-change]
Diffstat (limited to 'src/rustllvm/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions
