1173 Commits

Author SHA1 Message Date
Patrick Walton
45052e13a5 test: Fix some compile-fail bustage. rs=bustage 2012-12-06 11:08:23 -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
33c1e47c1b librustc: Implement moves based on type. r=nmatsakis 2012-12-04 15:38:04 -08:00
Brian Anderson
83a55ea73a Fix some compile-fail tests 2012-12-01 15:59:04 -08:00
Tim Chevalier
daf28a421a Disallow dereferencing enum types when the variant is private
If an enum type's only variant is private, disallow dereferencing
values of its type.

Due to #4082, this only applies to enums that are in the same crate.

r=pcwalton

Closes #818
2012-11-30 12:45:10 -08:00
Brian Anderson
3ed9fbd63c impls of traits cannot define methods on the anonymous trait 2012-11-29 22:07:49 -08:00
Brian Anderson
78ee821154 Implement trait inheritance for bounded type parameters 2012-11-29 18:10:11 -08:00
Patrick Walton
2a6c6348b7 test: Remove obsolete tests. rs=buildbot 2012-11-29 15:12:06 -08:00
Tim Chevalier
f459acc45d Disallow importing private items
resolve wasn't checking that a `use` referred to a public item.

r=brson
2012-11-29 14:12:51 -08:00
Paul Stansifer
15e03e1e5e Forbid attrs on macros, since we don't handle them properly yet. 2012-11-29 12:09:11 -08:00
Patrick Walton
9e1c9be16f librustc: Make the Drop trait use explicit self 2012-11-29 11:06:15 -08:00
Brian Anderson
fc06114ddf Merge remote-tracking branch 'brson/companion' into incoming
Conflicts:
	src/compiletest/compiletest.rs
	src/libcargo/cargo.rs
	src/libcore/core.rs
	src/librustc/rustc.rs
	src/librustdoc/rustdoc.rc
2012-11-28 13:17:33 -08:00
Patrick Walton
1c348e6e38 librustc: Implement @mut [T] as the new replacement for @[mut T] 2012-11-27 09:23:31 -08:00
Brian Anderson
be6613e048 Remove the crate language 2012-11-26 18:13:54 -08:00
Niko Matsakis
117e5e3583 Implement LUB algorithm and add new unit-testing infrastructure for infer.
r=brson
2012-11-24 09:53:39 -05:00
Tim Chevalier
ef833d4101 Introduce a T_err type for type errors
This allows more errors to be non-fatal, as per #1871.

I only went through and started changing span_fatal to span_err in
check.rs. There are probably more errors that could be made
non-fatal. So if you see derived type errors appearing from now on,
file a bug!

r=graydon

Closes #1871
2012-11-21 12:44:51 -08:00
Patrick Walton
318e534895 rustc: Implement explicit self for Eq and Ord. r=graydon 2012-11-19 15:33:11 -08:00
Brian Anderson
74b2e99797 Report errors better when failing to open files for sub-parsers 2012-11-18 18:09:41 -08:00
Brian Anderson
72cc1aca17 Parse file mods from .rs files 2012-11-18 18:09:41 -08:00
Tim Chevalier
b9b21b2614 Update test and un-xfail it 2012-11-15 19:36:48 -08:00
Tim Chevalier
9d6ab9ae23 Update error message and un-xfail test 2012-11-15 19:36:48 -08:00
Tim Chevalier
39c306eeef Un-xfail working tests 2012-11-15 19:36:44 -08:00
Tim Chevalier
2fd2a56063 Update error message and un-xfail test 2012-11-15 18:41:17 -08:00
Tim Chevalier
f8bd95589f Add comments explaining why these tests are xfailed 2012-11-15 18:41:17 -08:00
Tim Chevalier
d4cc7db138 Un-xfail working test 2012-11-15 18:41:17 -08:00
Tim Chevalier
2f83baf857 Check for duplicate supertraits and forbid them
As per #3953
2012-11-15 18:41:17 -08:00
Tim Chevalier
82017b8416 Make staticness mismatch a fatal error
Exit with a fatal error, instead of recording a non-fatal error,
when we encounter an impl method that's static when its corresponding
trait method isn't (or vice versa). This is because code later on in
the typechecker will expect the staticness of the two methods to be
consistent and ICE otherwise.

r=nmatsakis

Closes #3969
2012-11-15 18:14:13 -08:00
Tim Chevalier
cb355bf7ad Update error message and un-xfail test 2012-11-15 17:14:28 -08:00
Tim Chevalier
fb47e41411 Un-xfail working tests 2012-11-15 16:59:07 -08:00
Tim Chevalier
6b65aed350 Remove test that tested behavior of unchecked blocks
We don't have unchecked blocks anymore.
2012-11-15 16:59:07 -08:00
Tim Chevalier
d58e0e30ed Update error messages and un-xfail 2012-11-15 16:59:07 -08:00
Tim Chevalier
35b2960d00 Add another test for #3177 2012-11-15 16:59:07 -08:00
Tim Chevalier
1f81e4cbc6 Remove typestate test 2012-11-15 16:59:07 -08:00
Patrick Walton
adc4bed773 librustc: Implement (and require) explicit self for derivable traits. r=nmatsakis 2012-11-15 10:26:49 -08:00
Ben Striegel
f4a5a76aa4 Convert the test suite to use the Drop trait 2012-11-14 19:26:37 -08:00
Brian Anderson
8336cad95d Move two fn assignability tests from compile-fail to run-pass 2012-11-14 12:40:23 -08:00
Brian Anderson
f14240b1c8 Remove obsolete const pattern test 2012-11-14 11:43:28 -08:00
Patrick Walton
32ad4ae4cd librustc: Require the #[derivable] attribute, remove the significance of "impl Foo : Bar;", and allow only a subset of methods in a trait to be derived. r=brson 2012-11-14 11:36:55 -08:00
Brian Anderson
cf002e9d32 Tools should not be build prereqs of tests. Closes #3946 2012-11-13 18:35:02 -08:00
Graydon Hoare
4e1ce014c8 cleanup: convert some remaining #foo invocations to foo! form. 2012-11-13 08:57:31 -08:00
Patrick Walton
fe02814a63 rustc: Implement floating point literal inference. r=nmatsakis 2012-11-12 10:39:08 -08:00
Brian Anderson
f05e2da709 Add a test for multiple main functions 2012-11-09 12:13:55 -08:00
Patrick Walton
0fc952372a rustc: Support irrefutable patterns in function arguments. r=nmatsakis 2012-11-07 19:29:30 -08:00
Patrick Walton
2904095570 rustc: Implement the Drop trait. r=brson 2012-11-07 12:34:32 -08:00
Niko Matsakis
b0ed151539 Cleanup how we handle proto in types, remove unsound subtyping
Fixes #1896 which was never truly fixed, just masked.
The given tests would have failed had they used `~fn()` and
not `@fn()`.  They now result in compilation errors.

Fixes #2978.

Necessary first step for #2202, #2263.
2012-11-06 08:56:29 -08:00
Patrick Walton
be93b29d30 rustc: Implement parsing and typechecking for "once fn" 2012-11-05 13:17:02 -08:00
Patrick Walton
caf68038dd test: Fix error messages in compile-fail tests. rs=rustbot 2012-11-02 10:43:28 -07:00
Patrick Walton
0c2e6fda73 rustc: Implement ~Trait. r=nmatsakis 2012-11-02 10:15:19 -07:00
Patrick Walton
106f9976ab rustc: Implement typechecking, exhaustiveness checking, and borrow checking for pattern matching of tuple structs. r=nmatsakis
Conflicts:

	src/rustc/middle/typeck/check/alt.rs
2012-11-02 09:56:09 -07:00
Tim Chevalier
768247f393 Tests for #1896 2012-11-01 15:14:52 -07:00