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
Erick Tryzelaar
79131ecfd3
replace resolve::Atom with ast::ident.
2012-09-26 16:20:25 -07:00
Erick Tryzelaar
b96af73159
turn ast::ident into a struct
...
This will help with the auto_serialize2 migration. We have to change
ident from a type alias to uint into a unique type. We need to use
a struct instead of a "enum ident = token::str_num" because structs
support constants, but newtypes do not.
2012-09-26 16:20:24 -07:00
Erick Tryzelaar
dd502fc6e4
Allow hashmaps to infer their types
2012-09-26 16:20:24 -07:00
Niko Matsakis
8b13912a83
Make impl of Add for @[] public
...
It's not clear that impls should have to be public to be used
from outside the crate; in particular, I don't know whether
they have to be public to be used from other modules within
the same crate.
2012-09-26 14:26:09 -07:00
Tim Chevalier
e19e628b19
Demode iter-trait
2012-09-25 22:13:05 -07:00
Tim Chevalier
7acf89c022
Fix long line
2012-09-25 22:13:05 -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
e500659eb5
rustc: Reduce shape.rs to the bare minimum needed to not trigger bugs
2012-09-25 17:39:23 -07:00
Patrick Walton
42b6037297
rustc: Remove most of the code that generates shapes
2012-09-25 16:53:23 -07:00
Patrick Walton
a66e23d236
rustc: Stop generating shape tables
2012-09-25 16:40:37 -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
Patrick Walton
a770d86201
rustc: Move generally useful functions out of shape.rs in preparation for its destruction
2012-09-25 15:22:08 -07:00
Patrick Walton
f41c53667e
rustc: Fix calls to the logging function when the must_cast flag is true; stop using shape code for logging
2012-09-25 14:56:17 -07:00
Niko Matsakis
267ab11cca
use + mode for (almost) everything when not using legacy modes
2012-09-25 12:47:35 -07:00
Patrick Walton
ee7fa194fa
Revert "rustc: Stop using shape code for logging" due to ICEs
...
This reverts commit ac822a52be
.
2012-09-25 12:17:05 -07:00
Patrick Walton
ac822a52be
rustc: Stop using shape code for logging
2012-09-25 11:44:23 -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
Niko Matsakis
0a26edca75
Fix trans for region patterns (&P)
2012-09-23 13:30:20 -05:00
Brian Anderson
60a1497ebb
rustc: Make x-ray resolution work with non-legacy-exports
...
Code generated for the test runner needs to break visibility rules
2012-09-21 19:26:31 -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
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
Patrick Walton
3c2b6110dd
rustc: Shove the address of the box annihilator into the crate map
2012-09-21 11:42:57 -07:00