Patrick Walton
f82db5d136
test: Change the expected error message on iface-test.rs to contain "trait" instead of "interface"
2012-07-18 20:42:14 -07:00
Tim Chevalier
3119afc6e8
In resolve3, error on non-existent imports
...
Closes #2937
2012-07-18 18:02:07 -07:00
Niko Matsakis
e0ea67a2a6
prevent regions from escaping in ifaces; remove &r.T syntax
2012-07-18 11:48:58 -07:00
Patrick Walton
db020ab63c
rustc: Implement and enforce instance coherence
2012-07-17 15:46:43 -07:00
Niko Matsakis
0e42004bab
introduce an owned kind for data that contains no borrowed ptrs
2012-07-16 20:18:18 -07:00
Niko Matsakis
3ef7ff8b89
infer the scope of borrows
2012-07-14 17:37:32 -07:00
Niko Matsakis
41a21f053c
remove typestate from code, tests, and docs
2012-07-14 17:37:20 -07:00
Michael Sullivan
6822ec3eb4
Treat bare vector and string literals as fixed length vecs. Closes #2922 .
2012-07-14 14:30:48 -07:00
Michael Sullivan
d884085f43
Tear out ty_str and ty_vec.
2012-07-14 12:19:36 -07:00
Michael Sullivan
92743dc2a6
Move the world over to using the new style string literals and types. Closes #2907 .
2012-07-14 01:03:43 -07:00
Michael Sullivan
f5e69d611e
Change the pretty printer to print vstores for strs in prefix notation.
2012-07-13 17:03:54 -07:00
Lindsey Kuper
5a63b2100e
More consistent use of backticks and "expected" in error messages.
...
Got some of the debug messages, here, too. I figure it doesn't hurt
to get used to doing this even in places where users won't ever see
it.
2012-07-13 15:31:39 -07:00
Niko Matsakis
4c463b78fb
repair error msg
2012-07-13 10:20:51 -07:00
Niko Matsakis
90e435e808
change region syntax to &r/T in place of &r.T
2012-07-13 10:20:50 -07:00
Michael Sullivan
2ea9c8df0f
Accept prefix notation for writing the types of str/~ and friends.
2012-07-12 16:52:26 -07:00
Michael Sullivan
9d2e5f3a65
Merge branch 'rt-changes' into incoming
2012-07-12 15:03:54 -07:00
Michael Sullivan
7b26503566
Make str be treated as str/~.
2012-07-12 00:21:04 -07:00
Niko Matsakis
b9aa9def85
infer when types are region parameterized rather than requiring /&
...
- removes various fields from various variants in the AST
- also update tests not to use this notation
2012-07-11 14:41:41 -07:00
Michael Sullivan
120773b2a7
Change the interface of placement new to take a tydesc as part of Issue #2831 .
2012-07-11 11:42:49 -07:00
Tim Chevalier
f39477d926
In resolve, check that an or-pattern has the same number of bindings in each disjunct
...
resolve3 wasn't checking this. Added test cases. Also added a helpful informational
message in the case where you have a variable binding that you probably think
refers to a variant that you forgot to import.
This is easier to do in resolve than in typeck because there's code in typeck
that assumes that each of the patterns binds the same number of variables.
2012-07-10 18:24:41 -07:00
Michael Sullivan
bf06deafe6
Disallow implicitly binding methods in typechecker. Closes #2189 .
2012-07-10 15:12:13 -07:00
Michael Sullivan
0070527383
Pretty print vectors as ~[] instead of []/~. Closes #2863 .
2012-07-10 13:55:19 -07:00
Tim Chevalier
78088fb813
Add test case for issue 2766, which resolve 3 fixes
2012-07-09 19:16:23 -07:00
Patrick Walton
f3b50ae348
test: Remove failing parts of the failing test (requires intertwining of resolve and typechecking)
2012-07-09 12:55:00 -07:00
Ben Blum
8ffab392ab
change borrowck error msg: 'declared in outer block' -> 'captured in a closure' (properly this time)
2012-07-09 14:01:39 -04:00
Patrick Walton
e41029d236
rustc: Switch to the new resolution pass
2012-07-09 10:27:13 -07:00
Niko Matsakis
a856bccdc6
Revert "rustc: Switch to the new resolution pass"
...
This reverts commit c4af6e92fb
.
Branch was burning...many, many unresolved imports.
2012-07-06 20:45:06 -07:00
Patrick Walton
c4af6e92fb
rustc: Switch to the new resolution pass
2012-07-06 19:07:26 -07:00
Lindsey Kuper
47f61c5429
Clean up error message punctuation/capitalization
2012-07-05 16:18:58 -07:00
Ben Striegel
f2e2a14f36
Remove empty argument lists from do expressions
2012-07-04 17:21:29 -07:00
Brian Anderson
ae6ea068a1
Revert "Remove rule requiring non-nil block-style statements to be semi-terminated"
...
This reverts commit 0f5eaef5fb
.
2012-07-03 17:30:25 -07:00
Brian Anderson
0f5eaef5fb
Remove rule requiring non-nil block-style statements to be semi-terminated
...
This is a subtle rule that no longer seems to be required.
2012-07-03 17:03:52 -07:00
Graydon Hoare
be2c92078b
Change crust -> extern.
2012-07-03 16:49:46 -07:00
Graydon Hoare
debb7e4641
Switch 'native' to 'extern' (or 'foreign' in some descriptions)
2012-07-03 16:11:00 -07:00
Brian Anderson
0b1edb7f0e
Update compile-fail/missing-do for new error-comment syntax
2012-07-02 17:39:52 -07:00
Armin Ronacher
1f80b9b90a
Added testcase for the missing do compile note
2012-07-02 17:33:57 -07:00
Brian Anderson
569467eb0d
Merge remote-tracking branch 'Dretch/prettydocs'
...
Conflicts:
src/compiletest/errors.rs
src/libsyntax/parse/attr.rs
src/libsyntax/parse/comments.rs
src/test/compile-fail/ambig_impl_unify.rs
src/test/compile-fail/assign-super.rs
src/test/compile-fail/bad-for-loop.rs
src/test/compile-fail/bad-var-env-capture-in-block-arg.rs
src/test/compile-fail/block-arg-as-stmt-with-value.rs
src/test/compile-fail/borrowck-assign-comp-idx.rs
src/test/compile-fail/borrowck-lend-flow.rs
src/test/compile-fail/borrowck-loan-blocks-move-cc.rs
src/test/compile-fail/borrowck-loan-blocks-mut-uniq.rs
src/test/compile-fail/borrowck-loan-rcvr.rs
src/test/compile-fail/borrowck-loan-vec-content.rs
src/test/compile-fail/borrowck-mut-vec-as-imm-slice-bad.rs
src/test/compile-fail/cap-clause-with-stack-closure.rs
src/test/compile-fail/do1.rs
src/test/compile-fail/do2.rs
src/test/compile-fail/empty-vec-trailing-comma.rs
src/test/compile-fail/evec-subtyping.rs
src/test/compile-fail/issue-1896.rs
src/test/compile-fail/issue-2149.rs
src/test/compile-fail/issue-2150.rs
src/test/compile-fail/issue-2487-b.rs
src/test/compile-fail/kindck-implicit-close-over-mut-var.rs
src/test/compile-fail/liveness-issue-2163.rs
src/test/compile-fail/liveness-use-in-index-lvalue.rs
src/test/compile-fail/no-reuse-move-arc.rs
src/test/compile-fail/no-send-res-ports.rs
src/test/compile-fail/non-const.rs
src/test/compile-fail/pure-higher-order.rs
src/test/compile-fail/pure-loop-body.rs
src/test/compile-fail/regions-addr-of-upvar-self.rs
src/test/compile-fail/regions-escape-loop-via-vec.rs
src/test/compile-fail/regions-scoping.rs
src/test/compile-fail/seq-args.rs
src/test/compile-fail/tstate-unsat-in-called-fn-expr.rs
src/test/compile-fail/tstate-unsat-in-fn-expr.rs
src/test/compile-fail/vec-add.rs
src/test/compile-fail/vec-concat-bug.rs
src/test/compile-fail/vector-no-ann.rs
2012-07-02 15:23:41 -07:00
Brian Anderson
9743757113
syntax: Support dropping argument list from for/do
2012-07-01 22:36:24 -07:00
Brian Anderson
d1fc2b5995
Convert to new closure syntax
2012-07-01 19:19:32 -07:00
Brian Anderson
ed834f0629
syntax: Add support for new lambda syntax
2012-06-30 16:01:52 -07:00
Brian Anderson
a3382b6f26
Eliminate usages of old sugared call syntax
2012-06-30 16:01:49 -07:00
Gareth Daniel Smith
6d86969260
change the test suite //! kind
syntax to //~ kind
in order to avoid a
...
conflict with the new single-line-sugared-inner-doc-comment (`//! ...`).
2012-06-30 12:23:59 +01:00
Michael Sullivan
98e161f00e
Switch the compiler over to using ~[] notation instead of []/~. Closes #2759 .
2012-06-29 17:41:45 -07:00
Graydon Hoare
697f1e38d6
Change 'native' and 'crust' to 'extern'.
...
This comes with a terminology change. All linkage-symbols are 'extern'
now, including rust syms in other crates. Some extern ABIs are
merely "foreign". The term "native" is retired, not clear/useful.
What was "crust" is now "extern" applied to a _definition_. This
is a bit of an overloading, but should be unambiguous: it means
that the definition should be made available to some non-rust ABI.
2012-06-26 16:18:37 -07:00
Tim Chevalier
cf69604551
Incorporate class fields into recursive-type check
...
Noticed while investigating issue 2718 that the typechecker allowed
some non-instantiable types involving classes. This wasn't the root of
2718, but fixed it anyway.
2012-06-26 11:14:39 -07:00
Michael Sullivan
329eca6044
Make vectors uglier ([]/~). Sorry. Should be temporary. Closes #2725 .
2012-06-25 20:00:46 -07:00
Tim Chevalier
da470ff5b8
Merge
2012-06-25 13:29:41 -07:00
Tim Chevalier
487cbf8e90
Remove resources
...
Also fixed shapes for classes with dtors, as well as handling
offsets for classes with dtors correctly in take glue.
Closes #2485
2012-06-24 15:09:57 -07:00
Graydon Hoare
f60cdf27e7
Remove 'implements' keyword in favour of :, part of #2301 .
2012-06-22 18:57:20 -07:00
Lindsey Kuper
ce7b803728
Minor capitalization/punctuation fixes in error messages
2012-06-22 16:48:03 -07:00
Lindsey Kuper
46809f7ab7
Nicer quoting in "attempted access of field" message. Issue #2358 .
2012-06-22 16:48:03 -07:00
Eric Holk
3246723bf7
Adding an issue number to vec-add.rs
2012-06-22 15:35:06 -07:00
Michael Sullivan
1d6fb24b70
Hack to make [] and []/~ the same type in preparation for switching to []/~.
2012-06-22 15:11:34 -07:00
Tim Chevalier
588c1eb41f
Remove resources from remaining test cases
2012-06-22 13:11:29 -07:00
Tim Chevalier
b8710de5ff
Add test cases
...
issue-912 is xfailed. issue-2111 is already fixed, but it's good to
have the test case.
2012-06-21 19:58:52 -07:00
Tim Chevalier
cc323d8637
Make liveness print out a proper error message for moves out of a self field
...
This was a call to span_bug() before. I'm not sure about the other cases,
but the test case shows that the `vk_self` case can certainly arise with
a bad program, so it should be a span_err() thing and not a span_bug() thing.
Closes #2590
2012-06-21 17:43:10 -07:00
Tim Chevalier
a06398214a
Add test for issue 2467
2012-06-21 16:58:35 -07:00
Lindsey Kuper
5710178081
Adding i
suffixes so cfail tests keep failing after suffix inference
2012-06-21 16:19:04 -07:00
Lindsey Kuper
0fe9c0a9d1
Add tests to exercise the "pattern has N field(s), but" error patterns.
2012-06-21 16:19:04 -07:00
Eric Holk
559c30ab17
xfailing vec-add.
2012-06-21 16:11:11 -07:00
Eric Holk
bb572b4234
Updating errors in vec-add.rs
2012-06-21 16:11:11 -07:00
Tim Chevalier
2a53640aa1
Test for issue 1896 (which appears to be fixed)
2012-06-21 14:08:02 -07:00
Niko Matsakis
9a2b60dfce
unxfail test for #2657
2012-06-21 10:20:46 -07:00
Niko Matsakis
287f163136
Issue #2657 : track mutability of bindings, also prevent move from bindings
2012-06-21 09:45:01 -07:00
Niko Matsakis
60603703ea
handle moves in let initializers and allow moves from unsafe ptrs
...
Related to issue #2657 , but this is not a complete fix.
2012-06-21 08:34:54 -07:00
Tim Chevalier
613deb0312
Change error to debug
...
IMO this is a better workaround than using the old-style
error-pattern: syntax :-)
2012-06-20 18:52:43 -07:00
Lindsey Kuper
1df6ddd08c
doc: add information about suffix inference to tutorial and manual.
2012-06-20 17:56:40 -07:00
Brian Anderson
4dcf84e4f4
Remove bind. Issue #2189
2012-06-20 17:27:28 -07:00
Michael Sullivan
bcd3942f41
Fix a test I messed up.
2012-06-20 17:08:36 -07:00
Michael Sullivan
8040fd86bf
Call the correct type formatting function for more typecheck diagnostics. Closes #2652 .
2012-06-20 15:44:58 -07:00
Eric Holk
e30a8b6f8c
Updating kind rules to make sure we don't sneakily send ports.
2012-06-19 17:37:51 -07:00
Lindsey Kuper
3cf582b529
Enable integer literal suffix inference.
2012-06-19 17:06:05 -07:00
Lindsey Kuper
3f56c0a42d
Add i
suffix to cfail test so it works after suffix inference
2012-06-19 16:57:13 -07:00
Lindsey Kuper
8cc1149130
Adding i
suffixes so cfail tests keep failing after suffix inference
2012-06-19 16:35:26 -07:00
Eric Holk
be664ddd29
Moved arc to libcore and added an arc that allows shared mutable state through mutual exclusion.
2012-06-19 10:31:12 -07:00
Brian Anderson
1ec5a5c635
Add 'do' expressions
2012-06-18 17:42:30 -07:00
Lindsey Kuper
85977ced3f
Adding i
suffixes so cfail tests keep failing after suffix inference
2012-06-18 15:36:14 -07:00
Tim Chevalier
0276a3376b
Revert "Moved arc to libstd and added an arc that allows shared mutable state through mutual exclusion."
...
This reverts commit 015527b0ce
.
2012-06-16 15:21:08 -07:00
Eric Holk
015527b0ce
Moved arc to libstd and added an arc that allows shared mutable state through mutual exclusion.
2012-06-15 22:00:58 -04:00
Patrick Walton
b6ed1de29e
Issue #2591 : Change "upvar" to "variable declared in an outer block" in tests
2012-06-15 12:24:12 -07:00
Lindsey Kuper
e3f73e443e
Tests for #1425 (xfail'd for now)
2012-06-14 21:04:53 -07:00
Lindsey Kuper
8a730a255d
Allow trailing comma in vectors. Closes #2482 .
2012-06-12 13:03:30 -07:00
Niko Matsakis
013fc92423
remove alias analysis and replace with borrowck
...
This reverts commit 7ef825bb60
.
2012-06-08 20:39:11 -07:00
Brian Anderson
7ef825bb60
Revert "remove alias analysis and replace with borrowck"
...
18s perf regression compiling rustc with opts
This reverts commit 7f6ee0ce0d
.
2012-06-07 19:42:27 -07:00
Niko Matsakis
7f6ee0ce0d
remove alias analysis and replace with borrowck
...
cc #2540
2012-06-07 16:46:57 -07:00
Tim Chevalier
0327dc0b18
Insert missing maybe_print_comment call for class destructors
...
While it wasn't the original issue, the first program from #2487
failed the pretty-printing test because of this, so it's still a good
test case :-)
It also turns out that the second program from #2487 now triggers a
kind error, so I figured I might as well add it as a test case.
2012-06-06 22:09:10 -07:00
Niko Matsakis
3b4cfdeee2
Merge remote-tracking branch 'mozilla/incoming'
...
Conflicts:
src/rustc/middle/tstate/auxiliary.rs
2012-06-06 19:00:34 -07:00
Niko Matsakis
dd37c0a41e
mask extra borrowck errors (should find out how to not report those)
2012-06-06 18:42:06 -07:00
Niko Matsakis
8ebbf464f5
minor changes to tests so they pass borrowck
2012-06-06 18:37:58 -07:00
Tim Chevalier
a5c9e8d59e
Fix tests to avoid empty classes
2012-06-06 15:08:24 -07:00
Tim Chevalier
5e8ef74e22
Revert "Revert "Forbid classes with no fields" due to test failures"
...
This reverts commit e56a6e8cb0
.
2012-06-06 15:08:24 -07:00
Niko Matsakis
77c470d183
Allow rcvrs to be borrowed; check rcvrs in borrowck properly
2012-06-02 10:08:04 -07:00
Niko Matsakis
cfac9b6833
improve borrowck to handle some frankly rather tricky cases
...
- receivers of method calls are also borrowed
- by-val arguments are also borrowed (needs tests)
- assignment to components can interfere with loans
2012-06-02 10:08:04 -07:00
Tim Chevalier
6e2aa3b998
Port more resource tests to classes
2012-06-01 20:40:35 -07:00
Tim Chevalier
de40318037
Tests for copyability and sendability rules for classes
...
Closes #2296
2012-06-01 20:40:35 -07:00
Tim Chevalier
11b4a92fc8
Port another resource test to use classes
2012-06-01 20:40:35 -07:00
Tim Chevalier
facb5c08c6
Enforce rule that classes with dtors aren't copyable
...
The test for this is copy-a-resource.
2012-06-01 20:40:35 -07:00
Tim Chevalier
b67f8e340b
Remove obsolete test
...
This test no longer makes sense with classes instead of resources,
since class types can't be dereferenced.
2012-06-01 20:40:35 -07:00
Lindsey Kuper
3c622a5b12
Clarifying comments in test.
2012-06-01 10:30:50 -07:00
Lindsey Kuper
43eb5f0a2e
More tests wrt #2263 .
2012-06-01 09:26:48 -07:00