Commit Graph

3432 Commits

Author SHA1 Message Date
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
Brian Anderson
adf9fa229f Fix a test that mysteriously resolves correctly when not check-fasting 2012-08-28 10:58:16 -07:00
Brian Anderson
161a82e433 Camel case various core constructors 2012-08-27 17:22:18 -07:00
Brian Anderson
0c6e470a25 Convert core::result to camel case 2012-08-27 14:37:04 -07:00
Ben Blum
330311658f fix bench test for arc::arc camelcase 2012-08-26 22:15:10 -04:00
Ben Blum
61249da53a convert std::arc tests to use camel case ARCs 2012-08-26 21:51:18 -04:00
Brian Anderson
8337fa1a54 Camel case the option type 2012-08-26 15:56:16 -07:00
Brian Anderson
d9a6a63653 Fix build breakage 2012-08-26 13:51:10 -07:00
Tim Chevalier
7fb5f41bac Update test for new struct field syntax (fixes build breakage) 2012-08-25 17:54:17 -07:00
Tim Chevalier
bb5c07922f Add test case for #2356 2012-08-25 09:15:32 -07:00
Graydon Hoare
5ebea76394 Fix a curious failure not seen during testing. 2012-08-24 16:39:16 -07:00
Graydon Hoare
c284b8b1dc Start using core::path2::Path in a lot of places. 2012-08-24 15:51:16 -07:00
Michael Sullivan
e55c5ceac2 Infer purity for || style closures. Closes #3023. 2012-08-24 14:21:27 -07:00
Ben Blum
d09fd6561f Add a compile-fail test for #3255 2012-08-24 16:43:03 -04:00
Ben Blum
37bcd67a09 Enforce copyability in bind_by_value match arms (fix #3255) 2012-08-24 16:43:03 -04:00
Niko Matsakis
e47d2f6060 extend liveness to treat bindings more like other variables
This results in a lot of warnings in rustc.  I left them in because
many are bugs and we should fix our code, but Graydon asked that
I not touch every file in the codebase.
2012-08-24 12:55:08 -07:00
Ben Blum
34886ed488 Add a test case for helpful errors when copying into closures (#2942) 2012-08-23 22:20:34 -04:00
Niko Matsakis
a08f3a7d4d More complete fix to #3162 (borrowck bug related to access to rec fields) 2012-08-23 18:54:08 -07:00
Ben Blum
79266c614d remove a print in msgsend-ring-rw-arcs 2012-08-23 21:09:57 -04:00
Niko Matsakis
5ccf8175a8 don't consider use of @fn to be region-param'd 2012-08-23 17:55:04 -07:00
Erick Tryzelaar
bf0ea66dac libcore: update bytes/str reader to work with regions.
This optimizes away a copy.
2012-08-23 17:42:50 -07:00
Tim Chevalier
80d129aa45 Parenthesize unary move exprs in prettyprinter
Closes #3220
2012-08-23 16:59:05 -07:00
Niko Matsakis
5eea7d6e61 don't infer region paramaterization for ids in a bound context 2012-08-23 16:22:23 -07:00
Tim Chevalier
9f591319dd Rename str::bytes to str::to_bytes
Closes #3245
2012-08-23 15:46:10 -07:00
Tim Chevalier
e9622f09aa Remove match check from test cases 2012-08-23 15:12:02 -07:00
Ben Blum
01a5845db5 fix atomic intrinsic test cases 2012-08-23 17:19:35 -04:00
Paul Stansifer
77e83d83a9 Change calls of proto! to use parens. 2012-08-23 11:14:15 -07:00
Paul Stansifer
c74a442e86 Eliminate some extraneous curly brackets inside invocations of macro_rules!. 2012-08-23 11:14:14 -07:00
Paul Stansifer
38891b91bf Update invocation syntax for macro_rules! 2012-08-23 11:14:14 -07:00
Paul Stansifer
29f32b4a72 m1!{...} -> m1!(...) 2012-08-23 11:14:14 -07:00
Niko Matsakis
511e7626ae Infer variance of types with respect to the region parameter.
A similar approach could be used for type parameters.

Fixes #2282.
2012-08-23 06:30:43 -07:00
Ben Blum
49c1bd7e86 WIP: Add an xfailed test for bind-by-move (#2329) 2012-08-22 20:40:25 -04:00
Ben Blum
e5fb58e6c0 Add compile-fail tests for unsound moving out of enums (#2329) 2012-08-22 20:40:25 -04:00
Paul Stansifer
1153b5dcc8 intern identifiers 2012-08-22 14:59:25 -07:00
Michael Sullivan
744fea1a4f Track the type of self properly. Closes #3247. 2012-08-22 13:18:29 -07:00
Niko Matsakis
ce3cc46ce6 Fix generation of generic methods with explicit self
There used to be two distinct code paths.  Now there is one.
2012-08-21 20:15:22 -07:00
Ben Blum
9b489f6fff Don't refute "()" in let-bindings (fixes #3104). 2012-08-21 21:05:01 -04:00
Michael Sullivan
98d0aae9a1 Fix some map related build failures. 2012-08-21 17:03:00 -07:00
Ben Blum
7fe1005fd1 Add msgsend-ring-{rw,mutex}-arcs bench tests 2012-08-21 19:40:47 -04:00
Niko Matsakis
bc5eb95222 implement a map testing benchmark
This involved some other changes:
- add a managed<T> wrapper that makes send_map usable from @-data
- implement map<K,V> for managed<send_map>

Unit tests are coming.
2012-08-21 16:07:53 -07:00
Niko Matsakis
652b312122 more sound treatment of fn& regions; change all & to be distinct 2012-08-21 10:28:34 -07:00
Niko Matsakis
8ee79c79aa new region inference, seperate infer into modules, improve error msgs
Fixes #2806
Fixes #3197
Fixes #3138
2012-08-20 22:00:06 -07:00
Michael Sullivan
71ec545614 Try to do some resolution of vtables earlier, in a fairly ad-hoc way. Closes #3156. 2012-08-20 19:00:27 -07:00
Ben Blum
c321cdbac6 Disallow deconstructing destructing structs (fixes #3147) 2012-08-20 20:05:00 -04:00
Ben Blum
aa3df17445 Re-allow pattern-matching structs (#3215) 2012-08-20 18:22:11 -04:00
Michael Sullivan
a14485b7fd Do vtable resolution for *all* method calls, not just statically resolved ones... Closes #3221. 2012-08-20 13:36:15 -07:00
Michael Sullivan
1300be58d7 xfail crate-method-reexport-grrrrrrr.rs, which has been burning the build for days 2012-08-20 13:22:51 -07:00
Patrick Walton
19b8598c09 rustc: Implement "priv" for simple items.
Inherited privacy doesn't work yet. This probably requires a snapshot since
it won't be backwards compatible. Additionally, two errors are printed instead
of one. For this reason the test is XFAIL'd.
2012-08-17 17:56:47 -07:00
Niko Matsakis
fcb055ef7e forgotten tests for #3217, #2977, #3067 2012-08-17 17:31:03 -07:00
Michael Sullivan
457e78cd53 Make by-val explicit self actually work. Closes #2585. 2012-08-17 17:14:32 -07:00
Patrick Walton
0845579130 test: Fix unused variable warning in repeat-to-run-dtor-twice.rs.
Hopefully puts out burning tinderbox.
2012-08-17 17:11:25 -07:00
Patrick Walton
1ed94a5674 rustc: Prevent destructors from being run twice with the repeated vector syntax 2012-08-17 16:12:07 -07:00
Niko Matsakis
ea549e7a71 make borrowck more conservative around rvalues.
this will require more temporaries, but is probably less magical.
also, it means that borrowck matches trans better, so fewer crashes.
bonus.

Finally, stop warning about implicit copies when we are actually borrowing.

Also, one test (vec-res-add) stopped failing due to #2587, and hence I
added an xfail-test.

Fixes #3217, #2977, #3067
2012-08-17 15:14:13 -07:00
Lindsey Kuper
eb834fdb81 Stop parsing iface. 2012-08-17 14:32:34 -07:00
Eric Holk
7bae3449ce Move select macro into another file, so it can be including in multiple tests.
Fixing long lines.
2012-08-17 12:39:51 -07:00
Ben Blum
89c2a9f4cf Forbid pattern-matching structs until the next snapshot (#3215) 2012-08-17 15:34:06 -04:00
Lindsey Kuper
280dfd2d29 Default methods with self-calls make it as far as trans. 2012-08-17 11:04:53 -07:00
Brian Anderson
3ab4b014cf Remove the class keyword 2012-08-17 10:13:45 -07:00
Ben Blum
a076c287de Fix issue-506.rs by adding a void-returning stub in the runtime (close #2957) 2012-08-16 21:07:55 -04:00
Eric Holk
5f57588887 Update the rock-paper-scissors example in the tutorial, and rename some types in core::pipes 2012-08-16 17:50:36 -07:00
Eric Holk
91622d0310 Make test suite terminate. 2012-08-16 16:26:08 -07:00
Graydon Hoare
64de480d46 Another attempt on class-attribute-1.rs. 2012-08-16 15:23:31 -07:00
Patrick Walton
2489baf82e libsyntax: Fix parsing of "loop unsafe".
It was getting misparsed as a label.
2012-08-16 15:19:47 -07:00
Graydon Hoare
b8845f0e25 Fix sub-breakage due to the changed error message. 2012-08-16 14:48:48 -07:00
Graydon Hoare
b28a22005b xfail-fast issue 3012-2 2012-08-16 14:44:34 -07:00
Graydon Hoare
1bac541e26 Attempt to get issue 3012 test working on win32. 2012-08-16 14:30:14 -07:00
Graydon Hoare
89fb03ae17 Xfail a struct-test I can't figure out how to make work. 2012-08-16 14:26:35 -07:00
Graydon Hoare
0492c75c43 s/class/struct/ in a failing test. 2012-08-16 14:26:10 -07:00