about summary refs log tree commit diff
path: root/src/rustc
AgeCommit message (Collapse)AuthorLines
2012-04-25lots of work to make iface/impls parameterized by regionsNiko Matsakis-387/+477
- paths can now take region parameters, replacing the dirty hack I was doing before of abusing vstores. vstores are now a bit of a hack though. - fix various small bugs: - we never checked that iface types were compatible when casting to an iface with `as` - we allowed nonsense like int<int> - and more! (actually that may be it)
2012-04-25Be a bit more cautious about marking things no-throw.Graydon Hoare-23/+26
2012-04-25More slice use in vec, io, str, ebml, metadata encoder and decoder.Graydon Hoare-29/+29
2012-04-25Set no-unwind on glue functions that don't drop resources.Graydon Hoare-17/+39
2012-04-25Set no-unwind attribute on all upcalls other than fail.Graydon Hoare-1/+10
2012-04-25rustc: Cache normalized typesBrian Anderson-3/+12
2012-04-25rustc: Use LLVM named structs for enum typesBrian Anderson-95/+185
2012-04-25typeck: Take more care to pass down expected typesMarijn Haverbeke-50/+86
This helps with prototype inference and avoids some 'must be known in this context' errors.
2012-04-25Rewrite exhaustiveness checkerMarijn Haverbeke-209/+237
Issue #2111
2012-04-24Revert "rustc: Use LLVM named structs for enum types"Brian Anderson-180/+95
This reverts commit 6e909e387d1b71a8b813433ce834384ffb13fedf.
2012-04-24Revert "rustc: Cache normalized types"Brian Anderson-12/+3
This reverts commit 06afe21c033abf370825034f3b1639a80386da6d.
2012-04-24rustc: Cache normalized typesBrian Anderson-3/+12
2012-04-24rustc: Use LLVM named structs for enum typesBrian Anderson-95/+180
2012-04-24Workarounds for bug #2280: add some temporaries for borrowing.Graydon Hoare-2/+8
2012-04-24rustc: Fix type_need_unwind_cleanup. Closes #2272Brian Anderson-2/+6
2012-04-24rustc: Remove a bitcast. Issue #2276Brian Anderson-1/+1
2012-04-23rustc: Eliminate trans dependency from metadata::tyencodeBrian Anderson-12/+19
2012-04-23Allow classes to be cast to ifaces that are in the same crateTim Chevalier-132/+245
I had to xfail one existing test case (class-implements-int) because, I think, of the same bug described in #2272.
2012-04-23Rename option::get_or_default to get_default, for consistencyTim Chevalier-1/+1
2012-04-23encode the borrowing table, add a simple cross-crate borrowing testNiko Matsakis-1/+15
2012-04-23Fix bug with * patterns in trans_altTim Chevalier-1/+2
enter_opt was handling the (*) case wrong and causing a bounds check failure. Fixed it (the test case is one of the extracted ones from the reference manual)
2012-04-23moderate comment, remove some dead regions codeNiko Matsakis-14/+7
2012-04-23remove dead codeNiko Matsakis-10/+0
2012-04-23remove outdated commentNiko Matsakis-2/+0
2012-04-23Various regions fixes.Niko Matsakis-88/+89
2012-04-23rewrite the resolution infrastructure; but it's still grodyNiko Matsakis-155/+210
2012-04-23Guard against infinitely expanding generic/inline functionsMarijn Haverbeke-6/+19
Closes #2220 Test case disabled until a memory-leak issue is resolved.
2012-04-23Emit a more useful error when using an unsuitable function for a loopMarijn Haverbeke-3/+14
Closes #2255
2012-04-23Move map iface over to more `for`-friendly iteration methodsMarijn Haverbeke-21/+21
2012-04-23Simplify representation of ast::pathMarijn Haverbeke-67/+49
2012-04-23Misc code cleanups using list::each for list iterationMarijn Haverbeke-71/+46
2012-04-23Fix broken determination of external method type param countMarijn Haverbeke-4/+6
Closes #2185
2012-04-21rustc: Cache constant C strings. Closes #2264Brian Anderson-0/+11
2012-04-20Print out return type correctly in typestate error messageTim Chevalier-6/+8
In the "not all paths return" error message, typestate was printing the AST type from the fn decl, not the ty::t type. This ended in tears when the AST return type was "ty_infer". Now it looks up the function node ID's type and uses util::ppaux::ty_to_str instead. Closes #2163.
2012-04-20Log decoded inline_items when debug is active.Graydon Hoare-0/+7
2012-04-20Implement tydecode::parse_vstore.Graydon Hoare-1/+14
2012-04-20Get borrowing working on fixed evecs.Graydon Hoare-8/+15
2012-04-20Add new syntax for patterns that match the head constructor onlyTim Chevalier-23/+41
Adds a new kind of pattern C(*) where C is a constructor that may have any number of fields. This pattern matches any value constructed with C, without binding names for any of the fields. Closes #1701.
2012-04-19make nominal types optionally parameterized by a self region.Niko Matsakis-872/+1126
Issue #2201.
2012-04-19correct universally_quantify to use structure_of, and introduce a test for thisNiko Matsakis-42/+49
2012-04-19Annotate FIXMEs in parserTim Chevalier-2/+4
Also, get rid of two FIXMEs by refactoring some code, and moving the call_expr check for be expressions into typeck, where it seems to make more sense.
2012-04-19Add a lint pass to check for while true { ... } loopsTim Chevalier-3/+37
And suggest changing them to loop { ... }. Had to fix the few remaining while true loops (in core::io). Closes #1962.
2012-04-19Get evec slices and unique-evec slice-borrowing working.Graydon Hoare-2/+12
2012-04-19Disallow rebinding / matching against consts in altsTim Chevalier-42/+46
As per Issue #1193. Closes #1193. I had to rename a few variables ("info" and "epsilon") to avoid clashing with in-scope constants, which is responsible for all the changes other than resolve and issue-1193.rs.
2012-04-19Get fixed-size evecs working.Graydon Hoare-56/+111
2012-04-18Fix [] on str to exclude the trailing null.Graydon Hoare-5/+9
2012-04-18syntax: Put the main parser interface in mod parseBrian Anderson-9/+9
2012-04-18Require values to be copyable when castMarijn Haverbeke-10/+11
Closes #2222
2012-04-18Fix oversight in type_use.rsMarijn Haverbeke-0/+15
Closes #2053
2012-04-18Stop duplicating non-generic resource destructorsMarijn Haverbeke-6/+20
Closes #2177