aboutsummaryrefslogtreecommitdiff
path: root/src/comp/middle/ty.rs
Commit message (Collapse)AuthorAgeFilesLines
...
* rustc: Thread the type store through everything that needs to access type ↵Patrick Walton2011-04-221-147/+151
| | | | structures
* rustc: Remove direct access to the cname field of typesPatrick Walton2011-04-221-4/+7
|
* rustc: Switch @ty.t to ty.t so that we can change it to a uintPatrick Walton2011-04-221-172/+173
|
* rustc: Eliminate the direct use of ty.t.structPatrick Walton2011-04-221-51/+57
|
* rustc: Add a fast path when the types to be unified are exactly equalPatrick Walton2011-04-221-0/+3
|
* rustc: Add a fast path if there are no type substitutions to be madePatrick Walton2011-04-221-2/+8
|
* rustc: Improve the efficiency of lookup_item_type() slightlyPatrick Walton2011-04-221-7/+7
|
* rustc: Intern typesPatrick Walton2011-04-211-327/+67
|
* rustc: Add a shallow type equality function, not used yetPatrick Walton2011-04-211-0/+321
|
* rustc: Pass a type store around, which does nothing yetPatrick Walton2011-04-211-98/+155
|
* rustc: Create a unification contextPatrick Walton2011-04-211-99/+75
|
* rustc: Move ty.unify to a separate namespacePatrick Walton2011-04-211-33/+35
|
* Change ty.eq_ty to avoid stringification.Graydon Hoare2011-04-211-43/+304
|
* rustc: Define type hashing inductivelyPatrick Walton2011-04-201-12/+97
|
* rustc: Precompute type hashesPatrick Walton2011-04-201-39/+51
|
* rustc: Remove all manual type construction outside ty.rsPatrick Walton2011-04-201-15/+23
|
* rustc: Remove all uses of plain_ty() and friends from outside of ty.rsPatrick Walton2011-04-201-33/+31
|
* rustc: Introduce preferred type constructors, which will eventually ↵Patrick Walton2011-04-201-1/+47
| | | | precompute hashes and intern
* Small fast-path hack to ty.hash_ty and eq_ty.Graydon Hoare2011-04-191-0/+45
|
* rustc: Use marijnh's stringifier for type hash and equality, since it's not ↵Patrick Walton2011-04-191-2/+9
| | | | sensitive to cnames
* rustc: Make structured comparison glue instead of emitting it inlinePatrick Walton2011-04-191-0/+7
|
* Remove effect system from src.Graydon Hoare2011-04-191-2/+2
|
* replace error logging with log_err in stdlib and rustcMarijn Haverbeke2011-04-191-7/+8
|
* add log_err to rustcMarijn Haverbeke2011-04-191-1/+1
|
* rustc: Make fold_ty no longer use an object; introduce walk_tyPatrick Walton2011-04-151-86/+136
|
* rustc: Remove generalize_ty. Instead, maintain an explicit type parameter ↵Patrick Walton2011-04-141-93/+222
| | | | substitution list.
* rustc: Use union-find for variable substitutionPatrick Walton2011-04-141-48/+103
|
* rustc: Switch to indices for type parametersPatrick Walton2011-04-121-96/+56
|
* rustc: Factor out expr_ty() into expr_ann() and expr_ty()Patrick Walton2011-04-111-38/+45
|
* rustc: Push down types for all expressions; add logic for recv and sendPatrick Walton2011-04-081-0/+2
|
* Support for self-calls that take arguments.Lindsey Kuper2011-04-071-1/+1
| | | | | | | Nicer parsing of self-calls (expr_self_method nodes inside expr_call nodes, rather than a separate expr_call_self) makes typechecking tractable. We can now write self-calls that take arguments and return values (see: test/run-pass/obj-self-*.rs).
* Continued sketching out code for checking states against preconditions.Tim Chevalier2011-04-061-1/+1
| | | | | | | | | It's still sketchy. I added a typestate annotation field to statements tagged stmt_decl or stmt_expr, because a stmt_decl statement has a typestate that's different from that of its child node. This necessitated trivial changes to a bunch of other files all over to the compiler. I also added a few small standard library functions, some of which I didn't actually end up using but which I thought might be useful anyway.
* Last pieces of self-call support.Lindsey Kuper2011-04-051-0/+6
| | | | | | | | The last few pieces of the hack that lets us use trans.trans_call() to translate self-calls, plus a fix for the parser buy that was preventing self-call expressions from getting past parsing. test/run-pass/obj-self.rs works now (as in it actually prints "hi!" twice!).
* Make box prefix operator and box type carry mutability flag.Graydon Hoare2011-04-041-2/+2
|
* Started adding support for typestate checking.Tim Chevalier2011-04-011-7/+7
| | | | | | | | | | | | | | | I added a new field to the ast "ann" type for typestate information. Currently, the field contains a record of a precondition bit vector and postcondition vector, but I tried to structure things so as to make it easy to change the representation of the typestate annotation type. I also had to add annotations to some syntactic forms that didn't have them before (fail, ret, be...), with all the boilerplate changes that that would imply. The main call to the typestate_check entry point is commented out and the actual pre-postcondition algorithm only has a few cases implemented, though the overall AST traversal is there. The rest of the typestate algorithm isn't implemented yet.
* rustc: Add a type annotation to tag itemsPatrick Walton2011-03-311-7/+2
|
* rustc: Make tag_ty_params() and substitute_ty_params() take def ids instead ↵Patrick Walton2011-03-311-3/+3
| | | | of ty_params, and to check in external crates
* rustc: Thread an item-to-type mapping throughout the typechecking and ↵Patrick Walton2011-03-301-0/+55
| | | | translation phases
* Beginnings of support for magical self prefix; nothing profound happening yet.Lindsey Kuper2011-03-291-0/+1
|
* Add expr_spawn, spawn parsing, folding, typechecking, ty_taskBrian Anderson2011-03-281-0/+3
|
* Another go at changing compile-command, this time using RBUILD env var.Graydon Hoare2011-03-251-1/+1
|
* Revert "Bulk-edit compile commands in emacs chatter to point to assumed ↵Graydon Hoare2011-03-251-1/+1
| | | | | | build/ dir off src root." This reverts commit 846f2e2ba994268725f38c36fa12f1a09f21615c.
* Bulk-edit compile commands in emacs chatter to point to assumed build/ dir ↵Graydon Hoare2011-03-251-1/+1
| | | | off src root.
* rustc: Create a crate metadata cachePatrick Walton2011-03-251-5/+1
|
* Support for shorter error messages that are aware of objects' cnames.Lindsey Kuper2011-03-221-6/+20
|
* Add codegen for ports and chansBrian Anderson2011-03-221-0/+6
|
* Make floating-point operations work (neg, add, sub, mul, div, rem,Tim Chevalier2011-03-211-0/+5
| | | | and comparison ops.)
* Started adding support for floating-point type, floating-point literals, and ↵Tim Chevalier2011-03-211-0/+3
| | | | logging of floats. Other operations on float probably don't work yet.
* Modify native_item_fn to handle trailing linkage names that differ from the ↵Graydon Hoare2011-03-201-1/+1
| | | | item name (used in win32 build of std.dll)
* rustc: Implement "mutable?". Add a test case and XFAIL it in rustboot for now.Patrick Walton2011-03-181-23/+60
|