Commit Graph

1723 Commits

Author SHA1 Message Date
Tim Chevalier
dca0776747 Incorporate review comments (mostly fixing indentation)
Previous commit was r=nmatsakis
2012-10-22 09:44:56 -07:00
Tim Chevalier
dd66e7549b Preliminary support for labeled break/continue for loops
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
Ben Striegel
ac81fff229 Remove old fixed-length vector syntax 2012-10-20 17:50:46 -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
Erick Tryzelaar
a7ecde3323 libcore: minor code cleanup.
This is minor and probably completely inconsequential to performance,
but I find vec::map to be more clear than vec::each and a push.
2012-10-18 10:09:57 -07:00
Erick Tryzelaar
95423d28f2 libcore: call [u8] values bytes, not bufs 2012-10-18 10:09:42 -07:00
Erick Tryzelaar
4e03ffdb65 rustc: optimize away some mallocs when building GEP args 2012-10-18 08:03:04 -07:00
Tim Chevalier
33adb7a824 Merge pull request #3739 from killerswan/usagemsg
Add a module to getopts for verbose option group declaration (and use it in rustc)
2012-10-17 13:05:04 -07:00
Kevin Cantu
32baf1c54c Add a module to getopts to support verbose option definition
This is built on top of the existing functionality, but
adds a `groups` module which defines functions allowing
the user to specify whole short/long/description groups
at once and provides a usage message.
2012-10-17 12:10:06 -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
Tim Chevalier
081a0434fb Remove integer suffixes 2012-10-16 23:32:58 -07:00
Tim Chevalier
1679960889 Change a use of map::get to map::find 2012-10-16 23:32:57 -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
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
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
0643466f85 Fix whitespace 2012-10-15 13:14:23 -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
9406f8101d Avoid repeating 'try adding a move' hint 2012-10-12 22:15:13 -07:00
Tim Chevalier
f1e5b36ab2 Remove unneeded parens 2012-10-12 20:59:47 -07:00
Tim Chevalier
c6780fbb0c Make trans ignore last use 2012-10-12 20:43:38 -07:00
Tim Chevalier
c4155f5ea3 Change the kind checker to ignore results of last-use
and require explicit moves.

Also provide more info in some error messages.

Also: check that non-copyable struct fields don't get copied.
Closes #3481
2012-10-12 20:43:38 -07:00
Tim Chevalier
9abc7f0a1c (For legacy code:) In liveness, require that by-move arguments are rvalues 2012-10-12 20:43:38 -07:00
Tim Chevalier
d0ed13c4bd Make moves explicit in rustc::middle 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
915897b3df Remove obsolete comment 2012-10-11 16:46:06 -07:00
Tim Chevalier
7509a3d75b Remove obsolete FIXME 2012-10-11 16:46:06 -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
63dc83198a Remove obsolete FIXME 2012-10-11 16:10:07 -07:00
Tim Chevalier
fb667cde59 Update FIXME number 2012-10-11 16:10:02 -07:00
Tim Chevalier
72fc2b52db Remove unneeded no_rt flag 2012-10-11 16:06:17 -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
Kevin Cantu
ae8e6781d2 Move the description of -(W|A|D|F) into the -W help message 2012-10-10 16:48:23 -07:00
Kevin Cantu
c419e77cc1 Touchup the debug flag description printing 2012-10-10 16:38:58 -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
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