Commit Graph

1655 Commits

Author SHA1 Message Date
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