Patrick Walton
c995a62d44
librustc: WIP patch for using the return value.
2013-04-19 12:00:08 -07:00
Brendan Zabarauskas
a7f6ec8542
Use assert_eq! instead of assert! and remove extraneous parentheses
2013-04-19 01:37:21 +10:00
Brendan Zabarauskas
939a97f5cb
Add #[inline(always)] to each operator method
2013-04-18 23:24:24 +10:00
Brendan Zabarauskas
d2a81b95c3
Implement bitwise operator traits for ints and uints
2013-04-18 20:58:58 +10:00
Huon Wilson
d3be98e9f5
libcore,std,syntax,rustc: move tests into mod tests
, make them private (no pub mod or pub fn).
2013-04-16 09:57:47 +10:00
Alex Crichton
d9595d1737
core: remove unnecessary unsafe blocks/functions
2013-04-14 01:15:46 -04:00
Brendan Zabarauskas
0615fddd80
Remove unnecessary enclosing modules for NumCast impls
2013-04-14 05:27:32 +10:00
Brendan Zabarauskas
c4685477e0
Consolidate tests of numeric operations
2013-04-14 02:53:00 +10:00
Brendan Zabarauskas
ce6ee7bb04
Restore Num trait
...
This restores the trait that was lost in 216e85fadf
. It will eventually be broken up into a more fine-grained trait hierarchy in the future once a design can be agreed upon.
2013-04-14 02:19:35 +10:00
Brendan Zabarauskas
fde6995229
Remove trailing whitespace
2013-04-14 01:25:56 +10:00
Brendan Zabarauskas
947ba206e1
Add a test to show how NumCast can be used in type parameters
2013-04-14 01:14:02 +10:00
Brendan Zabarauskas
353ce872e2
Generate NumCast impls and tests using macros
2013-04-14 01:14:02 +10:00
Brendan Zabarauskas
3ffd735b45
Clarify purpose of NumCast trait
2013-04-14 01:14:02 +10:00
bors
412a07055c
auto merge of #5769 : gifnksm/rust/range_step, r=bstrie
...
`uint::range_step` or `int::range_step` causes overflow or underflow as following.
code:
```rust
fn main() {
for uint::range_step(3, 0, -2) |n| {
println(fmt!("%u", n));
}
}
```
output:
```
3
1
18446744073709551615
18446744073709551613
...
```
This commit fixes this behavior as follows.
```
3
1
```
2013-04-09 07:52:04 -07:00
bors
30dbbe17c9
auto merge of #5787 : alexcrichton/rust/less-mut-fields, r=catamorphism
...
This removes some of the easier instances of mutable fields where the explicit self can just become `&mut self` along with removing some unsafe blocks which aren't necessary any more now that purity is gone.
Most of #4568 is done, except for [one case](https://github.com/alexcrichton/rust/blob/less-mut-fields/src/libcore/vec.rs#L1754 ) where it looks like it has to do with it being a `const` vector. Removing the unsafe block yields:
```
/Users/alex/code/rust2/src/libcore/vec.rs:1755:12: 1755:16 error: illegal borrow unless pure: creating immutable alias to const vec content
/Users/alex/code/rust2/src/libcore/vec.rs:1755 for self.each |e| {
^~~~
/Users/alex/code/rust2/src/libcore/vec.rs:1757:8: 1757:9 note: impure due to access to impure function
/Users/alex/code/rust2/src/libcore/vec.rs:1757 }
^
error: aborting due to previous error
```
I also didn't delve too much into removing mutable fields with `Cell` or `transmute` and friends.
2013-04-08 18:36:57 -07:00
Alex Crichton
255193cc1a
Removing no longer needed unsafe blocks
2013-04-08 17:50:25 -04:00
Huon Wilson
41c6f67109
libcore: from_str_common: provide option to ignore underscores.
...
Implement the possible improvement listed in the comment on
from_str_bytes_common.
2013-04-08 16:35:39 +10:00
Huon Wilson
49cdf36d2b
libcore: from_str_common: correctly signal failure on repeating base 2^n numbers.
...
A number like 0b1_1111_1111 == 511 would be parsed to Some(255u8) rather than None
by from_str_common, since 255 * 2 + 1 == 255 (mod 256) so the overflow wasn't detected.
Only applied to conversions where the radix was a power of 2, and where all digits
repeated.
Closes #5770 .
2013-04-08 16:35:39 +10:00
gifnksm
89676d6a59
libcore: fix overflow/underflow in range_step
2013-04-07 19:55:58 +09: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
Patrick Walton
142dbd65da
librustc: Remove all uses of the old [T * N]
fixed-length vector syntax
2013-03-26 21:29:34 -07: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
624a685283
Moved float str buffer constants to the strconv module
2013-03-26 14:59:17 +01:00
Patrick Walton
85c9fc6f8f
librustc: Remove the const
declaration form everywhere
2013-03-22 22:24:35 -07:00
Patrick Walton
be9bddd463
libcore: Remove pure
from libcore. rs=depure
2013-03-22 10:29:17 -07:00
Patrick Walton
4634f7edae
librustc: Remove all uses of static
from functions. rs=destatic
2013-03-22 10:27:39 -07: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
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
Patrick Walton
9c4d804cfe
libsyntax: Never use ::<>
in the type grammar
2013-03-20 13:54:25 -07:00
ILyoan
ef0364e9e4
Remove unused import in core
2013-03-14 09:52:51 +09: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
Patrick Walton
fd271adc75
libcore: Remove extern mod { ... }
from libcore. rs=deexterning
2013-03-07 22:32:51 -08:00
Alex Crichton
cb4ab76e4a
Adding missing imports for tests, and gate off others
2013-03-04 12:27:01 -05:00
Alex Crichton
dfb5c10dea
Remove unused imports throughout src/
2013-03-04 12:27:01 -05:00
Jyun-Yan You
5150b9811b
rustc: MIPS32 support
2013-03-03 19:27:27 -08:00
Patrick Walton
a3f728238b
librustc: Forbid chained imports and fix the logic for one-level renaming imports
2013-03-02 16:49:30 -08:00
Brian Anderson
bcf626812b
Rename core::private to core::unstable. #4743
2013-03-01 14:55:47 -08:00
Tim Chevalier
405a35c7f8
core: Address XXX, make static constants for strings used when stringifying floats
2013-02-28 16:49:02 -08:00
Patrick Walton
07c3f5c0de
librustc: Forbid pub
or priv
before trait implementations
2013-02-27 09:40:16 -08:00
Marvin Löbel
42b0bacd76
Removed deprecated str()
functions in int-template.rs and uint-template.rs
2013-02-26 16:38:30 +01:00
bors
a02da4ecde
auto merge of #5063 : pcwalton/rust/plussing, r=pcwalton
2013-02-20 21:22:30 -08:00
Patrick Walton
bf2a225c0b
librustc: Separate most trait bounds with '+'. rs=plussing
2013-02-20 21:14:20 -08:00
Matthijs 'Thiez' Hofstra
675bdcf341
Created libcore/private/intrinsics.rs, which aims to contain every
...
rustc intrinsic. Several files in libcore have been changed to use
these intrinsics.
As of yet, none of the intrinsics are documented.
2013-02-20 20:39:49 +01:00
bors
3e97cce27d
auto merge of #4957 : Kimundi/rust/incoming, r=catamorphism
...
Moved them into own module and made them not depend on an Round trait impl for integers and generic math functions that can fail on integers any more.
2013-02-15 17:29:57 -08:00
Patrick Walton
bb833ca0f0
librustc: Stop parsing impl Type : Trait
and fix several declarations that slipped through. r=tjc
2013-02-15 16:59:56 -08:00
Marvin Löbel
46736868df
Removed has_*
predicates from NumStrConv trait
...
Moved `is_*` predicates into standalone functions
2013-02-15 13:39:51 +01:00