Patrick Walton
0c2e6fda73
rustc: Implement ~Trait. r=nmatsakis
2012-11-02 10:15:19 -07:00
Patrick Walton
65d4dbeb12
rustc: Implement dereference via unary '*' for structs. r=nmatsakis
2012-11-02 09:56:35 -07:00
Patrick Walton
4165edff22
rustc: Implement translation of pattern matching for tuple structs and unit-like structs. r=nmatsakis
2012-11-02 09:56:28 -07:00
Patrick Walton
106f9976ab
rustc: Implement typechecking, exhaustiveness checking, and borrow checking for pattern matching of tuple structs. r=nmatsakis
...
Conflicts:
src/rustc/middle/typeck/check/alt.rs
2012-11-02 09:56:09 -07:00
Brian Anderson
a90020fe8d
xfail issue-2061
2012-11-01 17:13:59 -07:00
Tim Chevalier
0069bd2f46
Add run-fail test for #2061
2012-11-01 16:20:58 -07:00
Brian Anderson
3edccc311e
Support #[cfg] on methods
2012-11-01 15:48:50 -07:00
Tim Chevalier
768247f393
Tests for #1896
2012-11-01 15:14:52 -07:00
Tim Chevalier
b269ac13cd
Adding xfailed test for #3874
2012-11-01 15:14:52 -07:00
Patrick Walton
94f05c1936
rustc: Stop overwriting trait static method types when checking generic trait refs. Closes #3903 . rs=blocking-burg
2012-11-01 15:10:41 -07:00
Tim Chevalier
3d8df9947f
Add xfailed test cases
2012-11-01 14:43:26 -07:00
Tim Chevalier
9d276b11e5
Add test case for #3878 , which didn't get merged somehow
2012-11-01 14:43:20 -07:00
Brian Anderson
740763fdef
Merge remote-tracking branch 'vertexclique/incoming'
2012-10-31 16:11:23 -07:00
Brian Anderson
cb4de738cf
Fix checking of duplicate and missing struct field initializers. Closes #3486 . Closes #3892
2012-10-31 13:56:41 -07:00
Tim Chevalier
4e5865f2ad
Fix #1458 (allow paren'd exprs to be the operator in a do
)
...
Closes #1458
2012-10-30 15:06:13 -07:00
Tim Chevalier
165ce14f68
Remove xfail-pretty from tests that pretty-print correctly now
2012-10-30 15:06:10 -07:00
Mahmut Bulut
1dc4d024a8
testcase added for #3878
2012-10-31 00:05:34 +02:00
Tim Chevalier
62f98c8ff8
Preserve parenthesization in the AST
...
Maintain explicit "paren" nodes in the AST so we can pretty-print
without having to guess where parens should go. We may revisit this
in the future.
r=graydon
2012-10-30 15:05:32 -07:00
Patrick Walton
a3b83c6224
rustc: Translate "deriving" for monomorphic intra-crate enums. r=brson
2012-10-30 11:40:44 -07:00
Patrick Walton
a369a7881f
rustc: Implement typechecking for automatically-derived enums
2012-10-29 14:11:56 -07:00
Patrick Walton
17a875b08a
Merge pull request #3871 from pcwalton/master
...
rustc: Translate monomorphic intra-crate automatically-derived method…
2012-10-29 10:37:22 -07:00
Tim Chevalier
5e5ea04608
Make class-cast-to-trait compile (not sure why this worked before)
2012-10-27 17:38:57 -07:00
Niko Matsakis
2093952847
Partial fix for #2687---impl method must only be subtype of trait method, not exact match.
2012-10-26 19:41:17 -07:00
Patrick Walton
d5a27a0e0c
rustc: Translate monomorphic intra-crate automatically-derived methods that follow the "eq" format
2012-10-26 18:23:45 -07:00
Brian Anderson
a9d7642b5d
Merge remote-tracking branch '14427/incoming'
...
Conflicts:
src/libstd/sort.rs
2012-10-25 14:01:49 -07:00
Patrick Walton
57cd6b3e3f
rustc: Translate and check exhaustiveness of struct-like enum variant patterns. r=nmatsakis
2012-10-25 13:59:10 -07:00
Patrick Walton
599b4208fb
rustc: Translate tuple struct constructors
2012-10-25 11:49:26 -07:00
Brian Anderson
b2d5acd6bc
Merge remote-tracking branch 'brson/futures'
2012-10-24 20:29:01 -07:00
Niko Matsakis
8468c40fde
Workaround #3850
2012-10-24 18:56:31 -07:00
Niko Matsakis
1a3a70760b
Implement proper subtyping for region fn types (part of #2263 )
2012-10-24 18:56:31 -07:00
Brian Anderson
a66e01369d
Merge pull request #3852 from veddan/type-limits
...
Lint pass like GCC's -Wtype-limits (#3833 )
2012-10-24 14:38:49 -07:00
Brian Anderson
3b6f5a18a2
Merge branch 'method-vis-parse'
...
Conflicts:
src/libsyntax/parse/parser.rs
2012-10-24 12:15:21 -07:00
Viktor Dahl
0707780eac
Added compile-fail tests
2012-10-24 19:14:50 +02:00
Mahmut Bulut
27fb3fe90d
stage2 run-pass test for #3753
2012-10-24 18:32:36 +03:00
Patrick Walton
61bb3571a5
rustc: Implement construction of monomorphic struct-like variants. r=nmatsakis
2012-10-23 19:23:46 -07:00
Brian Anderson
d29962f0eb
Move futures to std
2012-10-23 14:46:49 -07:00
Brian Anderson
3e4b2bd2b2
core: Use PortOne instead of Future in future_result
2012-10-23 14:21:15 -07:00
Tim Chevalier
11e92f37c1
Remove uses of binary move - <- - from tests and libraries
2012-10-23 12:10:03 -07:00
Brian Anderson
b2af873b76
Merge remote-tracking branch 'luqmana/incoming'
2012-10-22 21:44:53 -07:00
Patrick Walton
ec1c60c4d6
rustc: Implement generic cross-crate trait inheritance
2012-10-22 18:00:48 -07:00
Simon BD
cc0f2c6bb2
Merge remote-tracking branch 'original/incoming' into incoming
2012-10-22 18:33:41 -05:00
Brian Anderson
763a8e7b47
xfail-fast issue-3656
2012-10-22 14:04:22 -07:00
Brian Anderson
2eea07be11
Merge pull request #3826 from jdm/doublefail
...
Fix ICE stemming from use of unique pointers in unreachable blocks.
2012-10-22 11:32:30 -07:00
Tim Chevalier
dd66e7549b
Preliminary support for labeled break/continue for loop
s
...
This patch adds preliminary middle-end support (liveness and trans)
for breaks and `loop`s to `loop` constructs that have labels.
while and for loops can't have labels yet.
Progress on #2216
2012-10-22 09:20:37 -07:00
Tim Chevalier
46d4bbbae4
Simplify the AST representation of ty param bounds
...
Change ast::ty_param_bound so that all ty param bounds are represented
as traits, with no special cases for Copy/Send/Owned/Const.
typeck::collect generates the special cases.
A consequence of this is that code using the #[no_core] attribute
can't use the Copy kind/trait. Probably not a big deal?
As a side effect, any user-defined traits that happen to be called
Copy, etc. in the same module override the built-in Copy trait.
r=nmatsakis
Closes #2284
2012-10-22 09:01:12 -07:00
Niko Matsakis
42c05fe642
Correct propagation of mutability from components to base in borrowck
...
Fixes #3828 .
2012-10-21 23:52:36 -07:00
Luqman Aden
e1db959ec2
rustc: add new intrinsics - atomic_cxchg{_acq,_rel}
2012-10-21 22:23:50 -04:00
Josh Matthews
7c7980196c
Fix ICE stemming from use of unique pointers in unreachable blocks.
2012-10-21 03:43:41 -04:00
Brian Anderson
837875711a
Remove obsolete fixed-length string test
2012-10-20 17:50:46 -07:00
Brian Anderson
8a8fbe3dce
Remove remaining uses of old fixed-length vec syntax
2012-10-20 17:50:46 -07:00
Brian Anderson
f3df50f67f
Parse and report obsolete fixed-length vector syntax
2012-10-20 17:50:46 -07:00
Ben Striegel
684d945ab7
Fix a pprint test for fixed-length vecs
2012-10-20 17:50:46 -07:00
Ben Striegel
ac81fff229
Remove old fixed-length vector syntax
2012-10-20 17:50:46 -07:00
Brian Anderson
15777de957
Fix run-pass/issue-2895 for 32-bit archs
2012-10-20 14:52:31 -07:00
Tim Chevalier
10612ee30c
Remove superfluous by-ref in option::get, option::get_default, option::expect
...
Superficial change, no review.
2012-10-19 11:38:28 -07:00
Patrick Walton
754704ea94
rustc: Implement intra-crate static methods on anonymous trait implementations. r=nmatsakis
2012-10-18 14:29:18 -07:00
Patrick Walton
fa38c12901
test: Fix failing tests. r=rustbot
2012-10-18 12:09:40 -07:00
Philipp Brüschweiler
e7e1bab27f
libsyntax: refactor the parser to consider foreign items as items
...
parse_item_or_view_item() would drop visibility if none of the conditions
following it would hold. This was the case when parsing extern {} blocks,
where the function was only used to parse view items, but discarded the
visibility of the first not-view item.
2012-10-17 15:34:55 -07:00
Tim Chevalier
7f12cc4e63
Merge pull request #3716 from Blei/fix-3656
...
rustc: fix size computation of structs for the FFI
2012-10-17 11:00:36 -07:00
Patrick Walton
4dc67c5e6a
rustc: Implement intra-crate static methods on anonymous trait implementations.
2012-10-16 12:22:56 -07:00
Tim Chevalier
b38092e9a2
In ty::normalize_ty, don't replace self_regions with None
...
Instead, replace with re_static. This was causing ty::subst to
fail when called from trans::type_of::type_of.
Already discussed with nmatsakis and it's a small change, so
no review.
Closes #3447
2012-10-15 17:46:09 -07:00
Tim Chevalier
bbc46d527d
Add test for Issue 2823
2012-10-15 17:12:42 -07:00
Tim Chevalier
d29328617d
Add test case for Issue 2895
2012-10-15 17:09:05 -07:00
Tim Chevalier
7d84505654
Error out in resolve if structs try to capture type parameters
...
Closes #3214
2012-10-15 16:27:53 -07:00
Patrick Walton
91ae5412d8
rustc: Merge module and type namespaces. r=brson
2012-10-15 15:35:36 -07:00
Tim Chevalier
c5b82a65e9
Add test cases for #3668
...
Previous commits fix the issue.
Closes #3668
2012-10-15 14:41:09 -07:00
Tim Chevalier
4f9e7babeb
Un-xfail test for #3521 ; it works now
...
Closes #3521
2012-10-15 14:18:15 -07:00
Patrick Walton
c886629d4f
rustc: Implement monomorphic default methods. r=nmatsakis
2012-10-15 14:14:05 -07:00
Niko Matsakis
2a1aa9fb53
Check whether loans conflict with old loans or with themselves.
...
Along the way, convert from dvec-of-dvec representation to track loans in scope
to just a single flattened list. It's more convenient.
Fixes #3765 . r+ pcwalton.
2012-10-15 13:37:50 -07:00
Tim Chevalier
7237268b70
Allow enum discriminator exprs to refer to declared consts
...
Also some work towards #3521
Closes #2428
2012-10-15 12:28:29 -07:00
Tim Chevalier
f6211ab187
Add various test cases (xfailed)
2012-10-15 12:00:32 -07:00
Erick Tryzelaar
ab89b5c294
libstd: make Serializer a trait-level typaram
2012-10-15 08:25:23 -07:00
Tim Chevalier
632d60691a
Test that functional struct update exprs get rejected if...
...
...they require copying noncopyable fields.
2012-10-12 20:43:38 -07:00
Tim Chevalier
71dbbe145c
Make moves explicit in rfail tests
2012-10-12 20:43:38 -07:00
Tim Chevalier
3ebd878f4a
Make moves explicit in rpass tests
2012-10-12 20:43:38 -07:00
Tim Chevalier
2145348090
Make moves explicit in cfail tests
2012-10-12 20:43:37 -07:00
Tim Chevalier
f5f3a75b65
Make moves explicit in bench tests
2012-10-12 20:43:37 -07:00
Tim Chevalier
e18c6bb3b6
Make moves explicit in aux test files
2012-10-12 20:43:37 -07:00
Tim Chevalier
ea5e3d21ff
Make moves explicit in doc examples
...
Had to remove the buffalo example. It was awkward to update for
explicit moves.
2012-10-12 20:43:37 -07:00
Niko Matsakis
98887cc7ee
remove ctor from ast (take 2) (no review: just dead code removal)
2012-10-12 19:46:37 -07:00
Niko Matsakis
cb55e246ba
Use the Nth impl when translating a static method call, instead
...
of the 0th. 0th is only correct when there are no bound tps
on the trait.
Fixes #3741 .
2012-10-12 17:46:43 -07:00
Graydon Hoare
57b4d10ff6
bump version to 0.5.
2012-10-12 16:41:32 -07:00
Kevin Cantu
1bede1f5e0
Replace several common macros of the form #m[...] with m!(...)
...
This commit replaces nearly all remaining uses of #fmt, #debug, #error,
and #info, and fixes some error messages...
2012-10-12 14:14:48 -07:00
Tim Chevalier
693866d75e
Change FIXME number
2012-10-11 18:09:55 -07:00
Tim Chevalier
44bffd2059
Revert "Use a constant vector for the sudoku board, delete a FIXME"
...
This reverts commit 06d0bf7555
.
2012-10-11 18:08:58 -07:00
Tim Chevalier
55b528484d
Re-xfail two tests that I tried to resurrect (no time right now)
2012-10-11 17:59:33 -07:00
Tim Chevalier
2d116db578
Use move instead of ref in select-macro
2012-10-11 17:59:29 -07:00
Tim Chevalier
dd54431df6
Fix pipe-select-macro
2012-10-11 17:59:14 -07:00
Tim Chevalier
3c1ff31f4a
Un-XFAIL task-compare
2012-10-11 17:03:56 -07:00
Tim Chevalier
5a849ea8ad
Use match move in select-macro, get rid of a FIXME
2012-10-11 17:03:48 -07:00
Tim Chevalier
b24cba877d
Un-XFAIL reflect-visit-type
2012-10-11 17:03:29 -07:00
Tim Chevalier
f1de001d69
Annotate FIXMEs in reflect-visit-data
2012-10-11 17:03:02 -07:00
Tim Chevalier
c090dcad84
Uncomment nested module in test, delete a FIXME
2012-10-11 17:02:38 -07:00
Tim Chevalier
06d0bf7555
Use a constant vector for the sudoku board, delete a FIXME
2012-10-11 17:02:12 -07:00
Tim Chevalier
668b39cb5c
Use match move in pingpong, delete a FIXME
2012-10-11 17:01:55 -07:00
Tim Chevalier
5a8ba073bc
Make to_str pure and fix const parameters for str-mutating functions
...
Two separate changes that got intertwined (sorry):
Make to_str pure. Closes #3691
In str, change functions like push_char to take an &mut str instead of
an &str. Closes #3710
2012-10-11 14:17:59 -07:00
Philipp Brüschweiler
25096a212a
rustc: fix size computation of structs for the FFI
...
It didn't take alignment into account.
Fixes #3656 .
2012-10-10 22:40:58 +02:00
Tim Chevalier
a477c5af20
Revert "cap-clause-use-after-move: modernize error msg"
...
This reverts commit bbda995bfe
.
2012-10-08 13:11:16 -07:00
Tim Chevalier
2cee21462f
Merge branch 'incoming' into snap-2012-10-05
2012-10-08 10:48:07 -07:00
Niko Matsakis
bbda995bfe
cap-clause-use-after-move: modernize error msg
2012-10-08 08:57:37 -07:00
Niko Matsakis
ed3689d57c
remove ctor from ast
2012-10-08 06:36:42 -07:00
Erick Tryzelaar
eb626e7119
Remove the old serializers (needs snapshot)
2012-10-07 17:20:19 -07:00
Erick Tryzelaar
d301dd3686
remove the old auto_serialize syntax extension
2012-10-07 14:56:18 -07:00
Simon BD
0e3bec0ced
Merge remote-tracking branch 'original/incoming' into incoming
2012-10-06 13:15:18 -05:00
Tim Chevalier
f96a2a2ca1
Remove by-mutable-ref mode from the compiler
...
and test cases. Closes #3513
2012-10-05 22:45:50 -07:00
Patrick Walton
937f8f4067
test: XFAIL trait-inheritance-simple because of suspected 32-bit brokenness
2012-10-05 17:18:52 -07:00
Patrick Walton
04497ea7b9
rustc: Implement simple uses of &trait
2012-10-05 16:57:13 -07:00
Tim Chevalier
e16dbb7888
Demode some code using by-mutbl-ref; warn about by-mutbl-ref
...
The parser now warns about use of mutbl-ref mode, though it's kind
of a lie since this commit doesn't remove support for the mode.
Changed move_val_init to have stage0 and stage1/2 versions, the latter of
which is demoded.
Changed the type that the typechecker expects the move_val_init
intrinsic to have. After this is pushed, I can make a new snapshot,
which will remove the need for the stage0 versions.
2012-10-05 15:37:01 -07:00
Patrick Walton
1b732145ec
rustc: Implement simple trait inheritance.
...
Generic trait inheritance, cross-crate trait inheritance, and vtable-based
trait inheritance don't work yet.
2012-10-05 11:52:08 -07:00
Tim Chevalier
8fc60af441
Remove by-copy mode from std, mostly
...
One instance remains in net_tcp due to a foreign fn. Lots of
instances remain in serialization.rs, but IIRC that is being removed.
I had to do unholy things to task-perf-word-count-generic to get it
to compile after demoding pipes. I may well have messed up its
performance, but it passes.
2012-10-04 19:59:47 -07:00
Tim Chevalier
fe12da0864
De-mode comm::Chan
2012-10-04 16:48:57 -07:00
Brian Anderson
edc317b821
Remove arg vectors from main functions. Stop supporting them.
2012-10-04 15:07:49 -07:00
Brian Anderson
83fdeddb91
xfail-pretty reexport-star
2012-10-03 22:10:52 -07:00
Patrick Walton
c2fc7316a9
test: Fix error message in vtable-res-trait-param
2012-10-03 21:13:58 -07:00
Simon BD
efcd2385ea
Merge remote-tracking branch 'original/incoming' into incoming
...
Conflicts:
src/libstd/json.rs
src/libstd/sort.rs
2012-10-03 21:47:09 -05:00
Patrick Walton
d936773e56
test: Add a test case for "pub use a::*"
2012-10-03 17:03:29 -07:00
Brian Anderson
72b7a7707f
test: Use println instead of debug in hello.rs
2012-10-03 14:29:59 -07:00
Tim Chevalier
f33539e446
Remove uses of + mode from libstd
...
More or less the same as my analogous commit for libcore. Had
to remove the forbid(deprecated_modes) pragma from some files -- will
restore it after the snapshot.
2012-10-03 14:05:51 -07:00
Graydon Hoare
c31a88c7f4
De-export the submodules of task. Part of #3583 .
2012-10-02 16:32:00 -07:00
Tim Chevalier
f78cdcb636
Removing explicit uses of + mode
...
This removes most explicit uses of the + argument mode. Pending a
snapshot, I had to remove the forbid(deprecated_modes) pragma from
a bunch of files. I'll put it back!
+ mode still has to be used in a few places for functions that get
moved (see task.rs)
The changes outside core and std are due to the to_bytes trait and
making the compiler (with legacy modes on) agree with the libraries
(with legacy modes off) about modes.
2012-10-02 14:31:39 -07:00
Patrick Walton
9284179311
libstd: Switch off legacy modes in both core and std.
2012-10-02 12:20:06 -07:00
Erick Tryzelaar
2569adc5ea
Split auto_serialize2 into two macros
2012-10-01 20:44:30 -07:00
Erick Tryzelaar
372c7de201
Add struct to auto_serialize2 test
2012-10-01 20:44:30 -07:00
Erick Tryzelaar
81423a3866
Add deserializable and more types to serialization2
2012-10-01 20:43:59 -07:00
Erick Tryzelaar
0a950f394d
test: un-xfail the auto_serialize for boxes test
2012-10-01 20:43:59 -07:00
Tim Chevalier
b18320446e
Move over to calling ptr::addr_of
...
Everything should now call ptr::addr_of instead of
ptr::p2::addr_of. Only the pipes macro code when compiled
by stage0 will call ptr::p2::addr_of. Needs a snapshot to get
rid of that.
2012-10-01 15:12:09 -07:00
Gareth Daniel Smith
1c76d189c0
When a vec/str bounds check fails, include the bad index and the length of the str/vec in the fail message.
2012-09-30 14:55:56 -07:00
Tim Chevalier
3639d38d5c
Add a demoded version of ptr::addr_of
...
Currently, the new version is ptr::p2::addr_of and the old one is
ptr::addr_of. This is kind of cheesy, but I need a snapshot before I
can ditch the old version, since the pipe compiler generates calls to
addr_of.
core is converted over to use the new version, std is not.
2012-09-28 22:19:01 -07:00
Tim Chevalier
90f959aad4
Fix graph500-bfs
2012-09-28 19:26:24 -07:00
Graydon Hoare
f311bb38cd
Fix benchmarks.
2012-09-28 18:26:36 -07:00
Tim Chevalier
a3a257cc3b
Demode iter::foldl and friends
2012-09-28 17:57:02 -07:00
Tim Chevalier
fec96b2ae0
Demoding in iter: any, all, map_to_vec, flat_map_to_vec, filter_to_vec
2012-09-28 17:44:15 -07:00
Niko Matsakis
21519bc7e0
demode vec
2012-09-28 13:27:45 -07:00
Simon BD
4f9f1c5f9a
Switch order of merge_sort arguments in some benchmarks
2012-09-27 20:44:31 -05:00
Patrick Walton
7b0ed94bdc
rustc: Make enum export visibility inherit properly
2012-09-27 17:43:09 -07:00
Tim Chevalier
7e7411e620
Demode rand
2012-09-27 11:32:09 -07:00
Brian Anderson
010f805a7b
Unbreak test/bench/task-perf-word-count-generic
2012-09-26 19:30:09 -07:00
Brian Anderson
87a72567f0
Unbreak run-pass/issue-2904 more
2012-09-26 18:41:02 -07:00
Brian Anderson
dd80cb22e3
Fix test/run-fail/issue-2156
2012-09-26 18:10:35 -07:00
Niko Matsakis
67a8e7128a
Demode vec::push (and convert to method)
2012-09-26 18:02:07 -07:00
Brian Anderson
26a8fe3553
Fix test/run-pass/issue-2904
2012-09-26 17:03:02 -07:00
Erick Tryzelaar
49d00b2f22
libstd: port json over to serialization2
2012-09-26 16:29:41 -07:00
Erick Tryzelaar
c0b9986c8f
libstd: change serialization2 to take &self argument methods
...
Unfortunately this trips over issue (#3585 ), where auto-ref isn't
playing nicely with @T implementations. Most serializers don't
care, but prettyprint2 won't properly display "@" until #3585 is
fixed.
2012-09-26 16:20:24 -07:00
Erick Tryzelaar
d2506a1787
test: Add a test for auto_serialize2
2012-09-26 16:20:24 -07:00
Tim Chevalier
101bc62ad9
Revert "fix modes on dtors"
...
This reverts commit d38b97a170
.
(Accidentally checked this in, oops)
2012-09-26 10:43:11 -07:00
Tim Chevalier
d38b97a170
fix modes on dtors
2012-09-26 10:42:11 -07:00
Vincent Belliard
ef23d77633
fix issue #3535 and add colon between mode and type when dumping funcion prototype
2012-09-26 07:48:19 -07:00
Tim Chevalier
95bc32dc4f
Fix borked tests
2012-09-25 22:13:05 -07:00
Tim Chevalier
e19e628b19
Demode iter-trait
2012-09-25 22:13:05 -07:00
Tim Chevalier
3023bd8729
Demode dvec
2012-09-25 18:27:55 -07:00
Brian Anderson
d05e2ad66c
Demode core::result
2012-09-25 17:48:22 -07:00
Brian Anderson
62649f0412
Check more things with deprecated_modes
2012-09-25 17:41:29 -07:00
Patrick Walton
954eee5310
test: Remove various box annihilator tests
2012-09-25 17:06:01 -07:00
Tim Chevalier
e85a3d8247
Demode Num trait and impls
2012-09-25 15:52:41 -07:00
Graydon Hoare
fdd48dd903
Respect privacy qualifiers on view items, add to import resolutions.
2012-09-25 15:31:02 -07:00
Niko Matsakis
12a0401d84
Change method res to try autoref more often. Fixes #3585 .
2012-09-25 15:22:38 -07:00
Niko Matsakis
267ab11cca
use + mode for (almost) everything when not using legacy modes
2012-09-25 12:47:35 -07:00
Graydon Hoare
546f3dbbf5
Build the export_map2 from visibility markers, unless #[legacy_exports];
2012-09-24 17:29:32 -07:00
Brian Anderson
afd91f8a56
Register snapshots. Remove redundant Eq impls, Makefile hacks
2012-09-23 23:01:49 -07:00
Brian Anderson
4a78f9b166
core: Demode option
2012-09-23 17:15:00 -07:00
Brian Anderson
92752a462a
xfail-test run-fail/out-of-stack-managed-box
2012-09-23 17:12:59 -07:00
Niko Matsakis
0a26edca75
Fix trans for region patterns (&P)
2012-09-23 13:30:20 -05:00
Niko Matsakis
ba3eebd41d
Make it illegal to use modes in a fn signature with providing
...
an explicit variable name. (Step one to changing the defaults)
First step to #3535
2012-09-23 13:30:13 -05:00
Brian Anderson
655f7f844c
Remove bogus comment
2012-09-21 21:55:56 -07:00
Brian Anderson
b10e575217
Add tests for out-of-stack box leak #2555
2012-09-21 21:50:02 -07:00
Niko Matsakis
3d59ac3a19
De-mode vec::map, vec::eachi, vec::rev_each, vec::rev_eachi
2012-09-21 19:13:55 -07:00
Patrick Walton
d48396c986
libcore: De-mode str
2012-09-21 18:37:06 -07:00
Graydon Hoare
dffe188991
Install new pub/priv/export rules as defaults, old rules accessible under #[legacy_exports];
2012-09-21 18:11:43 -07:00
Brian Anderson
3e9284d128
core: Demode sys
2012-09-20 15:37:55 -07:00
Niko Matsakis
38595e6664
remove cfg(stage0) version of Eq, not needed for tests
2012-09-20 14:34:22 -07:00
Graydon Hoare
6e9f997f8e
Fix ord test breakage.
2012-09-20 14:00:33 -07:00
Patrick Walton
9117dcb968
rustc: De-mode all overloaded operators
2012-09-20 09:48:05 -07:00
Niko Matsakis
cfed923600
demode the each() method on vec and other iterables.
2012-09-19 17:03:01 -07:00
Graydon Hoare
5e41739562
Remove final bits of residual hokey-hash functions. Close #1616 .
2012-09-19 16:35:53 -07:00
Graydon Hoare
1ffd90edbc
Remove redundant hashmap constructor functions.
2012-09-19 15:51:44 -07:00
Brian Anderson
afdd8204ea
xfail-fast another legacy_mode test
2012-09-19 14:50:21 -07:00
Philipp Brüschweiler
d3e0a06578
V2: now with more locks!
2012-09-19 14:01:53 -07:00
Philipp Brüschweiler
68e755b1c2
core: Allocate threads on demand, not on scheduler startup
...
API change: rust_kernel::create_scheduler() or
rust_scheduler::rust_scheduler() respecitevly now take ownership of the
launch factory argument, it is needed to create new threads on demand.
Also renames rustrt::sched_threads() to rustrt::rust_sched_threads() for
consistency. Added rustrt::rust_max_sched_threads() to return the
maximal number of scheduled threads of the current scheduler.
Fixes #3493 .
2012-09-19 14:01:53 -07:00
Brian Anderson
35a9353774
xfail-fast the legacy_mode run-pass tests
2012-09-19 13:59:58 -07:00
Niko Matsakis
9cf271fe96
De-mode vec::each() and many of the str iteration routines
...
Note that the method foo.each() is not de-moded, nor the other
vec routines.
2012-09-19 10:52:59 -07:00
Niko Matsakis
8d4928f780
Revert "replace explicit calls to vec::each with vec::each_ref, partially demode str"
...
This reverts commit 1be24f0758
.
Not quite ready.
2012-09-18 21:41:13 -07:00
Niko Matsakis
1be24f0758
replace explicit calls to vec::each with vec::each_ref, partially demode str
2012-09-18 21:31:00 -07:00
Brian Anderson
2906f2de31
core: Rename 'unsafe' mod to 'cast'
2012-09-18 19:36:25 -07:00
Brian Anderson
a9fea86970
Tweak graph500-bfs so it pretty-prints
2012-09-18 19:25:59 -07:00
Brian Anderson
a005b1af60
Fix some broken tests
2012-09-18 18:49:23 -07:00
Brian Anderson
be490c7f81
Fix run-pass-fulldeps/qquote.rs
2012-09-18 18:46:45 -07:00
Patrick Walton
e653d493fb
rustc: Remove legacy mode inference, unless #[legacy_modes] is used
2012-09-18 15:53:04 -07:00
Brian Anderson
d53cfd225a
core: Move Exclusive and SharedMutableState to the private mod
2012-09-18 15:23:57 -07:00
Erick Tryzelaar
d0d68c6036
libcore: make a copyless io::BytesWriter
2012-09-18 12:56:57 -07:00
Brian Anderson
eb35039fe8
Change 'must' to 'should' in non_camel_case_types message
2012-09-18 12:18:00 -07:00
Brian Anderson
76c8b83efa
Consolidate tests for non_camel_case_types
2012-09-18 11:56:08 -07:00
Patrick Walton
c755449fd6
Revert "rustc: Change all non-keyword uses of "link""
...
This reverts commit 3b013cd800
.
2012-09-18 11:47:04 -07:00
Brian Anderson
2cdb23bbc0
Replace uses of 'unchecked' with 'unsafe'
2012-09-18 11:31:57 -07:00
Patrick Walton
3b013cd800
rustc: Change all non-keyword uses of "link"
2012-09-18 11:27:37 -07:00
Brian Anderson
f563c0b525
warn(non_camel_case_types) by default
2012-09-17 18:52:50 -07:00
Niko Matsakis
2469cba0b1
Make auto-slice, auto-ptr not exclusive ( fixes #3514 )
2012-09-17 11:00:50 -07:00
Niko Matsakis
48496fc1b6
add a test and correct terminology
...
newtype'd enums have 1 variant, and 1 field.
denegerate have only 1 variant but may have more fields.
2012-09-17 06:34:36 -07:00
Erick Tryzelaar
b73f801cc1
int/uint parse_buf => parse_bytes ( #3444 )
2012-09-15 13:38:41 -07:00
Niko Matsakis
4cad58c464
Fix broken assertion in regionck for code like (a[])()
2012-09-15 12:29:36 -07:00
Brian Anderson
c7e5c870f3
Remove restricted keyword tests
2012-09-14 16:16:46 -07:00
Patrick Walton
6a3756b0ba
test: Use vec::as_imm_buf in bug-2470-bounds-check-overflow.rs
2012-09-14 12:15:40 -07:00
Niko Matsakis
43924f1f9f
fix some of the broken tests (the ones that were doing the right thing)
2012-09-13 15:05:30 -07:00
Niko Matsakis
0e584f2e74
Fix bug in auto-ref on bounded type parameters
2012-09-13 13:24:34 -07:00
Niko Matsakis
e0845eb589
repr: emit closing )
for enum variants, test that nullary variants names print
2012-09-13 11:10:05 -07:00
Niko Matsakis
7e5661214a
Remove unnecessary temporary, add type annot to help inferencer (cc #2280 )
2012-09-13 09:14:49 -07:00
Brian Anderson
308ca06012
Rename str::unsafe to str::raw
2012-09-12 19:55:16 -07:00
Niko Matsakis
34bf0b9e97
trans: overhaul match bindings. No more phi, one code path for guards.
...
Fixes #3256 .
Fixes #3291 .
2012-09-12 18:15:22 -07:00
Brian Anderson
ff54ac8e59
Rename vec::unsafe to vec::raw
2012-09-12 17:45:36 -07:00
Niko Matsakis
5d540de769
fixup mutability of vec::each, make iter_bytes pure
...
also, change DVec() to work with imm vectors rather than mut ones
2012-09-12 13:29:31 -07:00
Niko Matsakis
8a8f200d10
Introduce auto adjustment table to subsume autoderef/autoref/borrowings.
...
Fixes #3261
Fixes #3443
2012-09-11 21:25:01 -07:00
Brian Anderson
3d2a74a160
Reserve 'be' as a keyword
2012-09-11 19:26:48 -07:00
Brian Anderson
ea01ee2e9e
Convert 'use' to 'extern mod'. Remove old 'use' syntax
2012-09-11 19:25:43 -07:00
Drew Willcoxon
98bd4a992c
Improve unexpected error scanner for compile-fail tests ( Closes #1476 )
2012-09-11 17:22:24 -07:00
Brian Anderson
27cc0a36b6
Promote 'struct' from a restricted keyword to a strict keyword
2012-09-11 17:15:33 -07:00
Brian Anderson
1203da3b9d
Remove priv sections from classes. Obsolete the syntax
2012-09-11 15:29:37 -07:00
Brian Anderson
298eb8c726
Convert 'import' to 'use'. Remove 'import' keyword.
2012-09-10 19:04:26 -07:00
Brian Anderson
6957af770b
Report obsolete trait lists on structs
2012-09-10 18:12:35 -07:00
Brian Anderson
73eb894305
Report obsolete class method syntax
2012-09-10 17:48:33 -07:00
Patrick Walton
2aa67e9aa9
rustc: Stop calling cmp shape glue in trans.
...
XFAIL's alt-borrowed_str for now. Will need to fix this up in the future.
2012-09-10 17:26:17 -07:00
Brian Anderson
cb7a5395dd
Convert std::map to camel case
2012-09-10 17:08:36 -07:00
Niko Matsakis
29003c799f
Rename the poorly named Managed<T> type to Mut<T>.
...
The Mut<T> type is intended to allow freezable data stuctures to be stored in
`@mut` boxes. Currently this causes borrowck to be very conserivative since it
cannot prove that you are not modifying such a structure while iterating over
it, for example. But if you do `@Mut<T>` instead of `@mut T`, you will
effectively convert borrowck's static checks into dynamic ones. This lets
you use the e.g. send_map just like a Java Map or something else.
2012-09-10 16:50:07 -07:00
Brian Anderson
93d3b8aa6b
Convert class methods to impl methods. Stop parsing class methods
2012-09-10 16:13:08 -07:00
Brian Anderson
10aa849d28
Fix broken tests
2012-09-10 15:36:04 -07:00
Tim Chevalier
5eccf84919
Capitalize Copy trait in test
2012-09-10 15:24:42 -07:00
Niko Matsakis
04f1763409
Combine the vtable_origins from impl + method.
...
Not as clean as it could be, but fixes #3314 .
2012-09-10 12:59:17 -07:00
Patrick Walton
22b8757705
rustc: Make shape-based compare glue never called for comparison operators.
...
Only called for string patterns.
2012-09-10 12:48:42 -07:00
Tim Chevalier
9a15c50f6c
Uppercase Send bound and make test for #2834 work
2012-09-10 12:38:52 -07:00
Brian Anderson
ef9aa80438
Promote most restricted keywords to strict keywords
2012-09-10 12:07:19 -07:00
Tim Chevalier
233e595b61
Un-xfail test for #2834
...
Since it seems to work now.
Closes #2834
2012-09-10 12:06:27 -07:00
Brian Anderson
25dc59dc59
libsyntax: Parse and report errors for a few obsolete syntaxes
2012-09-08 20:04:21 -07:00
Jeff Olson
8e86cd0aa7
test: bunch of test cleanup from sendable_futures change
2012-09-08 14:22:16 -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
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
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
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
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
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
Tim Chevalier
a5285f148c
Add test for issue 3305
2012-09-06 12:30:47 -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
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
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
Patrick Walton
f686896f60
test: "import" -> "use"
2012-09-05 12:32:05 -07:00
Patrick Walton
914b6fead9
test: Fix smallintmap test
2012-09-05 11:24:44 -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
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
200959d7ce
Remove 'with'
2012-09-04 15:47:04 -07:00
Patrick Walton
127144bf38
rustc: Implement private fields for max/min classes
2012-09-04 14:50:46 -07:00
Brian Anderson
a04cb8ebb7
Fix broken test case
2012-09-04 14:36:21 -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
Brian Anderson
ac31fdd9c4
Fix cross-crate inlining of intrinsics
2012-09-03 16:01:51 -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
f393100b7c
Camel case core::ops
2012-09-02 18:13:56 -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
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
Brian Anderson
aea422014b
Add test for #2989
2012-09-01 14:09:57 -07:00
Tim Chevalier
4128cc4cb4
Make utility funs in core::int, core::uint, etc. not by-reference
...
Closes #3302
2012-08-31 16:21:47 -07:00
Brian Anderson
b999973c0f
Add a morestack_addr (temporary) intrinsic
2012-08-31 16:20:36 -07:00
Brian Anderson
e4a7c88450
Fix test case
2012-08-31 16:14:22 -07:00
Lindsey Kuper
6d8d258f35
Tag things that have to do with default methods with issue #2794 .
2012-08-31 19:09:01 -04:00
Graydon Hoare
5236a304c4
Fix check-fast.
2012-08-31 15:58:36 -07:00
Patrick Walton
5b4d5cee03
rustc: Make entire crates privileged scopes for the purposes of coherence
2012-08-31 15:14:15 -07:00
Elliott Slaughter
3b554c1e0c
rt: Add tests for box annihilator.
2012-08-31 15:10:52 -07:00
Patrick Walton
6e7d5e1cbd
rustc: Implement "use mod"
2012-08-31 11:20:50 -07:00
Graydon Hoare
536cb90a21
Migrate core::send_map to random, keyed hashes w/ hash::Hash trait.
2012-08-30 19:05:54 -07:00
Graydon Hoare
3462bb6a46
Fix some more test breakage.
2012-08-30 19:05:54 -07:00
Patrick Walton
f74014b0e7
test: Fix compile-fail tests
2012-08-30 17:13:35 -07:00
Patrick Walton
4846affedb
rustc: "extern mod { ... }" should be written "extern { ... }" instead
2012-08-30 17:10:07 -07:00
Graydon Hoare
c3ac0f8fd9
Fix auto_serialize test.
2012-08-30 16:27:31 -07:00
Patrick Walton
7fec8419f3
test: Add a test for unused constants in foreign modules
2012-08-30 16:10:50 -07:00
Brian Anderson
65b05a6ce8
Bump version to 0.4
2012-08-30 14:05:59 -07:00
Patrick Walton
96534365c2
rustc: Make <
and =
into traits
2012-08-29 18:25:22 -07:00
Brian Anderson
aab4d6b8d7
std: Camel case some constructors
2012-08-29 15:34:38 -07:00
Tim Chevalier
cb8ecd7984
Allow extern mods to be anonymous
...
extern mod {
f();
}
is now allowed, and puts f in the enclosing scope. (Requires a
link_name attribute to be really useful...)
2012-08-29 12:22:05 -07:00
Tim Chevalier
a70e37b214
In ty::impl_traits, treat structs properly
...
Treat structs just like impls: use their associated list of
trait refs to get the list of traits that one of them implements.
I don't understand what was happening before, but it was wrong.
Closes #2936
2012-08-28 19:51:11 -07:00
Ben Striegel
a605fd0cad
CamelCasify lots of std
2012-08-28 18:52:44 -07:00
Graydon Hoare
ecb646477b
Add lint modes for uses of @ and ~ pointers, in general.
2012-08-28 18:25:41 -07:00
Brian Anderson
cfbc7cbdc7
Convert core::pipes to camel case
2012-08-28 14:33:18 -07:00