Erick Tryzelaar
e325d029d4
Remove old serialization2 vestigial code
2012-10-09 18:03:07 -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
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
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
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
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
d4351c9d39
rustc: Fix ICE when de-exporting rt
2012-10-03 18:15:33 -07:00
Orphée Lafond-Lummis
ae4f8fb87a
rustc man page and usage text update.
...
* Mark --static as experimental;
* Remove --stats, as the option isn't implemented.
* Bold and surround by pointy brackets (<>) all the URLs of rustc man page, for
consistency.
2012-10-03 20:19:20 -04: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
Erick Tryzelaar
8fc3088b2a
rename vec::raw::form_slice to buf_as_slice
...
This matches the str::raw function.
2012-10-01 20:44:30 -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
fd6557ea11
rustc: llvm grew some new enum variants
2012-09-30 18:10:40 -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
Brian Anderson
c9fb1b19aa
Add allow(deprecated_\*) to syntax, rustc, rustdoc, et al
2012-09-28 18:38:59 -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
Brian Anderson
9a8d4adb7d
Long lines
2012-09-28 17:30:40 -07:00
Brian Anderson
517206fd08
Merge pull request #3621 from z0w0/jit-crates
...
Add support for crate loading to JIT
2012-09-28 16:55:28 -07:00
Niko Matsakis
565b39b302
rename iter2 to each2, make it follow iterator protocol
2012-09-28 16:13:03 -07:00
Tim Chevalier
2f4ee89119
Demode extfmt
...
Needs a snapshot before this can be completed, because I changed
the mode for conv_poly.
2012-09-28 13:47:45 -07:00
Niko Matsakis
21519bc7e0
demode vec
2012-09-28 13:27:45 -07:00
Zack Corr
00b2086374
jit: Change expected main signature
2012-09-28 19:46:40 +10:00
Zack Corr
b3f418c10e
jit: Remove old crate loading code and don't search through loaded crates (use llvm default instead)
2012-09-28 18:05:49 +10: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
Simon BD
868d10160f
Put function argument last in sort function. Fixes #3265 .
2012-09-27 19:05:13 -05:00
Brian Anderson
e8fe718bfd
core: Replace map/map_default with map_ref/map_default_ref
2012-09-26 20:15:23 -07:00
Brian Anderson
64de6d638d
core: Fix mode warnings in str
2012-09-26 20:04:20 -07:00
Zack Corr
887b59b7be
jit: Separate JIT execution into two functions and load crates before main lookup
2012-09-27 12:57:58 +10: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
Eric Holk
135ebca8aa
Refactoring ReaderUtil trait, combining it with the traitless impl on Reader.
2012-09-26 15:55:42 -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
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
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
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
Patrick Walton
3c2b6110dd
rustc: Shove the address of the box annihilator into the crate map
2012-09-21 11:42:57 -07:00
Brian Anderson
a51a561852
rustc: Remove middle/tstate
...
I feel like I've done this before
2012-09-21 00:45:25 -07:00
Brian Anderson
f5be40384f
Revert "syntax: Make attributes sendable for rustdoc's benefit"
...
This reverts commit 90e3665fa7
.
2012-09-20 18:15:39 -07:00
Brian Anderson
90e3665fa7
syntax: Make attributes sendable for rustdoc's benefit
2012-09-20 17:37:21 -07:00
Brian Anderson
1b5efaac27
syntax: Pass the correct crate_cfg to the syntax expander
2012-09-20 16:41:53 -07:00
Brian Anderson
7abf55736c
core: Move 'unreachable' to util. Improve docs
2012-09-20 14:27:37 -07:00
Niko Matsakis
77b0845a84
fix long lines
2012-09-20 14:08:21 -07:00
Niko Matsakis
1983e3d8d7
Make + mode by-value if the type is immediate, by-ref otherwise
...
Fixes #3523
2012-09-20 14:04:38 -07:00
Graydon Hoare
348d07f099
Remove export_map from resolve, just use export_map2.
2012-09-20 13:08:50 -07:00
Patrick Walton
5cd9d4d9dd
libcore: Make BytesWriters not require shared boxes.
2012-09-20 11:18:22 -07:00
Patrick Walton
9117dcb968
rustc: De-mode all overloaded operators
2012-09-20 09:48:05 -07:00
Brian Anderson
74dbdecb59
Remove old stage0 compat gunk
2012-09-19 19:25:29 -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
Graydon Hoare
384906c1e8
Remove unused hokey-hashes from typeck and region inference.
2012-09-19 15:51:44 -07:00
Graydon Hoare
bac89eae48
Remove hokey-hashes from metadata indexes.
2012-09-19 15:51:44 -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
53abb5edbd
use && for fn() even in legacy mode to work around mem leak
2012-09-19 06:56:29 -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
Graydon Hoare
e86e8c16e6
Revert "change relative priority of auto-slice and auto-ptr"
...
This reverts commit 2ac64d91ac
.
2012-09-18 16:41:51 -07:00
Graydon Hoare
9b58369f6b
Treat static slices and rptrs as sendable.
2012-09-18 16:28:16 -07:00
Patrick Walton
e653d493fb
rustc: Remove legacy mode inference, unless #[legacy_modes] is used
2012-09-18 15:53:04 -07:00
Niko Matsakis
2ac64d91ac
change relative priority of auto-slice and auto-ptr
...
rationale: if you have an impl for &const ~[T] or &mut ~[T]
and one for &[T], the first will be more likely to work and not lead
to borrowck errors. I could imagine us wanting to offer multiple
impls for methods we select the ptr-to-array when possible and
the slice when necessary. Also, taking a ptr seems like fewer
adaptations than slicing, and we tend to prefer fewer adaptations.
2012-09-18 14:24:52 -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
2d11a04e74
libsyntax: Remove 'unchecked_blk' from AST
2012-09-18 11:51:17 -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
Niko Matsakis
efa6675f1d
make filetype() include the "." ( fixes #3412 )
2012-09-18 11:29:53 -07:00
Patrick Walton
3b013cd800
rustc: Change all non-keyword uses of "link"
2012-09-18 11:27:37 -07:00
Brian Anderson
859a892eb0
Add allow(non_camel_case_types) to unconverted crates
2012-09-18 11:21:07 -07:00
Niko Matsakis
1af4a70759
Revert "Adapt callee to avoid intermediary for move/copy arguments (cc #3402 )"
...
This reverts commit 044fbea416
.
2012-09-18 10:41:05 -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
527a6f60f1
WIP: make autoslice, autoptr not be mutually exclusive
2012-09-17 09:49:53 -07:00
Erick Tryzelaar
b73f801cc1
int/uint parse_buf => parse_bytes ( #3444 )
2012-09-15 13:38:41 -07:00
Erick Tryzelaar
651e63cc5c
libcore: rename *flate_buf to *flate_bytes ( #3444 )
2012-09-15 13:38:41 -07:00
Niko Matsakis
e874d37569
add some debug!'s to help diagnose failure of issue-1763.rs
2012-09-15 13:37:35 -07:00
Niko Matsakis
4cad58c464
Fix broken assertion in regionck for code like (a[])()
2012-09-15 12:29:36 -07:00
Niko Matsakis
39d33a653f
regionck: fix bug where autoref regions are not inferred to be large enough
2012-09-15 07:35:09 -07:00
Patrick Walton
73e8ce1e1f
rustc: Back out box annihilator
2012-09-14 19:59:07 -07:00
Graydon Hoare
aa2ab2659f
Add core::reflect, start migrating core::repr to use it. Tidy up various Repr types.
2012-09-14 19:09:38 -07:00
Patrick Walton
1c5db46f8e
rustc: Call the box annihilator in main
2012-09-14 18:05:15 -07:00
Patrick Walton
ce773352d0
rustc: Make the box annihilator a language item
2012-09-14 16:50:12 -07:00
Niko Matsakis
7107b4eff5
Have parser recognize static, self region.
...
Fixes a bug in methods that &self couldn't be referenced in the
body. Also fixes #2479 .
2012-09-14 15:22:15 -07:00
Niko Matsakis
044fbea416
Adapt callee to avoid intermediary for move/copy arguments (cc #3402 )
2012-09-14 12:03:28 -07:00
Graydon Hoare
120a3dede0
Fix unused variable warning.
2012-09-13 19:53: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
2f6b66ecd3
s/vec::as_buf/vec::as_imm_buf/, fix comment, remove set.rs
...
hat tip to @jruderman
2012-09-13 13:24:33 -07:00
Niko Matsakis
e21b48c0ce
remove commented code that used to cause borrowck error
...
Fixes #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
Brian Anderson
7568dd4564
Promote 'const', 'copy', 'fn' to strict keywords
2012-09-12 16:00:22 -07:00
Niko Matsakis
7eb10c4ce1
purge the separate path for rel ops (e.g., ==) vs other bin ops
2012-09-12 15:41:22 -07:00
Brian Anderson
fa74edf1a0
rustc: Use the correct 'fail' rtcall
2012-09-12 15:04:40 -07:00
Graydon Hoare
719a4750ba
Add some monomorphizing instrumentation, simplify types before emitting glue.
2012-09-12 14:48:18 -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
Brian Anderson
8fbe4b5841
Rename core::rt_fail to core::rt_fail_
2012-09-12 11:52:00 -07:00
Tim Chevalier
86e02554fd
Make moves in arguments explicit in libsyntax and rustc
2012-09-12 11:33:40 -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
Tim Chevalier
02b41097e4
Make the 'move mode but datum will not store' error fatal
2012-09-11 20:02:34 -07:00
Tim Chevalier
8f34752975
Remove dead code
2012-09-11 20:02:34 -07:00
Brian Anderson
be1fdf983f
Promote 'impl' from restricted keyword to strict
2012-09-11 19:28:44 -07:00
Brian Anderson
ea01ee2e9e
Convert 'use' to 'extern mod'. Remove old 'use' syntax
2012-09-11 19:25:43 -07:00
Brian Anderson
27cc0a36b6
Promote 'struct' from a restricted keyword to a strict keyword
2012-09-11 17:15:33 -07:00
Tim Chevalier
3aa5b0cb44
Make moves explicit in rustc
2012-09-11 13:59:57 -07:00
Patrick Walton
4a865401f5
rustc: Remove a bunch of unused upcalls
2012-09-11 12:17:48 -07:00
Patrick Walton
23880daef2
rustc: Remove the cmp type upcall
2012-09-11 12:12:13 -07:00
Brian Anderson
298eb8c726
Convert 'import' to 'use'. Remove 'import' keyword.
2012-09-10 19:04:26 -07:00
Brian Anderson
1a8a0a77b1
Camel case std::serialization
2012-09-10 19:02:57 -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
Brian Anderson
93d3b8aa6b
Convert class methods to impl methods. Stop parsing class methods
2012-09-10 16:13:08 -07:00
Patrick Walton
bea6fe0ec1
rustc: Trim down and rename trans_compare. Now only eq shape glue remains.
2012-09-10 15:48:05 -07:00
Patrick Walton
7e9f98a8c9
rustc: Make range literals use compare_scalar_types instead of trans_compare
2012-09-10 15:27:12 -07:00
Patrick Walton
3c7cc9a1b8
rustc: Long lines
2012-09-10 15:12:37 -07:00
Patrick Walton
d6ceef95ba
rustc: Move trans_compare into alt.rs
2012-09-10 15:10:28 -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
Brian Anderson
e0c232025c
Long lines
2012-09-09 17:23:29 -07:00
Brian Anderson
f53c2948aa
Rename variables that clash with keywords
2012-09-09 16:53:19 -07:00
Brian Anderson
9c98d0f99b
Fix some old syntax
2012-09-08 20:04:21 -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
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
Brian Anderson
f0eae8f1c1
Convert field terminators to commas. Stop parsing semis.
2012-09-07 16:12:15 -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
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
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
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
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
47dac47e96
rustc: "import" -> "use" in .rc files
2012-09-05 11:46:25 -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
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
Patrick Walton
127144bf38
rustc: Implement private fields for max/min classes
2012-09-04 14:50:46 -07:00
Brian Anderson
3764fe3f2a
std: Camel case list
2012-09-04 14:12:49 -07:00
Patrick Walton
a26837c478
rustc: "import" -> "use"
2012-09-04 11:54:36 -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
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
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
Zack Corr
638db28c47
jit: Correct formatting and argv[0] for JITted programs
2012-08-31 16:20:36 -07:00
Zack Corr
efb576a60d
jit: Clean rustllvm code, let rustc expose __morestack instead of linking in libmorestack and return _rust_main and call it from rustc
2012-08-31 16:20:36 -07:00
Brian Anderson
b999973c0f
Add a morestack_addr (temporary) intrinsic
2012-08-31 16:20:36 -07:00
Zack Corr
a02ab41b65
jit: correct formatting
2012-08-31 16:20:36 -07:00
Zack Corr
19ea3ab480
jit: Add passes and cleanup code
2012-08-31 16:20:36 -07:00
Zack Corr
7993f48209
jit: Add custom memory manager (still segfaulting)
2012-08-31 16:20:35 -07:00
Zack Corr
d7aa9918ef
Add experimental JIT compiler
2012-08-31 16:20:35 -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
Patrick Walton
5b4d5cee03
rustc: Make entire crates privileged scopes for the purposes of coherence
2012-08-31 15:14:15 -07:00
Kevin Cantu
7d57b4864a
Remove deprecated modes from list.rs (and temporarily delete list::push)
2012-08-31 12:55:39 -07:00
Patrick Walton
6e7d5e1cbd
rustc: Implement "use mod"
2012-08-31 11:20:50 -07:00
Patrick Walton
4846affedb
rustc: "extern mod { ... }" should be written "extern { ... }" instead
2012-08-30 17:10:07 -07:00
Patrick Walton
1f056eda8e
rustc: Make the compiler no longer ICE on unused foreign constants
2012-08-30 16:08:58 -07:00
Brian Anderson
65b05a6ce8
Bump version to 0.4
2012-08-30 14:05:59 -07:00
Patrick Walton
a1c11cab2d
rustc: Make <=
, >=
, and >
use traits as well
2012-08-29 19:23:15 -07:00
Patrick Walton
96534365c2
rustc: Make <
and =
into traits
2012-08-29 18:25:22 -07:00
Brian Anderson
c0c8d3aa8f
core: Demode int/uint mods
2012-08-29 16:23:36 -07:00
Brian Anderson
ee2ce036cc
Camel case more std types
2012-08-29 16:09:50 -07:00
Brian Anderson
aab4d6b8d7
std: Camel case some constructors
2012-08-29 15:34:38 -07:00
Brian Anderson
8aca44ee0c
core: Don't normalize paths by default. Add a normalize method
2012-08-29 14:28:37 -07:00
Graydon Hoare
5eef15df12
Rename resolve3 -> resolve.
2012-08-29 13:26:52 -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
Niko Matsakis
75201cdc04
vtable.rs: adjust formatting, correct build error
2012-08-29 06:07:17 -07:00
Niko Matsakis
e9ac7489b5
Refactor representation of borrowing so that it is tracked by fn_ctxt and not infer
2012-08-29 05:27:43 -07:00
Tim Chevalier
06675caa42
Comment the default case in typeck::check::vtable::lookup_vtable copiously
...
Try to save the next person who looks at this code the heartbreak that I
went through.
2012-08-28 19:51:11 -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
Graydon Hoare
b769e29680
Compress metadata section. Seems a minor speed win, major space win.
2012-08-28 14:50:39 -07:00