Commit Graph

112 Commits

Author SHA1 Message Date
Brian Anderson
6047dd35bb Fix vtable calculations when translating static methods. Closes #4165 2012-12-12 17:14:39 -08:00
Graydon Hoare
9cced55b93 syntax: remove all remaining uses of #ast, and #ast / qquote itself. 2012-12-12 15:02:47 -08:00
Tim Chevalier
d42bdf1997 Auto-deref when checking field and method privacy
This disallows using pointers to sneak around priv qualifiers.

Deeming this too small for review as well. Closes #3763
2012-12-11 19:17:31 -08:00
Brian Anderson
a7159be24a Remove old deriving 2012-12-11 18:11:14 -08:00
Tim Chevalier
6439f2d546 Avoid extra error for type mismatches in patterns
When a type error has already occurred, don't call ty::subst,
which may ICE due to the mismatch in the number of type params
involved.

I'm deeming this too small to review.

Closes #3680
2012-12-11 17:38:57 -08:00
Tim Chevalier
94a76843f4 Revert "Merge pull request #4144 from luqmana/deprecated-attribute"
This reverts commit f675b97ddc, reversing
changes made to e7dd3af970.
2012-12-11 12:28:30 -08:00
Tim Chevalier
1abad3b4e6 Fix whitespace 2012-12-11 11:42:44 -08:00
Tim Chevalier
01c0971172 Allow pattern-matching on any strings, not just unique strings
r=brson

Closes #3574
2012-12-11 11:22:13 -08:00
Tim Chevalier
f675b97ddc Merge pull request #4144 from luqmana/deprecated-attribute
Add deprecated attribute.
2012-12-10 21:16:20 -08:00
Tim Chevalier
e7dd3af970 Remove commented-out code 2012-12-10 21:08:22 -08:00
Tim Chevalier
0046ed9462 Remove un-needed code for obsolete classes
and rename "class" to "struct" everywhere possible (except local
vars, I was too lazy for that) -- that is why this commit is so
big.

No review, just dead code removal and renaming.

Closes #3515
2012-12-10 18:45:01 -08:00
Graydon Hoare
12c32e944d Add license boilerplate to more files. 2012-12-10 17:32:58 -08:00
Patrick Walton
3f78e0ecc0 librustc: Fix bug preventing cross-crate struct destructuring from working. rs=bugfix 2012-12-10 12:38:31 -08:00
Patrick Walton
ac2b0456f4 librustc: Remove is_self_field from borrowck. Unused. rs=#rust 2012-12-10 10:50:45 -08:00
Luqman Aden
4b4c8331bb Add deprecated attribute. 2012-12-09 02:26:12 -05:00
Tim Chevalier
42f8a3366a Print out a more helpful type error message for do-blocks/for-loops
If a do-block body has the wrong type, or a for-loop body has a
non-() type, suggest that the user might have meant the other one.

Closes #2817

r=brson
2012-12-08 23:04:38 -08:00
Patrick Walton
98fdcb0b9d librustc: De-mode pattern bindings. r=nmatsakis 2012-12-07 19:34:57 -08:00
Patrick Walton
ab3b752906 librustc: Implement "&mut [T]" as an expression. r=brson 2012-12-07 18:29:10 -08:00
Brian Anderson
e5e6d3c43d Long lines 2012-12-07 16:48:55 -08:00
Brian Anderson
ecdc8aae41 Remove impl_id from trait_ref. Unused 2012-12-07 15:54:17 -08:00
Brian Anderson
2fcf562d16 Add an auto-slice-and-ref step to method lookup. Allows ~[T] to work with explicit self 2012-12-07 15:29:38 -08:00
Brian Anderson
e71081ec03 Merge pull request #4101 from brson/bound-default-methods
Call default methods on bound typarams more correctly
2012-12-07 15:10:57 -08:00
Patrick Walton
cf3972e95a librustc: Propagate type uses correctly from method calls to the containing functions. rs=bugfix
This adds a new script, `monodebug.pl`. It can be used to diagnose problems stemming from incorrect combining of monomorphic generic instantiations.
2012-12-06 19:11:51 -08:00
Tim Chevalier
d2ad028a7c Rename std::ebml::Reader => std::ebml::reader, same for writer
Closes #4076
2012-12-06 16:14:54 -08:00
Brian Anderson
3464f60c00 Remove previous x86 data corruption workaround. #4054 2012-12-06 15:26:22 -08:00
Patrick Walton
7203be1109 librustc: Fix handling of ~ and @ unary operators in mode computation. Closes #4114. rs=bugfix 2012-12-05 22:57:58 -08:00
Patrick Walton
4fc03bac65 librustc: Implement "-Z no-monomorphic-collapse" as a debugging tool to diagnose mysterious crashes we're seeing. rs=debug-tool 2012-12-05 20:45:58 -08:00
Patrick Walton
aa3aa3b1b2 librustc: Fix type_use to not treat i1* arguments as interchangeable with i8* arguments. Closes #3917. rs=bugfix 2012-12-05 20:23:14 -08:00
Patrick Walton
e23ea24aed librustc: Move the "legality of move bindings" check from typechecking to alt checking. rs=refactoring 2012-12-05 19:01:14 -08:00
Patrick Walton
16506c0250 librustc: Make a context including the method map in check_alt, in preparation for moving check_legality_of_move_bindings there. rs=refactoring 2012-12-05 18:28:34 -08:00
Brian Anderson
1fc802233b Long lines 2012-12-05 18:10:45 -08:00
Brian Anderson
4f3cc01487 Fix cross-crate inlining of static functions 2012-12-05 18:09:52 -08:00
Patrick Walton
1282fc8074 librustc: Hook borrow check loan checking up to the moves-based-on-type infrastructure. rs=helps-unbreak-the-build 2012-12-05 15:07:48 -08:00
Patrick Walton
b8cfd5c414 librustc: Long lines. rs=rustbot 2012-12-04 21:13:02 -08:00
Brian Anderson
01cd53baf0 Merge remote-tracking branch 'luqmana/incoming'
Conflicts:
	src/librustc/middle/typeck/check.rs
2012-12-04 18:49:50 -08:00
Patrick Walton
c0d3b291d5 librustc: Shot in the dark to try to unbreak Windows. rs=me 2012-12-04 16:03:50 -08:00
Patrick Walton
33c1e47c1b librustc: Implement moves based on type. r=nmatsakis 2012-12-04 15:38:04 -08:00
Patrick Walton
f02e9db212 librustc: Remove bogus ValueMode. rs=tree-on-fire 2012-12-04 15:09:40 -08:00
Patrick Walton
d1ebdbeb6c librustc: Implement explicit self for Add and Index; add a hack in the borrow checker to support this. r=nmatsakis 2012-12-04 14:51:31 -08:00
Patrick Walton
56ece46f7d librustc: Remove all legacy pattern bindings from libsyntax and librustc. rs=refactoring 2012-12-04 14:19:19 -08:00
Graydon Hoare
94be145169 core: rename box to managed. Close #4079. 2012-12-03 17:45:19 -08:00
Graydon Hoare
00c856c0b1 Update license, add license boilerplate to most files. Remainder will follow. 2012-12-03 17:12:14 -08:00
Patrick Walton
b6f1e3084f librustc: Add missing cases in kind and privacy checking to try to put out the burning tinderbox. rs=rustbot 2012-12-03 15:28:51 -08:00
Brian Anderson
05e51e6f7f Call default methods on bound typarams more correctly 2012-12-02 18:29:22 -08:00
Patrick Walton
1088006ed9 librustc: Implement unit-like struct constants. r=brson 2012-11-30 21:10:54 -08:00
Patrick Walton
8fa306a0ad librustc: Implement tuple struct constants. r=brson 2012-11-30 21:10:17 -08:00
Patrick Walton
5b5a0df7ee librustc: Implement C-like enum constants. r=tjc 2012-11-30 21:09:14 -08:00
Patrick Walton
f34833abfc librustc: Make a.b() always a method call. r=nmatsakis 2012-11-30 20:41:46 -08:00
Patrick Walton
54ae377ec2 librustc: Implement explicit @self and ~self for objects. r=nmatsakis 2012-11-30 19:39:01 -08:00
Patrick Walton
3afd6c3d79 librustc: Implement simple explicit self for objects. r=nmatsakis 2012-11-30 18:55:12 -08:00