aboutsummaryrefslogtreecommitdiff
path: root/src/test/compile-fail
Commit message (Collapse)AuthorAgeFilesLines
* Enforce in typechecker that preds return a boolTim Chevalier2011-05-051-1/+3
| | | | as well as a test case
* Test cases for pred / check stuffTim Chevalier2011-05-056-0/+45
|
* Check well-formedness of constraintsTim Chevalier2011-05-052-0/+26
| | | | | | Check that the operand in a constraint is an explicit name, and that the operands are all local variables or literals. Still need to check that the name refers to a pure function.
* Check that the operand in a check is a callTim Chevalier2011-05-051-0/+9
| | | | | | In addition, fix bug in fold that was turning asserts into checks. More typechecking still needs to be done.
* Un-XFAILed not-a-pred in stage0 (it fails correctly)Tim Chevalier2011-05-051-3/+0
|
* Add missing ret statements to check_modBrian Anderson2011-05-046-12/+0
| | | | Un-XFAIL compile-fail export tests
* More export XFAILs.Graydon Hoare2011-05-042-0/+6
|
* XFAIL some compile-fail tests mysteriously failing on win32 tinderbox.Graydon Hoare2011-05-044-0/+12
|
* Change two compile-fail patterns to match rustc output.Graydon Hoare2011-05-042-2/+2
|
* Assume xfail-stage0 implies stage1 and stage2 in tests, for now.Graydon Hoare2011-05-0330-0/+60
|
* Add some tests of tag-export interactionBrian Anderson2011-05-021-0/+17
|
* Add a test that imports can't circumvent exportsBrian Anderson2011-05-011-0/+19
|
* Add a regression test for use of unexported fully-qualified pathsBrian Anderson2011-05-011-0/+21
| | | | | An unexported foo.baz can't be resolved from inside foo when called as foo.baz instead of just baz. This behavior may want to change eventually.
* Hide unexported tag variantsBrian Anderson2011-05-011-0/+17
|
* Implement simple module exportBrian Anderson2011-05-013-2/+46
|
* Enable typestate_checkTim Chevalier2011-04-2811-11/+0
| | | | | Enable typestate checking (just for uninitialized vars) and un-XFAIL the relevant tests for stage0.
* Support all expression forms in typestateTim Chevalier2011-04-282-0/+44
| | | | | | | | | | | | Added support for self_method, cont, chan, port, recv, send, be, do_while, spawn, and ext; handled break and cont correctly. (However, there are no non-xfailed test cases for ext or spawn in stage0 currently.) Although the standard library compiles and all test cases pass with typestate enabled, I left typestate checking disabled as rustc terminates abnormally when building the standard library if so, even though it does generate code correctly.
* Handle nested items correctly in typestate_checkTim Chevalier2011-04-191-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | Summary says it all. Actually, only nested objects and functions are handled, but that's better than before. The fold that I was using before to traverse a crate wasn't working correctly, because annotations have to reflect the number of local variables of the nearest enclosing function (in turn, because annotations are represented as bit vectors). The fold was traversing the AST in the wrong order, first filling in the annotations correctly, but then re-traversing them with the bit vector length for any outer nested functions, and so on. Remedying this required writing a lot of tedious boilerplate code because I scrapped the idea of using a fold altogether. I also made typestate_check handle unary, field, alt, and fail. Also, some miscellaneous changes: * added annotations to blocks in typeck * fix pprust so it can handle spawn * added more logging functions in util.common * fixed _vec.or * added maybe and from_maybe in option * removed fold_block field from ast_fold, since it was never used
* Remove effect system from src.Graydon Hoare2011-04-191-21/+0
|
* Implement the "attempted dynamic environment-capture" error in rustc.Rafael Ávila de Espíndola2011-04-112-0/+30
|
* Disable effect checking in rustbootMarijn Haverbeke2011-04-086-52/+0
|
* Beginnings of support for magical self prefix; nothing profound happening yet.Lindsey Kuper2011-03-291-0/+13
|
* Switch xfail system to use comments embedded in source files.Graydon Hoare2011-03-2551-0/+55
|
* Teach rustc about reserved keywordsBrian Anderson2011-02-227-0/+35
|
* Cleanup for 'be' statement and comments about future typestateBrian Anderson2011-02-102-2/+2
|
* Add compile-fail tests for tail callsBrian Anderson2011-02-102-0/+23
|
* Reenable xfailed tests for rustboot that pass with trivial or no modificationsBrian Anderson2011-01-301-1/+1
|
* Fix test now that we look at the full error-pattern. Also enable it for rustc.Rafael Ávila de Espíndola2011-01-261-1/+1
|
* Print an error if we try to refer to a module in an expr_path.Rafael Ávila de Espíndola2011-01-251-0/+10
|
* Small first step in expr_path. Call find_final_def just to detectRafael Ávila de Espíndola2011-01-251-0/+8
| | | | | unresolved names. find_final_def is going to be extended to return the final expr.
* Enable more tests.Rafael Ávila de Espíndola2011-01-171-1/+1
|
* Fix the import handling in "complex" cases. When looking a.b.c and 'a' is aRafael Ávila de Espíndola2011-01-141-0/+8
| | | | | | | module, we should look for 'b' *just* in the module 'a' and then continue resolving b.c in the environment created by updating *with* a. Still not 100% correct, but getting there.
* Produce better errors for invalid imports.Rafael Ávila de Espíndola2011-01-121-0/+6
|
* Fix two invalid import cases we were not detecting:Rafael Ávila de Espíndola2011-01-112-0/+23
| | | | | | | * If an import was unused we would never print any errors for it. * We would keep the existing environment in scope when descending 'foo.bar' and would find 'bar' in the global environment if there was no 'bar' in 'foo'.
* Further corrections to the Makefile rules covering failing tests.Graydon Hoare2011-01-108-6/+22
|
* Add a check for binding an alias. Good thing, as we had two instances in our ↵Graydon Hoare2010-11-081-0/+7
| | | | library.
* First pass on splitting stratum and opacity off of effects. WIP.Graydon Hoare2010-11-024-5/+5
|
* Typecheck tags in "alt" patternsPatrick Walton2010-10-142-0/+24
|
* Closed issue 154 - prevents compiler from compiliing a line to zero statementsOr Brostovski2010-09-301-0/+7
|
* Bind pattern slots with ?, drop parens from 0-ary tag constructors, ↵Graydon Hoare2010-09-201-2/+2
| | | | translate 0-ary constructors as constants. Rustc loses ~300kb.
* Check for infinitely sized tags. Un-XFAIL ↵Patrick Walton2010-09-161-2/+5
| | | | test/compile-fail/infinite-tag-type-recursion.rs.
* Modified parser to handle alt type andadded a few testsOr Brostovski2010-08-211-0/+6
| | | | | | | | | | | | ast.ml - modified arm types for easier polymorphism - fixed a bug in fmt_type_arm dead.ml - modified arm types for easier polymorphism common.ml - added 'either' - added some useful auxiliary functions item.ml - modified arm code to be more polymorphic and handle both alt-tag and alt-type, also fixed the problematic case in bad-alt.rs Makefile - added XFAIL for new alt-type test bad-alt.rs - added test for invalid alt syntax alt-type-simple.rs - added simple test for alt type
* Fix some naughtiness of handling newlines in bracequotes and multi-line ↵Graydon Hoare2010-08-031-0/+10
| | | | comments. Closes #142.
* Improve mutability checking. Closes #118.Graydon Hoare2010-07-235-1/+24
|
* Add test for writing-through-uninit bug (reported on IRC by jrmuizel), plus ↵Graydon Hoare2010-07-231-0/+10
| | | | fix in typestate system.
* Add a test for an obvious-seeming (but not actually legal) kind of cast ↵Graydon Hoare2010-07-191-0/+13
| | | | attempted in issue #115, downgrade bug to an err in type.ml so you get a better message.
* Fix over-optimistic resolution of self-methods within obj scopes. There is ↵Graydon Hoare2010-07-191-0/+11
| | | | no such feature in the language at present. Add test to prevent regression. Closes #114.
* Missing semicolon in type.ml, plus test to catch regression. Closes #113.Graydon Hoare2010-07-191-0/+7
|
* Ensure that functions that should return a value do; issue 41Patrick Walton2010-07-162-0/+10
|
* Implement the "simple typechecker", which avoids HM inferencePatrick Walton2010-07-151-2/+2
|