Brian Anderson
25dc59dc59
libsyntax: Parse and report errors for a few obsolete syntaxes
2012-09-08 20:04:21 -07:00
Jeff Olson
2508c24276
core: fix separator for Future<A> property
2012-09-08 14:22:16 -07:00
Jeff Olson
8e86cd0aa7
test: bunch of test cleanup from sendable_futures change
2012-09-08 14:22:16 -07:00
Jeff Olson
12439b0b24
core: missed rebase cruft cleanup
2012-09-08 14:22:16 -07:00
Jeff Olson
3e58158375
core: most rebase cruft cleanup
2012-09-08 14:22:16 -07:00
Jeff Olson
6d84d86736
core: change FutureState Forced(A) to Forced(~A)
2012-09-08 14:22:16 -07:00
Jeff Olson
2ed00ff928
core: change notify_chan eq checks to is_none(), instead
2012-09-08 14:22:16 -07:00
Jeff Olson
02ddbadc10
core: patch from nmatsakis to make futures non-copyable
2012-09-08 14:22:15 -07:00
Jeff Olson
27129c6aba
core/std: finish making futures sendable + test.. still issues
2012-09-08 14:22:15 -07:00
Jeff Olson
6bdda1e0de
core/std: an unending parade of minor tweaks due to renaming Option et al
2012-09-08 14:22:15 -07:00
Jeff Olson
9ee7b31414
std: cleanup in sync.rs for things missed in last rebase
2012-09-08 14:22:15 -07:00
Jeff Olson
2f32c0d5c3
core: cleanup in task.rs for things missed in last rebase
2012-09-08 14:22:15 -07:00
Jeff Olson
d41af3e002
core: fix breakage in TaskBuilder.future_result
...
the actual "fix" in this change is the chunk that moves
`let x = self.consume()` to after the option dance that results in
the `notify_chan` in TaskBuilder.try()
the rest is cleanup/sense-making of what some of this code is doing (I'm
looking at you, future_result)
2012-09-08 14:22:15 -07:00
Jeff Olson
a8fc771f20
core: changing pipes::port/chan_one to Port/ChanOne in unsafe.rs
2012-09-08 14:22:15 -07:00
Brian Anderson
70e5a19ebf
core: Fix stage0 build errors
2012-09-08 14:22:15 -07:00
Jeff Olson
63e25946f0
core: port task.rs to comm::Chan/Port to pipes::Chan/Port
2012-09-08 14:22:15 -07:00
Kevin Cantu
00d1d4e647
(fix incoming) Add the necessary traits to some generic functions
2012-09-07 21:57:40 -07:00
Kevin Cantu
a12e90b65f
(partially fix incoming) More hash function simplification
2012-09-07 21:08:37 -07:00
Brian Anderson
3bd1f32cd9
Convert all kind bounds to camel case. Remove send, owned keywords.
2012-09-07 18:10:11 -07:00
Brian Anderson
07fe5611ad
Remove import and export from intrinsic.rs
2012-09-07 18:08:03 -07:00
Brian Anderson
cd3956054d
Fix obsolete struct syntax in test
2012-09-07 17:54:47 -07:00
Brian Anderson
2810ea9a68
Convert 'again' to 'loop'. Remove 'again' keyword
2012-09-07 17:39:03 -07:00
Graydon Hoare
073df63c72
Fix long line.
2012-09-07 17:27:05 -07:00
Graydon Hoare
8b39e73697
Fix whitespace.
2012-09-07 17:26:10 -07:00
Graydon Hoare
5d823d46ad
Migrate std::map to use core: #️⃣ :Hash trait. Disable many hokey hashes.
2012-09-07 17:24:16 -07:00
Tim Chevalier
f5093dff7b
Remove support for multiple traits in a single impl
...
There was half-working support for them, but they were never fully
implemented or even approved. Remove them altogether.
Closes #3410
2012-09-07 17:22:04 -07:00
Tim Chevalier
53ce42dc4f
Implement &-patterns
...
Closes #2855
2012-09-07 17:09:07 -07:00
Graydon Hoare
e9f5a099df
Add an ignore! macro, remove support for nested block comments, re: #2755 .
2012-09-07 16:58:36 -07:00
Brian Anderson
249668f223
Remove module keyword
2012-09-07 16:53:21 -07:00
Brian Anderson
f0eae8f1c1
Convert field terminators to commas. Stop parsing semis.
2012-09-07 16:12:15 -07:00
Patrick Walton
3078830934
libcore: Make str_eq not break with coretest
2012-09-07 16:09:38 -07:00
Patrick Walton
1fcfee674a
rustc: Add a str_eq lang item for pattern matching
2012-09-07 15:46:08 -07:00
Brian Anderson
2572e80355
Remove 'let' syntax for struct fields
2012-09-07 14:02:33 -07:00
Niko Matsakis
14303bad89
Do not copy values of type () or _|_
...
This can trigger a crash because we assume we
can supply null ptrs and undefined values for
values of those types, as we should be treated
them as zero-size.
Interestingly, this crash only shows up (atm)
in non-optimized builds. Therefore, I added
a -Z no-opt flag so that the new test
(capture_nil) can specify that it should not
run with optimizations enabled.
2012-09-07 13:00:03 -07:00
Patrick Walton
c21b3ff818
rustc: Make "ne" use traits
2012-09-07 12:44:53 -07:00
Patrick Walton
b4d879a2ef
rustc: Trailing whitespace
2012-09-07 12:27:44 -07:00
Patrick Walton
feb014eb3c
rustc: Add an "ne" method to the Eq trait, and implement it everywhere
2012-09-07 12:24:48 -07:00
Tim Chevalier
ac1f84c153
Don't check impl ty params for equality with trait ty params
...
This was too restrictive. We need to check the number of ty params,
and that the bounds are equal, but otherwise require_same_types does the job.
Closes #2611
2012-09-07 12:11:17 -07:00
Tim Chevalier
c6b51547c1
In typeck, don't assume traits with default methods are in the same crate
...
But note that default methods still don't work cross-crate (see #2794 ) --
this just makes it so that when a method is missing in a cross-crate impl,
the right error message gets printed.
Closes #3344
2012-09-07 10:27:29 -07:00
Niko Matsakis
cd3cc6d17b
Ensure that scratch datum's are zeroed out in the alloca phase.
...
This should address the valgrind failure that @elliotslaughter
was seeing, though I am not sure why the bots / test continued
to pass, since this is precisely the condition this test was looking
for!
2012-09-07 09:32:56 -07:00
Elliott Slaughter
cb53623341
gc: Add early abort when GC is disabled.
2012-09-07 09:21:22 -07:00
Elliott Slaughter
244b95490b
gc: Refactoring.
2012-09-07 09:21:22 -07:00
Elliott Slaughter
d22b7ca39a
gc: Documentation.
2012-09-07 09:21:22 -07:00
Elliott Slaughter
8d17308eca
rt: Add rust_gc_metadata to rustrt.def.in.
2012-09-07 09:21:22 -07:00
Elliott Slaughter
5637126449
rt: Fix GC metadata for 64-bit systems.
2012-09-07 09:21:22 -07:00
Elliott Slaughter
961bd48724
gc: Fix for GC missing stack frames across segment boundaries.
2012-09-07 09:21:22 -07:00
Elliott Slaughter
578b036f9b
gc: Don't expect sentinel when core is compiled without GC.
2012-09-07 09:21:22 -07:00
Elliott Slaughter
7823ad8586
gc: Avoid walking stack above caller frame.
...
Mark the base GC stack frame with a sentinel value so we know when to
start collecting.
2012-09-07 09:21:21 -07:00
Elliott Slaughter
88f5ab3163
gc: Fix for deallocating resources on the shared heap while cleaning stack.
2012-09-07 09:21:21 -07:00
Elliott Slaughter
3405c548e8
gc: Avoid freeing null pointers.
2012-09-07 09:21:21 -07:00
Elliott Slaughter
9ea4afe5da
gc: Avoid double free when pointer appears on stack multiple times.
2012-09-07 09:21:21 -07:00
Elliott Slaughter
3f0d207b32
gc: Add stack walker for new garbage collector.
...
Safe points are exported in a per-module list via the crate map. A C
runtime call walks the crate map at startup and aggregates the list of
safe points for the program.
Currently the GC doesn't actually deallocate memory on malloc and
free. Adding the GC at this stage is primarily of testing value.
The GC does attempt to clean up exchange heap and stack-allocated
resource on failure.
A result of this patch is that the user now needs to be careful about
what code they write in destructors, because the GC and/or failure
cleanup may need to call destructors. Specifically, calls to malloc
are considered unsafe and may result in infinite loops or segfaults.
2012-09-07 09:21:21 -07:00
Niko Matsakis
fb8786fe52
Refactor fn_ty, working towards #3320
2012-09-07 07:54:11 -07:00
Brian Anderson
699505899e
Register snappshots
2012-09-06 19:58:42 -07:00
Tim Chevalier
8152164a34
Another test for #2587
2012-09-06 16:46:59 -07:00
Tim Chevalier
46990ad111
Use callee ID when kind-checking expressions that may be overloaded
...
And fix up test cases that should have failed if not for this bug.
Closes #2587
2012-09-06 15:44:10 -07:00
Niko Matsakis
c5e2cf2ee5
Repair long lines
2012-09-06 15:40:11 -07:00
Niko Matsakis
ee4ba4490d
Issue #3402 : Load immediate rvalues right away
...
Should lead to smaller stack frames, hopefully reducing
the perf hits we saw
2012-09-06 15:23:03 -07:00
Niko Matsakis
fe9f0556d2
Refactor ty_var and ty_var_integral into one ty_infer variant
2012-09-06 12:31:33 -07:00
Niko Matsakis
d5b3e44b47
emacs mode: include use as a keyword
2012-09-06 12:31:33 -07:00
Tim Chevalier
a5285f148c
Add test for issue 3305
2012-09-06 12:30:47 -07:00
Tim Chevalier
55bd6cee2f
Test that merge sort is stable -- thanks to Jesse Jones
...
Closes #3399
2012-09-06 12:11:48 -07:00
Brian Anderson
b4e547d71a
Remove struct ctors
2012-09-06 10:52:26 -07:00
Niko Matsakis
5e36a99794
Refactor trans to replace lvalue and friends with Datum.
...
Also:
- report illegal move/ref combos whether or not ref comes first
- commented out fix for #3387 , too restrictive and causes an ICE
2012-09-06 06:11:12 -07:00
Patrick Walton
adc1427282
libcore: Expose glues to core
2012-09-05 21:10:22 -07:00
Patrick Walton
f6d50d866a
libcore: Make to_upper() and to_lower() pure
2012-09-05 20:55:28 -07:00
Patrick Walton
d155410674
rt: Make the boxed region come earlier in the rust_task structure.
...
This is so that GC can find it more easily.
2012-09-05 20:08:00 -07:00
Tim Chevalier
2d116cbbed
Start making moves explicit in libcore
...
This is in preparation for issue 2633. Replaced implicit moves that
rely on last-use with explicit moves in char, float, and str.
2012-09-05 19:20:01 -07:00
Patrick Walton
2ba632a683
vim: Turn "pub" into a big asterisk for those who dislike the look of it.
...
This is not the default and must be turned on.
2012-09-05 18:59:01 -07:00
Tim Chevalier
3a34c96086
Add a lint pass for structural records
...
Closes #3322
2012-09-05 18:35:30 -07:00
Patrick Walton
0a852e0da0
rustc: Make "priv" work on enum variants
2012-09-05 17:24:28 -07:00
Brian Anderson
9097410b43
Fix tutorial tests
2012-09-05 17:04:51 -07:00
Graydon Hoare
0ddae5ec7d
Add str::trim{_,_left_,_right_}chars.
2012-09-05 16:53:55 -07:00
Graydon Hoare
15b4734d0c
Remove 'use' line that's confusing pp-exact during use/import transition.
2012-09-05 16:53:55 -07:00
Graydon Hoare
81695d85dc
Mark crate metadata with a version tag. Close #3390 .
2012-09-05 16:53:55 -07:00
Patrick Walton
31af60b257
rustc: Fix double-reporting of private item errors. Un-XFAIL private-item-simple.rs.
2012-09-05 16:21:53 -07:00
Brian Anderson
f7681f9236
Accept Copy, Send, Const, Owned, as kind bounds
2012-09-05 15:31:38 -07:00
Patrick Walton
e7fe903d88
libsyntax: Make "pub use" mean the same thing as the former "import" in all circumstances
2012-09-05 13:26:46 -07:00
Patrick Walton
f686896f60
test: "import" -> "use"
2012-09-05 12:32:05 -07:00
Patrick Walton
47dac47e96
rustc: "import" -> "use" in .rc files
2012-09-05 11:46:25 -07:00
Patrick Walton
ba94b64698
cargo: "import" -> "use"
2012-09-05 11:39:22 -07:00
Patrick Walton
e4e9788b3a
fuzzer: "import" -> "use"
2012-09-05 11:38:37 -07:00
Patrick Walton
914b6fead9
test: Fix smallintmap test
2012-09-05 11:24:44 -07:00
Tim Chevalier
9db4445454
Merge pull request #3316 from Vincent-Belliard/issue_3222
...
fix issue #3222
2012-09-05 10:58:16 -07:00
Patrick Walton
fa2fb0f868
rustdoc: "import" -> "use"
2012-09-05 10:41:47 -07:00
Vincent Belliard
d12128f56f
fix issue #3222
2012-09-05 16:38:00 +02:00
Patrick Walton
9b88b5fe38
rustc: Don't allow private fields to be named in constructors or destructured
2012-09-04 19:07:23 -07:00
Patrick Walton
fba673b26b
rustc: Implement private methods.
...
Doesn't work cross-crate yet.
2012-09-04 18:30:27 -07:00
Brian Anderson
a618d0d7ce
std: Convert test to camel case
2012-09-04 18:26:30 -07:00
Brian Anderson
9c988eb40d
Whitespace
2012-09-04 17:54:20 -07:00
Brian Anderson
eb0cf3a715
std: Remove struct ctors
2012-09-04 17:27:03 -07:00
Tim Chevalier
268850f67b
xfail-fast anon-extern-mod-cross-crate-2
2012-09-04 17:23:26 -07:00
Tim Chevalier
451da07718
Allow anonymous extern mods
...
Now you can write:
extern {
f() -> int;
}
and f will be accessible in the enclosing scope.
2012-09-04 16:41:19 -07:00
Brian Anderson
c491bf939e
std: Camel case smallintmap
2012-09-04 16:04:10 -07:00
Brian Anderson
200959d7ce
Remove 'with'
2012-09-04 15:47:04 -07:00
Brian Anderson
02b1c32e4d
core: Remove struct ctors
2012-09-04 15:46:33 -07:00
Brian Anderson
ab9cf45a7c
syntax: Remove 'of' and 'check' from keyword table
2012-09-04 15:43:46 -07:00
Patrick Walton
8415515cbe
libcore: Make as_bytes_slice() not include the null byte
2012-09-04 15:23:30 -07:00
Patrick Walton
127144bf38
rustc: Implement private fields for max/min classes
2012-09-04 14:50:46 -07:00
Brian Anderson
8182497359
std: Camel case sort
2012-09-04 14:37:47 -07:00
Brian Anderson
a04cb8ebb7
Fix broken test case
2012-09-04 14:36:21 -07:00
Brian Anderson
0684c065a9
std: Camel case treemap
2012-09-04 14:35:43 -07:00
Brian Anderson
3764fe3f2a
std: Camel case list
2012-09-04 14:12:49 -07:00
Brian Anderson
d3e75ea375
Parse 'loop' and 'again' the same
2012-09-04 13:37:11 -07:00
Gareth Daniel Smith
92f3b74db2
Use struct+impl syntax instead of the (deprecated) struct with embedded methods syntax. Also standardise the comment indentation and add some whitespace between items.
2012-09-04 13:23:23 -07:00
Gareth Daniel Smith
c5f674ae2a
fix two issues with the exports:
...
1. from_bytes, from_bools and from_fn were not exported but should have been.
2. lots of stuff that either didnt exist or didnt need exporting was being exported.
2012-09-04 13:23:22 -07:00
Gareth Daniel Smith
9297c76598
add additional Bitv constructors (as proposed in issue #2964 )
2012-09-04 13:23:22 -07:00
Brian Anderson
f445497d6b
Merge pull request #3383 from crabtw/fbsd
...
use native log2 function and enable freebsd tests in uv_ll
2012-09-04 12:14:09 -07:00
Patrick Walton
a26837c478
rustc: "import" -> "use"
2012-09-04 11:54:36 -07:00
Patrick Walton
8ff18acc82
libsyntax: "import" -> "use"
2012-09-04 11:43:23 -07:00
Kevin Cantu
3f92cf2659
Demode libstd/net_ip.rs
2012-09-04 11:33:23 -07:00
Kevin Cantu
d072bc09a7
Demode libstd/net_url.rs
2012-09-04 11:33:23 -07:00
Kevin Cantu
9c8b0c6006
Demode treemap.rs
2012-09-04 11:30:49 -07:00
Kevin Cantu
100368ab86
Confirm demoding of smallintmap.rs
2012-09-04 11:30:48 -07:00
Kevin Cantu
3283b137b7
Confirm demoding of term.rs
2012-09-04 11:30:01 -07:00
Brian Anderson
d55917ea59
std: Fix net::url constructor names
2012-09-04 11:28:38 -07:00
Andrew Paseltiner
225cdc4894
add test for eq_slice fix
2012-09-04 11:27:11 -07:00
Andrew Paseltiner
21172ee280
fix str::eq_slice off-by-one error
2012-09-04 11:27:11 -07:00
Patrick Walton
2d690ae43f
libstd: "import" -> "use"
2012-09-04 11:23:53 -07:00
Patrick Walton
437073868e
libcore: "import" -> "use"
2012-09-04 11:12:17 -07:00
Jyun-Yan You
ff4b754958
use native log2 function and enable freebsd tests in uv_ll
2012-09-05 02:03:56 +08:00
Patrick Walton
7550e45930
libstd: Make ToBase64 take slices
2012-09-03 22:41:10 -07:00
Patrick Walton
0c2674f947
libstd: Make URL parsing not require unique strings, and have URLs implement FromStr.
...
I considered changing FromStr to return a Result<E> parameterized
over an error type E, but I decided that was premature abstraction.
If you want the URL parsing error, call url::from_str() directly.
2012-09-03 17:03:19 -07:00
Brian Anderson
5aedabf1a3
rustc: Run all intrinsics through the monomorphiser
...
Intrinsics always want to be inlined.
2012-09-03 16:46:15 -07:00
Patrick Walton
bb348ccab1
libstd: Export query_to_str from net::url
2012-09-03 16:10:01 -07:00
Brian Anderson
ac31fdd9c4
Fix cross-crate inlining of intrinsics
2012-09-03 16:01:51 -07:00
Patrick Walton
cd15eac9cf
libcore: Add missing from_str.rs
2012-09-03 15:59:37 -07:00
Patrick Walton
8f840f9ea0
libstd: Implement a Sort trait.
...
This depends on the previous fix to not assert.
2012-09-03 15:59:10 -07:00
Patrick Walton
5573ad723f
rustc: Fix an LLVM assertion that tripped when borrowing a by-val method receiver.
...
In certain lvalue code paths, the type of the borrowed value was not
being used to generate temporary spills. I'm a bit surprised we didn't
hit this sooner.
2012-09-03 15:59:10 -07:00
Brian Anderson
e767011b77
core: Add missing from_str.rs
2012-09-03 14:14:17 -07:00
Patrick Walton
199ed4d940
libstd: Export the url() constructor from net_url
2012-09-03 13:25:32 -07:00
Patrick Walton
aefc884cf6
libcore: Add a from_str trait
2012-09-03 13:09:24 -07:00
Patrick Walton
07ee2997e6
libstd: Make net_url::encode no longer require a unique string
2012-09-03 12:33:51 -07:00
Patrick Walton
c2f8cf9dc1
libcore: Remove as_bytes_slice
2012-09-03 12:33:43 -07:00
Patrick Walton
68704e4ca7
libstd: Make URLs structs
2012-09-02 20:59:46 -07:00
Brian Anderson
f393100b7c
Camel case core::ops
2012-09-02 18:13:56 -07:00
Brian Anderson
cb0eb66672
std: Camel case the rope module
2012-09-02 17:32:22 -07:00
Patrick Walton
b808cfbb74
rustc: Don't translate the expression twice when adapting a borrowed method receiver. Closes #3357 .
...
Adds a test case. I had to stare at this one for a bit.
2012-09-02 16:51:05 -07:00
Brian Anderson
49c9ac175f
Silence non-implicitly-copyable-typarams in coretest
2012-09-02 16:34:36 -07:00
Brian Anderson
ffa5d76a78
core: Only warn about implicitly copying vecs
2012-09-02 16:21:57 -07:00
Brian Anderson
117aa8cfee
core: warn(non_camel_case_types) everywhere, with few exceptions
2012-09-02 16:14:26 -07:00
Brian Anderson
a80b7dc709
Fix use of reinterpret_cast in to_mut_unsafe_ptr
2012-09-02 16:03:37 -07:00
Brian Anderson
512a769f6f
std: Allow camel case for list type
2012-09-02 15:57:49 -07:00
Patrick Walton
f03ed73c5e
libcore: Add ptr::to_mut_unsafe_ptr
2012-09-02 15:54:24 -07:00
Brian Anderson
1397c83f11
std: warn(non_camel_case_types) everywhere. still some exceptions
2012-09-02 15:49:36 -07:00
Brian Anderson
087c5032a8
core: deny(vecs_implicity_copyable)
2012-09-02 15:38:18 -07:00
Brian Anderson
7fb1a4e2d1
Camel case core::intrinsic
2012-09-02 15:19:52 -07:00
Brian Anderson
80c4f74c29
Remove the 'to' keyword
2012-09-01 18:38:18 -07:00
Brian Anderson
d777e51333
Demode reinterpret_cast
2012-09-01 18:18:29 -07:00
Brian Anderson
6bfc80f8fb
Try to work around check-fast breakage
2012-09-01 18:08:15 -07:00