about summary refs log tree commit diff
path: root/src/rustc/middle
AgeCommit message (Collapse)AuthorLines
2012-06-20Don't allow + for evecs/estrs. It isn't implemented, and we are moving vec + ↵Michael Sullivan-2/+2
to libs anyways.
2012-06-20Repair the formatting of the table in is_binopable.Michael Sullivan-12/+9
2012-06-20Call the correct type formatting function for more typecheck diagnostics. ↵Michael Sullivan-10/+10
Closes #2652.
2012-06-20Don't force resolution of integral type vars in unary minus exprsLindsey Kuper-1/+8
These were getting resolved too early, when they were still unconstrained by the rest of the typing context. Waiting a bit longer to resolve them gives the rest of the typing context a chance to come into play, so that they don't default to `int`.
2012-06-20Use an unambiguous abbreviation for "operand" :)Lindsey Kuper-25/+25
2012-06-20Add comments explaining integral type variables; fix typosLindsey Kuper-1/+23
2012-06-20Don't reverse all the arguments to span_lint for lint checking passes.Michael Sullivan-7/+7
2012-06-19support autoderef on method callsNiko Matsakis-170/+211
2012-06-19Updating kind rules to make sure we don't sneakily send ports.Eric Holk-1/+1
2012-06-19Enable integer literal suffix inference.Lindsey Kuper-4/+1
2012-06-19Fix incorrect fn name in debug statementLindsey Kuper-1/+1
2012-06-19Don't create a new inference context for checking pattern ranges.Lindsey Kuper-3/+28
Ugly fix -- it would be better to refactor and consolidate the various "make sure these types are the same" fns scattered around typeck.
2012-06-19Union-find `rank` optimization for infer.Lindsey Kuper-23/+78
Makes deep-vector2 not run out of stack when suffix inference is enabled.
2012-06-19Add a `node` type in place of hand-rolled records in inferLindsey Kuper-27/+66
2012-06-19first steps to autoderef on method callsNiko Matsakis-115/+198
2012-06-18document liveness a bit betterNiko Matsakis-2/+60
2012-06-18Add 'do' expressionsBrian Anderson-6/+40
2012-06-18Fix generation of str/@. Closes #2638.Michael Sullivan-2/+6
2012-06-18Use unboxed vecs for string shape glue.Michael Sullivan-9/+1
2012-06-18Minor infer/typeck cleanupsLindsey Kuper-12/+9
2012-06-17Undo workaround for #2633 since it is fixed.Niko Matsakis-5/+1
This reverts commit a14df270dc18cd13965e741967eaeac443e20466. Conflicts: src/rustc/middle/trans/base.rs
2012-06-17Issue #2633: remove last_use entries that are subject to a loanNiko Matsakis-0/+27
2012-06-16Comments onlyTim Chevalier-0/+4
2012-06-16Make move_val take its first argument by copyTim Chevalier-1/+1
Workaround for #2633 -- should allow changes on eholk's branch to compile without segfaulting.
2012-06-15Fix copying of fixed length vectors. Closes #2630.Michael Sullivan-2/+1
2012-06-15Make fixed length vecs implicitly copyable. Clean up some other kind code. ↵Michael Sullivan-24/+18
Closes #2629
2012-06-15Handle index expressions' callee IDs correctlyTim Chevalier-4/+4
Some code that handles unary and binary exprs' callee IDs was forgetting to handle the index expr case (since calls to user-defined index operators also have callee IDs). This was manifesting as an ICE in trans because when monomorphizing a function that had one of these operators in it (an index into a dvec, in the test case), the callee ID would be unbound to a type. Fixed it. Closes #2631.
2012-06-15Add an intermediate level of type/region variable resolution forcingLindsey Kuper-24/+49
And change structurally_resolved_type() to force resolution of non-region variables.
2012-06-15Add the interner to parse_sess.Paul Stansifer-15/+1
2012-06-15Make type_is_pod handle more types.Michael Sullivan-2/+11
2012-06-14Issue #2591: Fix "upvar" jargon in borrowck error messagesPatrick Walton-3/+5
2012-06-14Merge branch 'incoming' of github.com:mozilla/rust into newsnapEric Holk-123/+186
2012-06-14Merge branch 'incoming' into newsnapEric Holk-12/+25
2012-06-14Further work on integer literal suffix inference (#1425)Lindsey Kuper-123/+186
In this commit: * Change the lit_int_unsuffixed AST node to not carry a type, since it doesn't need one * Don't print "(unsuffixed)" when pretty-printing unsuffixed integer literals * Just print "I" instead of "(integral)" for integral type variables * Set up trans to use the information that will be gathered during typeck to construct the appropriate constants for unsuffixed int literals * Add logic for handling int_ty_sets in typeck::infer * Clean up unnecessary code in typeck::infer * Add missing mk_ functions to middle::ty * Add ty_var_integral to a few of the type utility functions it was missing from in middle::ty
2012-06-14Complete a data visitor type that does proper pointer-walking.Graydon Hoare-12/+25
2012-06-14Merge branch 'incoming' into newsnapEric Holk-76/+193
2012-06-14Issue #2572: (trans) Fix self-referential classes.Patrick Walton-19/+48
2012-06-14whitespaceTim Chevalier-1/+1
2012-06-14Get an initial implementation of boxed vectors working.Michael Sullivan-40/+71
2012-06-14Avoid some duplicated typechecking workTim Chevalier-5/+18
There was a FIXME noting that ty::enum_variants and typeck::check:: check_enum_variants both call eval_const_expr. I tried refactoring the code so that check_enum_variants does all the work and enum_variants just looks up cached results, but this turned out not to be easy because several ty functions call enum_variants and it might get invoked on an enum before that enum item has been typechecked. Instead, I just made check_enum_variants update the enum_var_cache so that enum_variants will never call eval_const_expr twice on the same const.
2012-06-14Add zero check/fail paths on div/mod paths. Close #944.Graydon Hoare-11/+54
2012-06-14Comments only: annotate FIXMEs in reflectTim Chevalier-1/+2
2012-06-14Adding move_val and move_val_init intrinsics.Eric Holk-1/+29
2012-06-14Comments only: annotate FIXMEs in typeck::inferTim Chevalier-1/+2
2012-06-14Comments only: annotate a FIXME and remove an obsolete oneTim Chevalier-2/+2
2012-06-14Annotate and fix FIXMEs in typeckTim Chevalier-41/+40
2012-06-14Dead code eliminationTim Chevalier-38/+4
2012-06-13Make trans only generate calls to the _dyn malloc upcalls, so we can get rid ↵Michael Sullivan-36/+24
of the non dyn ones.
2012-06-13Traverse types in reachabilityTim Chevalier-1/+27
Issue 2526 showed a test case where a library exported only a type that was a synonym for a class. Because the class's destructor wasn't getting marked as reachable, its linkage was wrongly getting set to "internal". The solution is for reachability to traverse types. Closes #2526.
2012-06-13Box AST identsBrian Anderson-202/+205