Commit Graph

331 Commits

Author SHA1 Message Date
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