Niko Matsakis
9bded76260
move @mut into scope_info
2013-05-02 21:15:36 -04:00
Niko Matsakis
cc62680cc9
free the borrow list propertly instead of crashing
2013-05-02 17:08:04 -04:00
Niko Matsakis
4999d44d5b
trans: fix borrow violation
2013-05-02 16:37:28 -04:00
Niko Matsakis
88ec89d3fe
fix numerous dynamic borrow failures
2013-05-02 14:32:37 -04:00
Niko Matsakis
5f886342be
syntax: fix up dynamic borrow errors in libsyntax
2013-05-01 21:50:32 -04:00
Niko Matsakis
fbaf8399c8
rustc: more fix for trans_lvalue rooted twice
2013-05-01 21:50:09 -04:00
Niko Matsakis
6210de9529
lang: fix code for maintaining borrow list
2013-05-01 21:47:09 -04:00
Niko Matsakis
d231c427e6
core: add more debugging printouts to borrowing
2013-05-01 20:23:07 -04:00
Niko Matsakis
ef6b24d135
rustc: fix the fact that trans_lvalue rooted twice
2013-05-01 20:22:08 -04:00
Niko Matsakis
14bf5c4fe7
rustc: adjust total number of lang items
2013-05-01 20:19:28 -04:00
Niko Matsakis
38f93f2121
wip---work on making rooting work properly
2013-05-01 13:48:00 -04:00
Niko Matsakis
3159335ac3
avoid broken += operator, bogus use of const
2013-05-01 11:03:12 -04:00
Niko Matsakis
4af2d90af5
add an option to debug borrows (RUST_DEBUG_BORROW) so you can
...
find out where the offending borrow occurred. This ... still needs
some work.
2013-05-01 10:30:54 -04:00
Niko Matsakis
84861101ec
rustc: print out filename/line-number when a borrow fails
2013-05-01 09:14:47 -04:00
Niko Matsakis
d96c65afc8
keep old sort for stage0
2013-05-01 08:50:04 -04:00
Niko Matsakis
5ab33a2975
correct incorrect handling of overloaded operators, exposing various other bits of rot
2013-05-01 08:49:48 -04:00
Niko Matsakis
f236b850c0
remove some unused mut decls
2013-04-30 16:35:01 -04:00
Niko Matsakis
dc21daeeb8
borrowck: fix critical bug prevent us from ever using write guards :)
2013-04-30 16:34:22 -04:00
Niko Matsakis
418f991118
allover: numerous unused muts etc
2013-04-30 14:10:21 -04:00
Niko Matsakis
70b9ad1748
rustc: work around issue with default-method-simple, fix some rebase
...
errors
2013-04-30 14:09:14 -04:00
Niko Matsakis
545d51c160
rustc: remove modes
2013-04-30 14:08:18 -04:00
Niko Matsakis
7a0c1ea560
correct used_mut annotations for args, inherited case
2013-04-30 14:07:52 -04:00
Niko Matsakis
aa48a170d5
dataflow: fix flow of information through pattern variants
2013-04-30 14:07:26 -04:00
Niko Matsakis
a896440ca1
new borrow checker (mass squash)
2013-04-30 06:59:32 -04:00
Niko Matsakis
b5a7e8b353
desnapshot
2013-04-30 06:46:02 -04:00
Niko Matsakis
202b8dcdc4
adapt to snapshot
2013-04-30 06:43:02 -04:00
bors
c081ffbd1e
auto merge of #6121 : luqmana/rust/newtype-cc, r=graydon
...
#6086
2013-04-30 02:21:37 -07:00
bors
84e22f2b8e
auto merge of #6108 : gifnksm/rust/bigint-shift-bug, r=brson
...
`std::bigint` contains the following code.
```rust
borrow = *elem << (uint::bits - n_bits);
```
The code above contains a bug that the value of the right operand of the shift operator exceeds the size of the left operand,
because sizeof(*elem) == 32, and 0 <= n_bits < 32 in 64bit architecture.
If `--opt-level` option is not given to rustc, the code above runs as if the right operand is `(uint::bits - n_bits) % 32`,
but if --opt-level is given, `borrow` is always zero.
I wonder why this bug is not catched in the libstd's testsuite (I try the `rustc --test --opt-level=2 bigint.rs` before fixing the bug,
but the unittest passes normally.)
This pull request also removes the implicit vector copies in `bigint.rs`.
2013-04-29 22:30:36 -07:00
bors
48f50ac800
auto merge of #6107 : catamorphism/rust/mkdir_recursive, r=brson
...
r? @brson This hopefully addresses your concerns about the termination condition, and adds more tests. With a bonus documentation commit.
2013-04-29 20:48:37 -07:00
bors
868b7c153c
auto merge of #6073 : huonw/rust/core-rust-isaac, r=pcwalton
...
This replaces the wrapper around the runtime RNG with a pure Rust implementation of the same algorithm. This is much faster (up to 5x), and is hopefully safer.
There is still (a little) room for optimisation: testing by summing 100,000,000 random `u32`s indicates this is about ~~40-50%~~ 10% slower than the pure C implementation (running as standalone executable, not in the runtime).
(Only 6d50d55 is part of this PR, the first two are from #6058 , but are required for the rt rng to be correct to compare against in the tests.)
2013-04-29 18:24:37 -07:00
Luqman Aden
10f290ef68
Add test for cross crate newtype struct in match pattern.
2013-04-29 17:35:36 -07:00
Luqman Aden
b50aa827a0
librustc: Fix pattern matching on cross crate newtype structs.
2013-04-29 17:35:36 -07:00
Huon Wilson
d4b934bdce
core: add some inlining hints to methods/fns in rand.
2013-04-30 08:41:06 +10:00
Huon Wilson
30266a788f
core: a pure Rust implementation of the ISAAC RNG.
...
This replaces the wrapper around the runtime RNG with a pure Rust
implementation of the same algorithm. This is faster (up to 5x), and
is hopefully safer.
There is still much room for optimisation: testing by summing 100,000,000
random `u32`s indicates this is about 40-50% slower than the pure C
implementation (running as standalone executable, not in the runtime).
2013-04-30 08:40:05 +10:00
bors
f1ddb8d5cc
auto merge of #6080 : pcwalton/rust/demode-everything, r=pcwalton
...
r? @brson
2013-04-29 14:33:37 -07:00
Patrick Walton
78f33437b6
libstd: Fix merge fallout.
2013-04-29 14:30:57 -07:00
Patrick Walton
2c6dae081b
doc: XFAIL mysterious failure on bots
2013-04-29 14:30:57 -07:00
Patrick Walton
a9da34bf6e
librustc: Fix merge fallout.
2013-04-29 14:30:57 -07:00
Patrick Walton
39693e7b61
test: Fix more tests.
2013-04-29 14:30:57 -07:00
Patrick Walton
37abf4bad0
librustc: Forbid type implementations on typedefs.
2013-04-29 14:30:57 -07:00
Patrick Walton
670ab8ac36
librustc: Change labels to use the lifetime notation '
.
2013-04-29 14:30:57 -07:00
Patrick Walton
876483dcf4
test: Fix tests.
2013-04-29 14:30:56 -07:00
Patrick Walton
f30f54e9d0
librustc: Remove the concept of modes from the compiler.
...
This commit does not remove `ty::arg`, although that should be
possible to do now.
2013-04-29 14:30:55 -07:00
Patrick Walton
a12a3db5b4
librustc: Make &fn
by-copy by default and remove the mode from frame_address
.
2013-04-29 14:30:55 -07:00
Patrick Walton
17723d18de
test: Remove #[legacy_modes] from the test suite.
2013-04-29 14:30:55 -07:00
Patrick Walton
a214fee0ba
libfuzzer: De-mode the fuzzer.
2013-04-29 14:30:54 -07:00
Patrick Walton
0780b2830f
librustc: Remove the legacy mode in the type visitor intrinsic.
2013-04-29 14:30:53 -07:00
Patrick Walton
c6a9e28842
librustc: Rename reinterpret_cast
to transmute_copy
and remove the intrinsic
2013-04-29 14:30:53 -07:00
Patrick Walton
b6277f8140
librustc: Implement reinterpret_cast
in terms of transmute
.
2013-04-29 14:30:53 -07:00
Patrick Walton
b0522a497c
librustc: Remove ptr::addr_of
.
2013-04-29 14:30:53 -07:00