Niko Matsakis
f3a6ea2643
lang: um, actually set locking bits! this code got lost.
2013-05-03 15:12:04 -04:00
Niko Matsakis
e7d96934c1
Correct mismatch between the way that pattern ids and expression ids map to types (pattern ids map to the input type, expression ids map to the output type)
2013-05-03 12:29:24 -04:00
Niko Matsakis
34024353e8
Change borrow debugging so it is disabled by -O
2013-05-03 05:42:00 -04:00
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