Patrick Walton
4c29b4cb93
librustc: Optimize metadata::decoder::item_name.
2013-04-19 11:53:33 -07:00
Huon Wilson
8ae6b33ed0
libcore: clarify documentation for char_at(_reverse)
2013-04-19 22:30:49 +10:00
Huon Wilson
c967f2bb1e
core: add a str iterator
2013-04-18 22:56:21 +10:00
Alex Crichton
d9595d1737
core: remove unnecessary unsafe blocks/functions
2013-04-14 01:15:46 -04:00
bors
76f6606a8c
auto merge of #5827 : nikomatsakis/rust/issue-5656-change-meaning-of-borrowed-self, r=pcwalton
...
See #5656 for details.
r? @pcwalton
2013-04-12 15:14:24 -07:00
Marvin Löbel
4ad76e66aa
Add example for str::subslice_offset
2013-04-11 00:48:31 +02:00
Marvin Löbel
9a16179fd3
Added str::from_slice_with_null() to cast a &[u8] to &str
...
Added str::subslice_offset()
Renamed slice_bytes_uniqe to slice_bytes_owned
2013-04-11 00:36:28 +02:00
Niko Matsakis
3322595e89
Reason about nested free variables that appear in a function
...
signature. In a nutshell, the idea is to (1) report an error if, for
a region pointer `'a T`, the lifetime `'a` is longer than any
lifetimes that appear in `T` (in other words, if a borrowed pointer
outlives any portion of its contents) and then (2) use this to assume
that in a function like `fn(self: &'a &'b T)`, the relationship `'a <=
'b` holds. This is needed for #5656 . Fixes #5728 .
2013-04-10 07:52:46 -07:00
Alex Crichton
255193cc1a
Removing no longer needed unsafe blocks
2013-04-08 17:50:25 -04:00
Matthijs Hofstra
c16919d3a8
Removing mut fields from vec.rs, at_vec.rs, str.rs, unstable.rs, and cell.rs.
2013-04-03 16:33:23 +02:00
Marvin Löbel
df66e8d4a1
Fix underflow in char_range_at_reverse
...
Added char_range_at_reverse underflow test
2013-03-31 10:03:52 +02:00
Patrick Walton
1e91595520
librustc: Remove fail_unless!
2013-03-29 16:39:08 -07:00
Alex Crichton
be57d745d2
Removing unused imports
2013-03-28 23:56:46 -04:00
Marvin Löbel
eac2f3b93e
Unbreak 'rustc --help'
2013-03-28 21:44:46 +01:00
Daniel Micay
d2b267bcb5
add a TotalEq trait
2013-03-27 17:29:10 -04:00
Patrick Walton
f41a510631
librustc: Remove obsolete syntax
2013-03-26 21:30:18 -07:00
Patrick Walton
8b56a8380b
librustc: Modify all code to use new lifetime binder syntax
2013-03-26 21:30:17 -07:00
Patrick Walton
0d52b22e7b
libcore: Change [const T]
to const [T]
everywhere
2013-03-26 21:29:33 -07:00
Marvin Löbel
de468c8cd2
Added more missing lifetime annotations
2013-03-26 19:07:14 +01:00
Marvin Löbel
c88a20d171
Added missing lifetime annotations, doc and whitespace cleanups
2013-03-26 16:24:15 +01:00
Marvin Löbel
06c371605b
Fixed all use sites and tests
2013-03-26 14:59:17 +01:00
Marvin Löbel
c99488b3a4
Isolated bug, static vector seems to behave differently than fixed sized one
2013-03-26 14:59:17 +01:00
Marvin Löbel
b9de2b5787
Switched over a bunch of splitting funktions to non-allocating iterators
2013-03-26 14:59:17 +01:00
Marvin Löbel
d74606ead6
pre-rebase commit
2013-03-26 14:59:17 +01:00
Marvin Löbel
624a685283
Moved float str buffer constants to the strconv module
2013-03-26 14:59:17 +01:00
Huon Wilson
29e8b6ea9b
libcore: implement str::each_char_reverse
correctly.
...
Previously, `each_char_reverse` was not iterating at all, so the
testcase never ran properly.
2013-03-25 01:17:40 +11:00
Patrick Walton
85c9fc6f8f
librustc: Remove the const
declaration form everywhere
2013-03-22 22:24:35 -07:00
Patrick Walton
fbe22afdbe
librustdoc: Remove pure
from fuzzer and rustdoc.
2013-03-22 12:57:28 -07:00
Patrick Walton
be9bddd463
libcore: Remove pure
from libcore. rs=depure
2013-03-22 10:29:17 -07:00
bors
1616ffd0c2
auto merge of #5398 : dbaupp/rust/core-readlines, r=graydon
...
The `each_line` function in `ReaderUtil` acts very differently to equivalent functions in Python, Ruby, Clojure etc. E.g. given a file `t` with contents `trailing\nnew line\n` and `n` containing `no trailing\nnew line`:
Rust:
```Rust
t: ~[~"trailing", ~"new line", ~""]
n: ~[~"no trailing", ~"new line"]
```
Python:
```Python
>>> open('t').readlines()
['trailing\n', 'new line\n']
>>> open('n').readlines()
['no trailing\n', 'new line']
```
Ruby:
```Ruby
irb(main):001:0> File.readlines('t')
=> ["trailing\n", "new line\n"]
irb(main):002:0> File.readlines('n')
=> ["no trailing\n", "new line"]
```
Clojure
```Clojure
user=> (read-lines "t")
("trailing" "new line")
user=> (read-lines "n")
("no trailing" "new line")
```
The extra string that rust includes at the end is inconsistent, and means that it is impossible to distinguish between the "real" empty line a file that ends `...\n\n`, and the "fake" one after the last `\n`.
The code attached makes Rust's `each_line` act like Clojure (and PHP, i.e. not including the `\n`), as well as adjusting `str::lines` to fix the trailing empty line problem.
Also, add a convenience `read_lines` method to read all the lines in a file into a vector.
2013-03-22 09:24:53 -07:00
Huon Wilson
429b8a9b9e
libcore: handle trailing newlines more like other languages.
...
Specifically, `lines` and `each_line` will not emit a trailing empty string
when given "...\n". Also, add `read_lines`, which just collects all of
`each_line` into a vector, and `split_*_no_trailing` which will is the
generalised version of `lines`.
2013-03-23 00:15:05 +11:00
Erick Tryzelaar
557b8cce8e
core: fix a typo in levdistance
2013-03-21 20:45:37 -07:00
Marvin Löbel
0a47cd5ef1
Un-renamed trim and substr functions.
2013-03-21 23:06:05 +01:00
Marvin Löbel
ee2f3d9673
Switched over substr and trim functions in str to be non-allocating, temporary renamed them to better track use-sites
2013-03-21 23:06:04 +01:00
Marvin Löbel
9d9a209e9a
back-renamed slice_DBG_BRWD, slice_V_DBG_BRWD -> slice, slice_DBG_UNIQ -> slice_unique
2013-03-21 14:05:57 +01:00
Marvin Löbel
8f4448837b
removed str::slice_DBG_UNIQ
2013-03-21 11:59:25 +01:00
Marvin Löbel
a7d296f24c
renamed str::view -> slice_DBG_BRWD
...
renamed str::slice -> slice_DBG_UNIQ
changed vec slice method -> to_owned()
renamed vec view method -> slice_V_DBG_BRWD
2013-03-21 01:50:32 +01:00
Erick Tryzelaar
cefecd8601
core: add str::each{,i}_reverse
2013-03-20 07:53:23 -07:00
Erick Tryzelaar
8d5ab3061a
core: add char_len method
2013-03-20 07:53:23 -07:00
Erick Tryzelaar
4b0f29a466
core: add char_at_reverse
2013-03-20 07:53:23 -07:00
Patrick Walton
352c070365
librustc: Convert all uses of old lifetime notation to new lifetime notation. rs=delifetiming
2013-03-18 17:21:14 -07:00
bors
6f1e8ef71a
auto merge of #5404 : bstrie/rust/decopy, r=pcwalton
...
Also turn `copy` into `.clone()` in much of run-pass.
2013-03-15 20:15:44 -07:00
Ben Striegel
748c2c9ebc
impl Clone for ~T, ~[T], ~str
2013-03-15 18:26:59 -04:00
Brian Anderson
38ac809cc7
core: Add to_bytes method to StrSlice trait
2013-03-14 18:08:55 -07:00
Brian Anderson
82f190355b
Remove uses of log
2013-03-11 23:19:42 -07:00
Patrick Walton
bd2d17e4a1
libsyntax: Stop parsing bare functions in preparation for switching them over
2013-03-11 09:35:58 -07:00
Patrick Walton
d18f785457
librustc: Replace all uses of fn()
with &fn()
. rs=defun
2013-03-11 09:35:58 -07:00
Patrick Walton
d661711cc2
test: Fix tests.
2013-03-07 22:37:58 -08:00
Patrick Walton
d7e74b5e91
librustc: Convert all uses of assert
over to fail_unless!
2013-03-07 22:37:57 -08:00
Niko Matsakis
3168fe06ff
Add manual &self/ and &static/ and /&self declarations that
...
are currently inferred. New rules are coming that will require
them to be explicit. All add some explicit self declarations.
2013-03-06 15:12:57 -05:00