Niko Matsakis
dc07280b08
make --enforce-mut-vars always on, add mut annotations to remaining files
2012-03-22 09:58:19 -07:00
Brian Anderson
b181ea415e
core: Rename unsafe::leak to unsafe::forget. Closes #2031
2012-03-20 15:20:37 -07:00
Brian Anderson
20417ebf31
core: Move unsafe conversions to str::unsafe
2012-03-19 15:47:52 -07:00
Brian Anderson
1a40aa0935
core: Make converting from a C string unsafe
2012-03-19 15:47:52 -07:00
Brian Anderson
154a3fdf44
rustc: Unify impl self types in the opposite order so variance is correct
2012-03-16 17:06:15 -07:00
Brian Anderson
3445454e79
core: Resolve and remove some FIXMEs
2012-03-16 16:46:32 -07:00
Brian Anderson
9e9f4a6240
core: Remove str::init_elt
...
This was added based on my FIXME, but I no longer believe it has a place in
core::str, partly because it doesn't follow current naming conventions, and
partly because it can be immitated with a one liner using str::from_chars and
vec::from_elem. I have replaced the existing uses with said one-liner.
2012-03-16 15:31:53 -07:00
Brian Anderson
f80008f04b
core: Add lots of string docs
2012-03-16 14:29:09 -07:00
Brian Anderson
3db8ae0bdc
core: Remove extra backslashes from docs
2012-03-16 12:20:38 -07:00
Brian Anderson
a7132eeb1e
core: Doc cleanup
2012-03-16 12:12:25 -07:00
Brian Anderson
0d88bf7e43
core: Escape some characters in comments
2012-03-16 11:58:39 -07:00
Brian Anderson
389f53c6ff
core: Docs
2012-03-15 18:58:30 -07:00
Tim Chevalier
20ec72830a
Address FIXMEs in extfmt / add issue numbers
2012-03-15 17:50:22 -07:00
Brian Anderson
bcf44f8cc1
core: Optimize str::unsafe::slice_bytes. Closes #1995
2012-03-15 17:10:39 -07:00
Brian Anderson
041c9a0863
core: Optimize str::bytes
...
This compiles down to a memmove. Takes about 1/4 of the time of the old
version.
2012-03-15 15:43:01 -07:00
Tim Chevalier
771177a814
Don't pass Unicode to char::is_upper
2012-03-15 15:40:43 -07:00
Brian Anderson
e5dea87f43
core: Add str::from_c_str, from_c_str_len, as_c_str
2012-03-14 18:19:08 -07:00
Brian Anderson
3a2df84d89
core: Rename str::from_cstr et. al to from_buf
2012-03-14 18:19:08 -07:00
Brian Anderson
9e480708a2
core:: Eliminate str::sbuf. Replace with *u8
2012-03-14 18:19:08 -07:00
Graydon Hoare
6f5853f5a1
Libc/os/run/rand/io reorganization. Close #1373 . Close #1638 .
...
- Move io, run and rand to core.
- Remove incorrect ctypes module (use libc).
- Remove os-specific modules for os and fs.
- Split fs between core::path and core::os.
2012-03-12 20:08:29 -07:00
Brian Anderson
b22556a6f8
core: Convert to rustdoc
2012-03-09 22:56:53 -08:00
Niko Matsakis
713006c7b6
add mutability annotations to libcore
2012-03-07 07:47:50 -08:00
Graydon Hoare
e9571850da
UTF-16-ify the win32 env routines.
2012-03-06 16:03:39 -08:00
Graydon Hoare
dafd649806
First cut at consolidated core::os module built on core::libc.
2012-03-02 18:46:13 -08:00
Graydon Hoare
47e7a05a28
Add some utf16 routines for OS API interop.
2012-03-02 15:47:40 -08:00
Patrick Walton
362f23641a
libcore: Remove vec::to_ptr in favor of vec::unsafe::to_ptr. Closes #1829 .
2012-02-28 20:43:39 -08:00
Marijn Haverbeke
780f8277f4
Finish cleanup of core::str
...
Closes #1849
2012-02-23 17:00:19 +01:00
Marijn Haverbeke
1d2b4b97ed
Optimize str::replace
2012-02-23 17:00:19 +01:00
Marijn Haverbeke
d802c1fbd2
Various cleanups and optimizations in core::str
2012-02-23 17:00:19 +01:00
Marijn Haverbeke
35e9192762
Make str::pop_char and str::unsafe::pop_byte efficient
...
O(1) rather than O(string len)
2012-02-23 17:00:19 +01:00
Kevin Cantu
c2984b46b4
(core::str) comments
2012-02-23 17:00:19 +01:00
Kevin Cantu
961b6446b6
(core::str) rename ++
2012-02-23 17:00:19 +01:00
Kevin Cantu
c3318f29fe
(core::str) rename substr_len_bytes to substr_len, and delete unused byte_index[_from]
2012-02-23 17:00:19 +01:00
Kevin Cantu
7782f5d692
(core::str) remove len_bytes alias
2012-02-23 17:00:19 +01:00
Kevin Cantu
1b957c0942
(core::str) replace uses of unsafe::slice_bytes; replace find[_from]_bytes with find[_from]
2012-02-23 17:00:19 +01:00
Kevin Cantu
cec053487c
(core::str) stop using index_chars
2012-02-23 17:00:19 +01:00
Kevin Cantu
6ea3d7935e
(core::str) replace byte_index[_from] with index[_from]
2012-02-23 17:00:19 +01:00
Kevin Cantu
280633a728
(core::str) do some replacements
2012-02-23 17:00:19 +01:00
Kevin Cantu
2756a61e34
(core::str) add index, index_from, rindex which return byte positions of chars; rename find to find_chars; add fixmes to delete byte_index, byte_index_from
2012-02-23 17:00:19 +01:00
Kevin Cantu
e1d04e0062
(core::str) add a safe byte slice and maybe_slice ++
2012-02-23 17:00:19 +01:00
Kevin Cantu
7c78b7dfed
(core::str) add a safe byte slice and maybe_slice
2012-02-23 17:00:19 +01:00
Kevin Cantu
454b53a7c2
(core::char) rename slice -> slice_chars
2012-02-23 17:00:19 +01:00
Kevin Cantu
1cd5a0945a
(core::str) rename rindex -> rindex_chars
2012-02-23 17:00:19 +01:00
Kevin Cantu
969fdf419c
(core::str) rename index -> index_chars
2012-02-23 17:00:19 +01:00
Kevin Cantu
8ea96169ff
(core::str) make len an alias for len_bytes ++
2012-02-23 17:00:19 +01:00
Kevin Cantu
669ff690fd
(core::str) make len an alias for len_bytes
2012-02-23 17:00:19 +01:00
Kevin Cantu
98447f5236
(core::str) mostly rename len -> len_chars
2012-02-23 17:00:19 +01:00
Marijn Haverbeke
ad03761a97
Remove preconditions from libraries
...
Closes #1805
2012-02-22 11:47:47 +01:00
Brian Anderson
9691ce18a2
core: Resolve a FIXME in str module
2012-02-21 01:03:13 -08:00
Brian Anderson
4370188055
Merge pull request #1860 from erickt/master
...
add str::find_from_bytes and str::index_from_bytes
2012-02-18 13:17:12 -08:00
Graydon Hoare
2796ab6de9
Add a win32-ignore attribute to a should-fail test.
2012-02-17 11:28:18 -08:00
Erick Tryzelaar
23703c0661
core: add str::find_from.
2012-02-16 19:16:08 -08:00
Erick Tryzelaar
042a5222d1
core: rewrite str::byte_index to use vec functions
2012-02-16 18:35:45 -08:00
Erick Tryzelaar
d1c9b160ad
core: slim down str.rs by importing some and none.
2012-02-16 17:30:56 -08:00
Marijn Haverbeke
67cc89f38d
Rewrite exhaustiveness checker
...
Issue #352
Closes #1720
The old checker would happily accept things like 'alt x { @some(a) { a } }'.
It now properly descends into patterns, checks exhaustiveness of booleans,
and complains when number/string patterns aren't exhaustive.
2012-02-15 15:47:42 +01:00
Marijn Haverbeke
9ff5ba085d
Fix bad line printing for parse errors
...
The code that extracted lines from partially-parsed files
was broken.
Closes #1848
2012-02-15 11:53:32 +01:00
Brian Anderson
acabd821d2
Merge pull request #1831 from killerswan/str_fixes
...
(core::str) changes to find / find_bytes
2012-02-14 11:22:31 -08:00
Kevin Cantu
69834646d2
(core::str) more test cases
2012-02-13 03:07:29 -08:00
Kevin Cantu
2600db4778
(core::str) added FIXME comment
2012-02-13 02:17:19 -08:00
Kevin Cantu
07ef368c60
(core::str) rename find_chars -> find
2012-02-13 01:57:05 -08:00
Kevin Cantu
c81867474a
(core::str) add find_bytes and export it...
2012-02-13 01:56:58 -08:00
Kevin Cantu
748b63f63f
(core::str) add find_chars and b2c_pos functions
2012-02-13 01:56:10 -08:00
Kevin Cantu
0e61fe2eea
(core::str) use slice_bytes in starts_with for a little bit less string traversal
2012-02-13 01:56:10 -08:00
Tomoki Aonuma
4d788be80d
from_cstr and from_cstr_len are not unsafe, I think
2012-02-13 12:44:14 +09:00
Tomoki Aonuma
8d29e87056
core::str::from_cstr uses from_cstr_len
2012-02-13 12:44:14 +09:00
Tomoki Aonuma
e5cc9193f8
Avoid extra memory allocations in core::str::from_cstr_len
2012-02-13 12:44:14 +09:00
Kevin Cantu
f5e1108fc3
(core::str) comments and cleanup
2012-02-12 15:30:21 -08:00
Kevin Cantu
faa513b1f6
(core::str) fixed replace, fixed starts_with, and added more find/contains/replace test cases
2012-02-12 15:30:21 -08:00
Kevin Cantu
2ba44e24d5
(core::str) rename byte_len_range -> substr_len_bytes and
...
rename char_len_range -> substr_len_chars
2012-02-12 15:30:20 -08:00
Kevin Cantu
2b4f5136a5
(core::str) rename byte_len -> len_bytes and rename char_len -> len
2012-02-12 15:30:20 -08:00
Kevin Cantu
944f5a6598
(core::str) move push_byte, push_bytes, pop_byte, and shift_byte into str::unsafe
2012-02-12 15:30:20 -08:00
Tomoki Aonuma
70b04a14d1
Add a test for core::str::from_cstr_len
2012-02-12 13:28:54 +09:00
Tomoki Aonuma
6408d54c13
Implement core::str::from_cstr_len, close #1666
2012-02-12 13:25:15 +09:00
Kevin Cantu
207bb3d2df
(core::str) removed [r]index_byte
2012-02-11 17:04:08 -08:00
Kevin Cantu
50360873f8
(core::str) added rindex and rewrote pop_char with char_range_at_reverse
2012-02-11 16:39:39 -08:00
Kevin Cantu
27161f4415
using str::index...
2012-02-11 16:39:39 -08:00
Kevin Cantu
14baf88f89
core::str: added index (char)
2012-02-11 16:39:39 -08:00
Kevin Cantu
a131b430a0
core::str rename [r]index -> [r]index_bytes
2012-02-11 16:39:39 -08:00
Marijn Haverbeke
50fb4c30ed
Increase precedence of as operator
...
Closes #1717
2012-02-09 11:58:08 +01:00
Erick Tryzelaar
3a413aabd4
core: add str::as_bytes function
...
This pattern is used in a couple places, so it'd be nice
to abstract it away.
2012-02-08 10:18:36 -08:00
Graydon Hoare
93450abb4b
Make process-spawning take environments and working directories, remove procsrv task from compiletest.
2012-02-07 19:57:03 -08:00
Kevin Cantu
1aa23947a6
core: add str::splitn_char and fix str::splitn_char_iter
2012-02-07 16:25:35 -08:00
Kevin Cantu
2b0396c34a
core: make str::substr use char positions (and replace other uses)
2012-02-07 16:25:35 -08:00
Kevin Cantu
a3f5626ad1
String split renaming:
...
* Renamed str::split -> str::split_byte
* Renamed str::splitn -> str::splitn_byte
* Renamed str::split_func -> str::split
* Renamed str::split_char -> str::split_char
* Renamed str::split_chars_iter -> str::split_char_iter
* Added u8::is_ascii
* Fixed the behavior of str::split_str, so that it matches split_chars
and split (i.e. ["", "XXX", "YYY", ""] == split_str(".XXX.YYY.", "."))
* Fixed str::split_byte and str::splitn_byte so that they handle
splitting UTF-8 strings on a given UTF-8/ASCII byte and also handle ""
as the others do
2012-02-07 16:25:35 -08:00
Erick Tryzelaar
be35893834
core: Implement str::escape with str::chars_iter.
2012-02-05 19:42:56 -08:00
Brian Anderson
c04b897cb2
core: Resolve some FIXMEs
2012-02-05 17:30:47 -08:00
Kevin Cantu
6be25c8a0c
Adding str::reserve
2012-02-05 14:56:16 -08:00
Kevin Atkinson
e127bf680f
Fix byte_len in char_len_range to be what it is advertised.
2012-02-03 17:48:16 -08:00
Tom Lee
31b0d1b4bd
core: rename str::lteq to str::le
2012-02-03 14:09:44 +01:00
Kevin Cantu
ae0d49aa06
Rename str::char_slice -> str::slice
2012-02-01 21:56:53 -08:00
Kevin Cantu
fc9169f09c
Make the tests work, too
2012-02-01 21:56:53 -08:00
Kevin Cantu
8f367ebfeb
Rename (again) str::unsafe::slice -> str::unsafe::slice_bytes and
...
str::unsafe::safe_slice -> str::unsafe::slice_bytes_safe_range
2012-02-01 21:56:53 -08:00
Kevin Cantu
01c01f68af
Stop exporting str::slice and str::safe_slice (use unsafe instead)
2012-02-01 21:56:53 -08:00
Kevin Cantu
4e406d7fdd
Make it work 1
2012-02-01 21:56:53 -08:00
Kevin Cantu
cccf9e5389
Copy str::slice -> str::unsafe::slice (and unsafe_slice)
2012-02-01 21:56:53 -08:00
Kevin Cantu
5a19bafeea
Actually export the str::unsafe module for now
2012-02-01 21:56:53 -08:00
Brian Anderson
d24eb58a09
core: Ignore should_fail tests on win32
2012-02-01 15:35:59 -08:00
Kevin Cantu
1f795ff3b0
Re-implementing str::to_upper and str::to_lower using str::map
2012-01-31 14:29:11 -08:00
Kevin Cantu
a8b657397a
Add str::split_chars_iter and str::splitn_chars_iter
2012-01-31 14:29:11 -08:00
Kevin Cantu
ebf14cb3a9
Rename str::iter_chars -> str::chars_iter
2012-01-31 14:29:11 -08:00
Kevin Cantu
c7454f5595
Rename str::to_chars -> str::chars
2012-01-31 14:29:11 -08:00
Kevin Cantu
685a434e0a
Rename str::loop_chars to str::all,
...
rename str::loop_chars_sub to str::substr_all, and
propagate this change to std::rope and rustdoc's calls to these
2012-01-31 14:29:11 -08:00
Kevin Cantu
be9129f556
Comment fixes in str
2012-01-31 14:29:11 -08:00
Kevin Cantu
03b8c8df01
Rename str::from_byte(s) to str::unsafe::from_byte(s),
...
mark them as unsafe,
make comp/driver/driver.rs use str::from_bytes...
2012-01-31 14:29:10 -08:00
Kevin Cantu
3afc16f7a4
Change FIXME comments in str
2012-01-25 23:20:10 -08:00
Kevin Cantu
fec36de94e
Making str::from_cstr UTF-8 safe
2012-01-25 02:25:57 -08:00
Kevin Cantu
9750e83a17
Replace uses of str::unsafe_from_byte
2012-01-24 23:47:32 -08:00
Kevin Cantu
2496dccae4
Changed type of str::from_bytes and added str::from_byte
2012-01-24 23:44:19 -08:00
Kevin Cantu
4c4a5f734d
Reorganizing str.rs to group and document strings better (no functional changes, though FIXMEs added)
2012-01-24 14:08:48 -08:00
Kevin Cantu
69ffb4e3ae
s/fn&/fn/
2012-01-23 22:28:25 -08:00
Kevin Cantu
8f4d1f3d27
Added str::from_bytes (which is UTF-8 safe)
2012-01-23 22:28:25 -08:00
Kevin Cantu
7608a06b33
improved test case for str::any
2012-01-23 22:28:25 -08:00
Kevin Cantu
536dd2f5a7
Added str::lines_iter
2012-01-23 22:28:25 -08:00
Kevin Cantu
1c54744e3f
fixing indentation
2012-01-23 22:28:25 -08:00
Kevin Cantu
ff95029171
Added str::words_iter
2012-01-23 22:28:25 -08:00
Kevin Cantu
d4b287e852
Added str::any, str::bytes_iter, str::windowed, and vec::windowed functions
2012-01-23 22:28:25 -08:00
Kevin Cantu
0493a7c87d
Added str::map and str::all functions
2012-01-23 22:28:25 -08:00
Niko Matsakis
5e13d19cc0
s/block()/fn()/g
2012-01-23 19:06:33 -08:00
Brian Anderson
17bf4b0e1b
libcore: Move core tests into libcore
2012-01-17 19:41:05 -08:00
Josh Matthews
1223bbc4de
Make str::replace smarter.
2012-01-16 13:35:35 -05:00
Kevin Cantu
d8b0a1910a
Added string functions: split_func, split_char, lines, lines_any, words,
...
and more tests
2012-01-15 20:20:06 -08:00
Lenny222
d1ffe5034b
"str": rename "str_from_cstr" to "from_cstr" (analogous to the other "from_*")
2012-01-04 09:33:07 +01:00
Lenny222
dd284eb396
"char": use shorter names "to_lower"/"to_upper", analogous to the same names in "str"
2012-01-04 09:33:04 +01:00
Lenny222
e12b169247
implement str::is_whitespace using char::is_whitespace
2012-01-04 09:32:59 +01:00
Lenny222
f8d7a1c258
"str": extract to_upper/lower_case() into "char"
2012-01-01 13:15:30 -08:00
Graydon Hoare
f0dfbe7b1b
Register new snapshots, purge log_err and log_full in favour of log(...).
2011-12-22 17:53:53 -08:00
Graydon Hoare
8b580954fe
Register snapshots and switch logging over to use of log_full or #error / #debug.
2011-12-22 14:42:52 -08:00
Erick Tryzelaar
02d84d89e0
libcore: add splitn to split a string N times.
2011-12-19 10:22:07 -08:00
Stefan Plantikow
bfbaadc694
core: marked fns as pure where possible
2011-12-16 17:41:07 +01:00
Patrick Walton
fd1dd76977
stdlib: Add a str::split_str() to split on a delimiter string of any length
2011-12-15 17:39:53 -08:00
Graydon Hoare
fa9ad984fb
Copy first batch of material from libstd to libcore.
2011-12-13 16:34:50 -08:00