Commit Graph

3727 Commits

Author SHA1 Message Date
Niko Matsakis
fe0f84823a add two more copies required in word-count rs=breakage 2013-01-10 15:02:31 -08:00
Tim Chevalier
ae0ca9c646 Add working test for issue 3935 and xfailed test for issue 3888 2013-01-10 14:38:37 -08:00
Tim Chevalier
e0850d11ec Add test cases: one xfailed, one not 2013-01-10 14:16:02 -08:00
Niko Matsakis
89ed595e30 correct expected error msgs in various tests rs=breakage 2013-01-10 13:58:14 -08:00
Tim Chevalier
8a687dd8e4 tests: Add two test cases, one xfailed 2013-01-10 13:44:27 -08:00
Niko Matsakis
737e115646 mode: reset mode on entry to fn body.
This is an interim fix to address the "Beware!" unsoundness.  I have a
more comprehensive rewrite of mode.rs in the pipeline.

r=pcwalton
2013-01-10 13:17:25 -08:00
Patrick Walton
2a1b6c4de9 librustc: Implement &static as the replacement for Durable. r=nmatsakis 2013-01-10 11:16:54 -08:00
Patrick Walton
982830c836 librustc: Allow the type parameter version of Self to be spelled with a capital S 2013-01-10 10:37:22 -08:00
Graydon Hoare
61210e01f9 test: fix check-fast breakage. 2013-01-10 10:24:18 -08:00
Niko Matsakis
2b92962aa2 A collection of refactorings that I found it hard/tiresome to divide:
- Make `extern fn()` assignable to any closure type, rather than
  a subtype.
- Remove unused int_ty_set and float_ty_set
- Refactor variable unification and make it more DRY
- Do fn sub/lub/glb on the level of fn_sig
- Rename infer::to_str::ToStr to infer::to_str::InferStr
- Capitalize names of various types
- Correct hashing of FnMeta
- Convert various records-of-fns into structs-of-fns.  This is both
  eliminating use of deprecated features and more forwards compatible
  with fn reform.

r=pcwalton
2013-01-09 14:59:07 -08:00
Patrick Walton
2db3abddcd librustc: Make unqualified identifier searches terminate at the nearest module scope. r=tjc 2013-01-08 22:02:35 -08:00
Patrick Walton
44ab00ee37 Revert "librustc: Make unqualified identifier searches terminate at the nearest module scope. r=tjc"
This reverts commit a8d37af247.
2013-01-08 19:29:16 -08:00
Patrick Walton
a8d37af247 librustc: Make unqualified identifier searches terminate at the nearest module scope. r=tjc 2013-01-08 19:27:57 -08:00
Niko Matsakis
9f7dc1cb33 Remove ret_style and instead check whether fn return type is bot
cc #3681
2013-01-08 14:21:06 -08:00
Tim Chevalier
80435ad429 Make self visible when typechecking nested functions
Necessary to allow supertrait methods to be called in default methods.

r=nikomatsakis
2013-01-08 13:56:26 -08:00
Patrick Walton
722d670c85 test: Fix botched regex. rs=bustage 2013-01-08 10:35:20 -08:00
Patrick Walton
1f667e7995 test: Regular expression mistake. rs=bustage 2013-01-07 22:13:34 -08:00
Patrick Walton
fcc470c0ee test: Fix check-fast for resolve changes. rs=bustage 2013-01-07 18:55:12 -08:00
Niko Matsakis
16ec9aa6e7 Support assignability for struct fields. r=pcwalton 2013-01-07 18:46:37 -08:00
Tim Chevalier
7b433d098a Revert "Change the self def_id to a self_info in typeck, and inherit"
This reverts commit 921393c568.
2013-01-07 18:18:22 -08:00
Tim Chevalier
921393c568 Change the self def_id to a self_info in typeck, and inherit
That is, treat `self` as if it has dynamic scope. This seems to
be harmless, and prevents an ICE as per #3563
2013-01-07 18:08:19 -08:00
Tim Chevalier
fb9458e1ec xfail broken tests 2013-01-07 18:05:18 -08:00
Tim Chevalier
86db69def2 Revert "xfail broken tests"
This reverts commit d771830c4c.
2013-01-07 18:04:30 -08:00
Tim Chevalier
d771830c4c xfail broken tests 2013-01-07 18:04:01 -08:00
Jed Davis
3e7ab3a443 Add a test for nullary univariant enums. 2013-01-05 00:49:01 -08:00
Tim Chevalier
9e2a59dc5d Add xfailed test for #3707 2013-01-03 15:35:19 -08:00
Tim Chevalier
7b08ed02bb Actually xfail this, unbreak build 2013-01-03 15:26:41 -08:00
Tim Chevalier
1330b1cdf5 Add test cases (one xfailed, one not)
as per #3601 and #3609
2013-01-03 14:55:51 -08:00
Ted Horst
af48f30542 use newtype struct for devnull rather than type aliased record 2013-01-02 15:35:32 -08:00
Ted Horst
7c79b5e434 really update mandelbrot to pipes 2013-01-02 15:35:32 -08:00
Patrick Walton
5245aceba9 test: Fix benchmarks. rs=rustbot 2012-12-28 19:57:18 -08:00
Patrick Walton
5bd8692e9d test: Fix a bunch of compile-fail tests. rs=bustage 2012-12-28 19:36:35 -08:00
Patrick Walton
b92ea8dc78 test: Fix test/run-pass-fulldeps/qquote.rs. rs=bustage 2012-12-28 18:42:10 -08:00
Patrick Walton
19dfb47564 test: Fix test/run-pass/class-cast-to-trait-cross-crate-2. rs=fire 2012-12-28 18:04:41 -08:00
Patrick Walton
40eaecbd47 test: Fix a couple more tests. rs=bustage 2012-12-28 18:02:20 -08:00
Patrick Walton
c42d5e2747 test: Fix test/run-pass/pipe-pingpong-proto. rs=bustage 2012-12-28 17:33:28 -08:00
Patrick Walton
31b07ae8c5 test: Fix test/run-pass/pipe-pingpong-bounded. rs=bustage 2012-12-28 17:32:42 -08:00
Patrick Walton
f67c37263e test: Fix a bunch of run-pass tests. rs=bustage 2012-12-28 17:17:05 -08:00
Tim Chevalier
a75c0b3b32 Merge pull request #4268 from catamorphism/issue-3477
Emit a type error for integer literals where the expected type is char
2012-12-28 13:05:58 -08:00
Tim Chevalier
c880d0ab76 Add an xfailed test case and a CONTRIBUTING.md file 2012-12-27 14:58:45 -08:00
Tim Chevalier
0873553680 Merge pull request #4298 from JensNockert/byteswap
Add support for byteswap intrinsics
2012-12-27 10:47:15 -08:00
Jens Nockert
a51661e8c1 Add support for byteswap intrinsics
Adds support for the llvm.bswap.i{8,16,32} intrinsics, which swaps the
byte order from little endian to big endian, or the reverse.
2012-12-27 19:07:05 +01:00
Patrick Walton
57c599914a librustc: Terminate name searches at the nearest module scope for paths that contain at least two components. r=graydon 2012-12-27 10:02:54 -08:00
Erick Tryzelaar
efb8711f90 Merge branch 'master' of github.com:mozilla/rust into incoming 2012-12-27 10:34:27 -05:00
Tim Chevalier
c4720a73bb Update shootout-mandelbrot to work with the new io::Writer 2012-12-24 18:29:02 -08:00
Ted Horst
d30224a3d4 update mandelbrot to pipes, a few other updates 2012-12-24 18:29:01 -08:00
Tim Chevalier
8d438747a5 Remove xfail-fast from trait-composition-trivial 2012-12-24 18:29:01 -08:00
Tim Chevalier
d722217a68 tests: Add test case. Closes #3250 2012-12-24 18:29:01 -08:00
Graydon Hoare
329316ce15 bump 0.5 => 0.6, redirect some URLs in docs. 2012-12-24 18:29:01 -08:00
Tim Chevalier
499a58708f Assign correct types to struct-like enum variant constructors
Before, the type was just the enum type itself, which caused an
assertion failure in iter_variant in trans::base.

r=brson

Closes #4229
2012-12-24 15:59:15 -08:00
Tim Chevalier
7ce0d30b9b Update shootout-mandelbrot to work with the new io::Writer 2012-12-24 13:29:36 -08:00
Tim Chevalier
8ec13a90aa Merge pull request #4239 from tedhorst/mandpipe
update mandelbrot to pipes, a few other updates
2012-12-23 13:48:31 -08:00
Tim Chevalier
b1b0c297a4 Merge pull request #4249 from graydon/0.6-bump
bump 0.5 => 0.6, redirect some URLs in docs.
2012-12-23 13:47:11 -08:00
Ted Horst
2452ee11ab update mandelbrot to pipes, a few other updates 2012-12-23 13:17:42 -06:00
Tim Chevalier
10e8e3e286 Remove xfail-fast from trait-composition-trivial 2012-12-23 00:24:07 -08:00
Tim Chevalier
65839fa622 Emit a type error for integer literals where the expected type is char
For example, in let x: char = 42; This was an ICE and is now a
proper type error, as per #3477
2012-12-22 15:58:05 -08:00
Tim Chevalier
5c6e928e32 tests: Add test case. Closes #3250 2012-12-22 14:58:30 -08:00
Graydon Hoare
dbd36111fe bump 0.5 => 0.6, redirect some URLs in docs. 2012-12-21 15:35:49 -08:00
Jens Nockert
82641d4c39 Add support for bitcount intrinsics
Adds support for the llvm.ctpop, llvm.ctlz and llvm.cttz intrinsics.
2012-12-21 19:30:33 +01:00
Erick Tryzelaar
c14105bb8a Remove serialize::traits submodule. 2012-12-19 18:16:20 -08:00
Erick Tryzelaar
938058b004 Fix vec::flat_map_to_vec method 2012-12-18 20:48:51 -08:00
Brian Anderson
97ddf3c7bd Stop resolving static methods at the module level. Closes #4179 2012-12-18 18:35:18 -08:00
Graydon Hoare
8e28f23c60 core: add macro_rules! for "condition! { c: in -> out; }". 2012-12-18 17:22:27 -08:00
Brian Anderson
907fa74e8b Fix some iter tests 2012-12-18 15:08:51 -08:00
Brian Anderson
d062896a8b Deal with test failures in various ways 2012-12-18 14:35:53 -08:00
Brian Anderson
b46e25bdc8 Merge commit 'erickt/incoming^' into kind-names 2012-12-18 12:22:59 -08:00
Graydon Hoare
55138c739d fix 4 repr tests due to differences in spacing. r=burningtree. 2012-12-18 11:17:33 -08:00
Erick Tryzelaar
85bb1fc2c4 Change iter::find's closure to take a ref 2012-12-17 22:01:38 -08:00
Erick Tryzelaar
3fc74df7a4 fix warnings in vec destructuring tests 2012-12-17 22:01:38 -08:00
Erick Tryzelaar
8650c6f683 Switch from serialization to std::serialize. (snapshot) 2012-12-17 20:00:36 -08:00
Brian Anderson
33a8f855c2 Make the path and path2 attributes equivalent. Remove some uses 2012-12-17 18:06:52 -08:00
Jakub Wieczorek
6c83fe4c24 Add more tests 2012-12-17 16:50:40 -08:00
Jakub Wieczorek
1968cb315a Add support for destructuring vectors in match expressions 2012-12-17 16:50:40 -08:00
Patrick Walton
02e804bba8 test: Fix some broken test cases 2012-12-17 14:58:21 -08:00
Patrick Walton
ebd9ad4d04 librustc: Add a lint mode for deprecated self. r=brson 2012-12-14 19:46:55 -08:00
Patrick Walton
41c0d7083e librustc: Fix type_use for generic newtype structs. Closes #4188. rs=bugfix 2012-12-14 19:44:07 -08:00
Patrick Walton
8a9ccf81b0 librustc: Implement a lint mode for default methods. r=brson 2012-12-14 19:28:43 -08:00
Patrick Walton
99fa9c3cab Revert "librustc: Implement a lint mode for default methods"
This reverts commit 53b181dd47.
2012-12-14 19:13:59 -08:00
Patrick Walton
593f414254 test: Add a test for trait inheritance with self as a type parameter. rs=test-only 2012-12-14 19:12:29 -08:00
Patrick Walton
53b181dd47 librustc: Implement a lint mode for default methods 2012-12-14 19:07:20 -08:00
Patrick Walton
bdb2d659ae librustc: Ensure that no moves from the inside of @ or & boxes occur. rs=crashing-servo 2012-12-14 18:19:07 -08:00
Brian Anderson
dbc52ce505 xfail-fast run-pass/stat.rs 2012-12-14 16:50:08 -08:00
Brian Anderson
a9601bce10 Fix broken tests 2012-12-14 15:58:06 -08:00
Brian Anderson
0afe002757 Fix broken test 2012-12-14 15:38:53 -08:00
Tim Chevalier
3a5b6a79c6 Fix trait-inheritance-overloading-xc and un-xfail 2012-12-14 15:25:32 -08:00
Brian Anderson
8979695496 Fix broken tests 2012-12-14 15:10:45 -08:00
Tim Chevalier
abe33f165e Un-xfail tests that work now 2012-12-14 15:05:48 -08:00
Brian Anderson
e6d1b02359 Rename core::comm to core::oldcomm 2012-12-14 14:59:32 -08:00
Brian Anderson
80ef7243ea Remove spawn_listener, spawn_conversation
These are not needed in a pipe-based Rustiverse
2012-12-14 14:59:32 -08:00
Brian Anderson
dff2853e4d Remove bench/shootout-threadring.rs
Will need to be completely rewritten for pipes
2012-12-14 14:59:32 -08:00
Brian Anderson
05a35a2e5c Remove two comm-oriented benchmarks that have pipe equivs 2012-12-14 14:59:32 -08:00
Brian Anderson
c35a8589ab Fix broken tests 2012-12-14 14:58:16 -08:00
Patrick Walton
1b9f740f2f librustc: Reset the mode context to MoveValue for block lambdas. rs=bugfix 2012-12-13 21:44:19 -08:00
Brian Anderson
4559895b12 Update src/test/run-pass/static-fn-trait-xc.rs 2012-12-13 22:17:11 -07:00
Brian Anderson
b07a78b7cb Fix broken tests 2012-12-13 19:06:27 -08:00
Brian Anderson
9677fff0f9 Fix benchmarks 2012-12-13 18:24:15 -08:00
Patrick Walton
c3f0aa973e test: Fix last-use-corner-cases. rs=bustage 2012-12-13 18:08:52 -08:00
Patrick Walton
732c39c183 librustc: Have coherence check Copy kind bounds when determining whether parameter substitutions could possibly unify. r=nmatsakis 2012-12-13 16:14:54 -08:00
Brian Anderson
ed4fac01b5 Rename Send trait to Owned 2012-12-13 15:52:50 -08:00
Brian Anderson
a277081ee4 Rename Owned trait to Durable 2012-12-13 15:52:50 -08:00
Patrick Walton
cd120736cb librustc: Allow moves out of self. r=nmatsakis 2012-12-13 15:49:07 -08:00
Patrick Walton
45848b2040 librustc: Automatically move non-implicitly-copyable types into unique closures. r=nmatsakis 2012-12-13 15:33:33 -08:00
Brian Anderson
7ca94369da Fix encoding of trait static method paths. Closes #4097. r=pcwalton 2012-12-13 15:02:42 -08:00
Patrick Walton
9d23029648 libsyntax: Implement deriving for struct-like enum variants. r=brson 2012-12-13 14:55:11 -08:00
Patrick Walton
efb9b74718 librustc: Fix explicit self for objects in more cases. r=nmatsakis 2012-12-13 13:29:08 -08:00
Patrick Walton
4c2e4c37ce librustc: Make use statements crate-relative by default. r=brson 2012-12-13 13:05:22 -08:00
Brian Anderson
6047dd35bb Fix vtable calculations when translating static methods. Closes #4165 2012-12-12 17:14:39 -08:00
Graydon Hoare
9a4c669867 syntax: remove remaining #syntaxext machinery. Close #3516. 2012-12-12 17:08:09 -08:00
Graydon Hoare
e24ae85025 syntax: remove most code handling old-style syntax extensions. 2012-12-12 15:02:47 -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
38bd694df1 Reverse the order of the results of pipes::stream
As per #3637.
2012-12-11 19:23:28 -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
Graydon Hoare
a55ea48d2b libstd: refactor future, remove with(), remove ~ indirection.
Conflicts:

	src/libstd/future.rs
2012-12-11 15:56:47 -08:00
Brian Anderson
7d556e18b0 Fix deriving for single-variant enums 2012-12-11 15:41:16 -08:00
Brian Anderson
6e38e334de Relate the module hierarchy to directory paths in the parser
Introduces a temporary 'path2' attribute that will replace 'path' after
a snapshot
2012-12-11 15:00:23 -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
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
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
Brian Anderson
3fcdb7d6a7 Adjust the die macro to only accept ~str and to work in statement position 2012-12-10 18:16:22 -08:00
Graydon Hoare
ed686aeac4 tests: relicense .pp files. Oddly not caught during local testing. 2012-12-10 18:15:39 -08:00
Graydon Hoare
d1affff623 Reliciense makefiles and testsuite. Yup. 2012-12-10 17:32:58 -08:00
Patrick Walton
86f7eb3446 test: Fix aux-build in struct-destructuring-cross-crate. rs=bustage 2012-12-10 14:59:26 -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
Luqman Aden
a0d7b96170 Add test case for deprecated attribute. 2012-12-09 03:20:35 -05:00
Tim Chevalier
a7f29b3498 Fix busted test case
My last commit made more type errors recoverable, so extra errors
that were getting suppressed before were unleashed.
2012-12-08 23:51:51 -08:00
Tim Chevalier
3f7b112b16 Update and un-xfail crate-method-reexport-grrrrrrr2
Closes #3155
2012-12-08 23:40:17 -08: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
Tim Chevalier
2c2398ca0d Xfail broken tests 2012-12-07 23:42:58 -08:00
Patrick Walton
833eb7ae1d test: Fix borrowck-preserve-box-in-pat. rs=bustage 2012-12-07 22:42:49 -08:00
Patrick Walton
374ccfee9a test: Fix borrowck-preserve-box-in-discr; more fallout from pattern bindings. rs=bustage 2012-12-07 22:00:55 -08:00
Patrick Walton
6338865741 test: Remove alt-implicit-copy.rs test. Incompatible with current borrow check semantics. rs=bustage 2012-12-07 21:59:38 -08:00
Patrick Walton
6157f1dc06 test: Fix some busted run-pass tests, fallout from the pattern bindings change. rs=bustage 2012-12-07 21:56:46 -08:00
Tim Chevalier
13c7b97248 Add test for #2995 2012-12-07 21:40:42 -08:00
Tim Chevalier
8255aa1ec9 Add test case for #2828 2012-12-07 21:29:49 -08:00
Patrick Walton
184f5102b3 libsyntax: Fix parsing of module-qualified structure patterns. rs=bugfix 2012-12-07 19:10:16 -08:00
Patrick Walton
ab3b752906 librustc: Implement "&mut [T]" as an expression. r=brson 2012-12-07 18:29:10 -08:00
Brian Anderson
10c9d7921d Trait constraints are separated by space, not comma 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
Graydon Hoare
d78053ecb0 syntax: try to fix pattern printing yet again, r=burningtree. 2012-12-07 14:39:47 -08:00
Graydon Hoare
b4401d12a7 bench: fix nbody bugs, r=burningtree. 2012-12-07 12:21:30 -08:00
Graydon Hoare
70e0c6e27d syntax: Permit splicing anything into a quote that implements ToTokens. 2012-12-07 11:21:14 -08:00
Tim Chevalier
35f36808ff Test cases, some xfailed 2012-12-06 21:53:14 -08:00
Tim Chevalier
10ec058638 Remove obsolete comment 2012-12-06 21:52:50 -08:00
Tim Chevalier
31a4f40329 Remove compile-fail test from run-pass 2012-12-06 21:52:50 -08:00
Tim Chevalier
dd80f7e06e Xfail trait-inheritance-overloading-xc-exe
Issue #4135
2012-12-06 21:52:50 -08:00
Brian Anderson
ddfd1eaeb5 Use fuzzy_eq in run-pass/intrinsics-math.rs 2012-12-06 18:55:10 -08:00
Brian Anderson
098f71d348 xfail-fast static-fn-inline-xc. needs aux-build 2012-12-06 18:44:26 -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
Tim Chevalier
fe9a339939 Add various test cases, mostly xfailed 2012-12-06 16:14:54 -08:00
Patrick Walton
9750763a70 test: Fix compilation of benchmarks for moves-based-on-type. rs=bustage 2012-12-06 15:56:52 -08:00
Patrick Walton
4055001388 test: Fix shootout-mandelbrot.rs. rs=bustage 2012-12-06 15:38:04 -08:00
Patrick Walton
14a7be31bb test: Fix busted test. rs=bustage 2012-12-06 14:54:01 -08:00
Patrick Walton
e6ab0ca8b1 test: Fix more compile-fail bustage. rs=bustage 2012-12-06 12:13:30 -08:00
Patrick Walton
45052e13a5 test: Fix some compile-fail bustage. rs=bustage 2012-12-06 11:08:23 -08:00
Patrick Walton
b27150ef82 test: Fix some run-fail bustage. rs=bustage 2012-12-06 10:26:11 -08:00
Patrick Walton
219e260009 test: Fix some more run-pass bustage. rs=clownshoes 2012-12-06 09:28:42 -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
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
Brian Anderson
32ce61f947 Fix test 2012-12-05 20:14:40 -08:00
Brian Anderson
4f3cc01487 Fix cross-crate inlining of static functions 2012-12-05 18:09:52 -08:00
Patrick Walton
5bf9e6f58b test: Fix float imprecision error on intrinsics-math 2012-12-05 17:54:12 -08:00
Patrick Walton
674b638385 test: Fix alt-implicit-copy-unique. rs=me 2012-12-05 17:38:21 -08:00
Patrick Walton
e1685dd990 test: More bustage fixes. rs=me 2012-12-05 17:36:51 -08:00
Patrick Walton
6084032270 test: More run-pass test fixes 2012-12-05 16:51:32 -08:00
Patrick Walton
3440482d8d test: Fix a bunch of test cases. rs=burning 2012-12-05 11:40:47 -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
33c1e47c1b librustc: Implement moves based on type. r=nmatsakis 2012-12-04 15:38:04 -08:00
Brian Anderson
05e51e6f7f Call default methods on bound typarams more correctly 2012-12-02 18:29:22 -08:00
Brian Anderson
83a55ea73a Fix some compile-fail tests 2012-12-01 15:59:04 -08:00
Brian Anderson
c19c24d193 Fix tests for field parsing changes 2012-12-01 15:25:17 -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
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
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
Brian Anderson
05e7ba8d39 Enable trait-inheritance-simple.rs 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
f6a8ffc625 Test statement macros. 2012-11-29 12:09:11 -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
Paul Stansifer
e7f07cb2a3 Update tests to respect the way that macros work now. 2012-11-29 12:09:11 -08:00
Patrick Walton
c946c87b6f libsyntax: Remove the "by-mutable-ref" obsolete syntax error; it blocks useful function argument patterns. Add a test for the latter. r=brson 2012-11-29 12:06:36 -08:00
Patrick Walton
3beff12309 test: Fix broken resource-cycle.rs. r=tinderbox 2012-11-29 12:05:56 -08:00
Patrick Walton
9678abedec test: Add a test that function argument patterns take in the expected type. r=test-only 2012-11-29 11:25:02 -08:00
Patrick Walton
976e1ced00 test: Add a test for generic objects. r=test-only 2012-11-29 11:18:36 -08:00
Patrick Walton
9e1c9be16f librustc: Make the Drop trait use explicit self 2012-11-29 11:06:15 -08:00
Luqman Aden
c6b1739232 Add more standard c lib llvm intrinsics. 2012-11-29 06:48:07 -05:00
Brian Anderson
16f72df704 Merge remote-tracking branch 'erickt/time'
Conflicts:
	src/libstd/time.rs
2012-11-28 14:49:58 -08:00
Patrick Walton
b9f9ab8f77 test: Implement a test for the Drop trait on a generic struct. a=test-only 2012-11-28 14:19:41 -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
430583c8b4 librustc: Allow &T to be assigned to *T. r=nmatsakis 2012-11-28 11:29:53 -08:00
Patrick Walton
61cfec3c52 librustc: Parse extern "C" { ... }. r=brson 2012-11-28 11:28:16 -08:00
Patrick Walton
ca6970a65e librustc: Make overloaded operators with explicit self translate correctly 2012-11-28 11:01:14 -08:00
Graydon Hoare
082a88e42c Merge pull request #4032 from catamorphism/getopts
[libstd] getopts, now with fewer copies
2012-11-28 08:47:25 -08:00
Patrick Walton
1c348e6e38 librustc: Implement @mut [T] as the new replacement for @[mut T] 2012-11-27 09:23:31 -08:00
Erick Tryzelaar
32763caa60 auto_serialize should use explicit refs (fixes #4044) 2012-11-26 22:31:48 -08:00
Jesse Jones
a18f0d413c Made Tm_ a struct instead of a record and added serialization support to Tm and Tm_.
Not entirely clear what the best way to do this is. Right now we persist the entire
struct which seems to be both portable and exactly round-trippable.
2012-11-26 21:49:29 -08:00
Patrick Walton
7bc29c62d0 libcore: Add explicit self to all overloaded operators but Add and Index. r=brson 2012-11-26 19:35:52 -08:00
Brian Anderson
be6613e048 Remove the crate language 2012-11-26 18:13:54 -08:00
Brian Anderson
58e26243a7 syntax: Add a hack to support the int-template pattern 2012-11-26 18:13:54 -08:00
Patrick Walton
de0268b693 librustc: Fix translation of cross-crate inline or generic methods with explicit self. rs=blocking-snapshot 2012-11-26 18:09:12 -08:00
Brian Anderson
3ac90ec9f8 Fix test breakage 2012-11-25 16:10:37 -08:00
Brian Anderson
3acf4a2a9c Fix test 2012-11-25 14:04:45 -08:00
Kevin Cantu
ff4075e553 Add improvements to insert_with_key
This commit adds a lower-level implementation of the generic
`insert_with_key` which I expect to be faster. Now insert could be
defined with insert_with_key, too, although I'm not sure we want to do that.

This also clarifies the tests a bit and adds an `insert_with` function.
2012-11-25 12:41:11 -08:00
Kevin Cantu
7b13ef7d50 Test insert_with_key... 2012-11-25 12:41:11 -08:00
Kevin Cantu
a343e435d5 Add an insert_with_key function to the Map trait 2012-11-25 12:41:11 -08:00
Tim Chevalier
fa66f3ec18 [tests] Add passing test
Closes #3683
2012-11-24 14:02:35 -08:00
Tim Chevalier
ec0c029a7e Split EBML module into a reader and a writer module
Minor refactoring, no review.

Closes #2739
2012-11-24 13:40:00 -08:00
Tim Chevalier
236fd32f0a [tests] Add test for #4033 2012-11-24 13:40:00 -08:00
Tim Chevalier
f74fe894fc [libstd] getopts, now with fewer copies
Change the opt_ functions in getopts to take a reference to a
Matches, instead of taking a Matches by-value, as suggested in
2012-11-24 12:52:27 -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
e6d87a3ef4 libsyntax: Implement deriving correctly for type-parameterized structs and enums. r=brson 2012-11-21 10:27:37 -08:00
Patrick Walton
57588edf3b libsyntax: Implement deriving via a syntax extension for the IterBytes trait. r=brson 2012-11-21 10:27:34 -08:00
Patrick Walton
e0876fdfc1 libsyntax: Implement deriving for enums with N-ary variants. r=brson 2012-11-21 10:27:13 -08:00
Erick Tryzelaar
a27f5239bd libcore: Add stat methods to paths
Should we return the posix types, or should we just use i64s?
Should we expose platform specific stat fields?
2012-11-20 16:39:31 -08:00
Graydon Hoare
497a8b54b5 syntax: switch tt quoter to emit ~[tt], not tt. 2012-11-20 16:08:05 -08:00
Patrick Walton
a7aecc46a5 rustc: Implement "deriving" for monomorphic structs via a syntax extension. r=brson 2012-11-20 11:58:19 -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
9bed0ddb0e Fix parsing of interpolated paths 2012-11-19 14:00:39 -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
Jesse Jones
68c852ad3a Made Map.contains_key, contains_key_ref, and get pure. 2012-11-18 13:25:24 -08:00
Graydon Hoare
5005be67cc syntax: rename quote! to quote_tokens!, add quote_{expr,type,item,pat,stmt}!
r=brson, Close #3976.
2012-11-16 14:50:49 -08:00
Brian Anderson
8b309e54c7 re-xfail two tests 2012-11-16 11:19:45 -08:00
Tim Chevalier
624fbbd3d1 Update and un-xfail tests 2012-11-15 19:57:46 -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
f9ca0c89d8 Add xfailed test for #3979 2012-11-15 18:03:35 -08:00
Patrick Walton
64305174c9 librustc: Fix cross-crate reexports. rs=blocking-servo 2012-11-15 17:15:02 -08:00
Tim Chevalier
cb355bf7ad Update error message and un-xfail test 2012-11-15 17:14:28 -08:00
Tim Chevalier
5da43724bf Add comments explaining why these tests fail 2012-11-15 16:59:07 -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