Commit Graph

1280 Commits

Author SHA1 Message Date
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
97c2255822 Use truncate in typeck::infer; gets rid of FIXME 2012-10-11 16:46:06 -07:00
Tim Chevalier
acaad9381d Remove obsolete comment 2012-10-11 16:46:06 -07:00
Tim Chevalier
41752b02b9 Update FIXME numbers 2012-10-11 16:46:01 -07:00
Tim Chevalier
db679a738f Remove obsolete FIXME 2012-10-11 16:46:00 -07:00
Tim Chevalier
6986acb340 Update FIXME numbers 2012-10-11 16:15:12 -07:00
Tim Chevalier
3764ec7025 Remove obsolete FIXME 2012-10-11 16:11:47 -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
Tim Chevalier
22efa39382 Revert "Revert "Remove old auto_serialize2 code (needs snapshot)""
This reverts commit a33535e441.
2012-10-08 17:43:45 -07:00
Tim Chevalier
a33535e441 Revert "Remove old auto_serialize2 code (needs snapshot)"
This reverts commit 0bd6da8a8c.
2012-10-08 11:58:54 -07:00
Erick Tryzelaar
0bd6da8a8c Remove old auto_serialize2 code (needs snapshot) 2012-10-07 17:20:19 -07:00
Erick Tryzelaar
eb626e7119 Remove the old serializers (needs snapshot) 2012-10-07 17:20:19 -07:00
Erick Tryzelaar
e1c517ca48 migrate libsyntax/rustc to auto_serialize2 2012-10-07 10:32:25 -07: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
Tim Chevalier
28c45601b2 De-mode mysterious unused functions in middle::trans::shape (see comment) 2012-10-05 19:24:04 -07:00
Patrick Walton
b80b0688d5 rustc: Add a new method_self method call origin. Part of default methods. 2012-10-05 18:53:04 -07:00
Patrick Walton
38aab8e400 rustc: Thread a self type through trans_impl; fix cross-crate trait issue 2012-10-05 17:49:13 -07:00
Patrick Walton
d8287f0e41 rustc: Translate default methods on traits for each impl in which they're used instead of once.
This is a step on the way to default methods.
2012-10-05 17:31:46 -07:00
Tim Chevalier
45345bda6a Remove uses of mutable ref mode.
It's still in the compiler right now, but warned about
2012-10-05 16:57:37 -07:00
Patrick Walton
04497ea7b9 rustc: Implement simple uses of &trait 2012-10-05 16:57:13 -07:00
Tim Chevalier
f8bc0d2545 Revert "wip"
This reverts commit ca49fd402a.
2012-10-05 16:10:08 -07:00
Tim Chevalier
ca49fd402a wip 2012-10-05 15:39:12 -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
Brian Anderson
edc317b821 Remove arg vectors from main functions. Stop supporting them. 2012-10-04 15:07:49 -07:00
Patrick Walton
d4351c9d39 rustc: Fix ICE when de-exporting rt 2012-10-03 18:15:33 -07:00
Patrick Walton
f885205b1b rustc: Unbreak old-style boxed traits 2012-10-03 17:18:24 -07:00
Patrick Walton
b34327be0d rustc: Implement "@Foo as @Bar" for boxed traits 2012-10-03 17:03:29 -07:00
Tim Chevalier
53906bb4fb Change default mode for fns to be by-copy, except for fn& 2012-10-03 16:34:36 -07:00
Tim Chevalier
9516e7b4b3 Revert "rustc: Don't error out early when constructing a boxed trait."
This reverts commit 5e7ff924b5.
2012-10-03 14:05:51 -07:00
Patrick Walton
2f451a7bd7 rustc: Only allow imports marked with "pub" to be imported from other modules 2012-10-02 18:15:19 -07:00
Patrick Walton
4101d8c22d rustc: Add a side table for legacy boxed traits, not filled in.
This is part of the transition to "@int as @Trait".
2012-10-02 16:19:03 -07:00
Patrick Walton
5e7ff924b5 rustc: Don't error out early when constructing a boxed trait.
This improves error messages a bit and helps pave the way for "@int as @Trait"
(as opposed to "int as @Trait").
2012-10-02 15:31:10 -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
Brian Anderson
6365adaa61 Don't warn about non-camel-case types by default 2012-10-02 09:36:50 -07:00
Tim Chevalier
24fbf88230 In lint, don't complain about infer mode if legacy modes aren't enabled 2012-10-01 16:49:39 -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
Erick Tryzelaar
c71dc77dac rustc: uniquely mangle expr_fn names
two closures in the same function body can end up having
the same mangled name. This small patch uses gensym to
uniquely name each closure body so there won't be conflicts.
2012-09-30 18:10:40 -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
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
565b39b302 rename iter2 to each2, make it follow iterator protocol 2012-09-28 16:13:03 -07:00
Niko Matsakis
21519bc7e0 demode vec 2012-09-28 13:27:45 -07:00
Brian Anderson
438bdd687b core: More option demoding 2012-09-27 17:49:10 -07:00
Patrick Walton
7b0ed94bdc rustc: Make enum export visibility inherit properly 2012-09-27 17:43:09 -07:00
Brian Anderson
e8fe718bfd core: Replace map/map_default with map_ref/map_default_ref 2012-09-26 20:15:23 -07:00
Tim Chevalier
996ec62cbf Remove spurious by-ref argument to destructors
Destructors were internally declared with an extra (hidden) nil-typed
argument that was passed in by-ref mode. This was causing spurious
mode warnings. Deleted it. Also some misc. cleanup because I
couldn't help myself.
2012-09-26 19:42:02 -07:00
Brian Anderson
0ec267b276 std: Demode more of list and treemap 2012-09-26 19:12:32 -07:00
Niko Matsakis
67a8e7128a Demode vec::push (and convert to method) 2012-09-26 18:02:07 -07:00