about summary refs log tree commit diff
path: root/src/comp/middle/trans_closure.rs
AgeCommit message (Collapse)AuthorLines
2012-01-27Move various trans_ modules under a trans:: umbrella moduleMarijn Haverbeke-985/+0
Closes #1304
2012-01-27Stop passing spans to middle::trans functions that don't need themMarijn Haverbeke-16/+13
Removes a bunch of (eventually) unused arguments. Makes span passing to debuginfo explicit, instead of relying on the (usually incorrect) spans held in the contexts. Closes #1439
2012-01-26Remove ty_native_fnMarijn Haverbeke-2/+2
It was being used as a clumsy synonym of ty_fn.
2012-01-23s/block()/fn()/gNiko Matsakis-2/+2
2012-01-21migrate size_of() and related funcs from trans into shapeNiko Matsakis-1/+1
2012-01-19rustc: ";" to "," in enumsPatrick Walton-4/+4
2012-01-19rustc: "tag" -> "enum"Patrick Walton-1/+1
2012-01-19treat fn*() as fn&()Niko Matsakis-2/+1
This is not my ideal way of going about things. I'd prefer not to have expressions typed as fn*(), for example, but I couldn't get that to work together with inferring the modes of arguments and other corner cases.
2012-01-19Remove support for the '.' after a nullary tag in a patternTim Chevalier-5/+5
(Commit also includes lots of changes to remove '.'s that a git merge messed up, or else it was monkeys.)
2012-01-18Remove '.' after nullary tags in patternsTim Chevalier-45/+45
Does what it says on the tin. The next commit will remove support for this syntax.
2012-01-18remove align_mode and rewrite GEP_tup_like to align correctlyNiko Matsakis-1/+2
Although the old version of GEP_tup_like was incorrect in some cases, I do not believe we ever used it in an incorrect fashion. In particular, it could go wrong with extended index sequences like [0, 1, 3], but as near as I can tell we only ever use it with short sequences like [0, i].
2012-01-18correct use of GEP_tup_like in closure constrNiko Matsakis-22/+27
also, streamline type_is_tup_like() to the cases which actually work
2012-01-19rustc: Use integer from ctypes consistentlyHaitao Li-3/+4
2012-01-19Use ctypes in native function declarationsHaitao Li-2/+2
2012-01-13distinguish "any closure" and "stack closure" (block)Niko Matsakis-0/+2
2012-01-13deprecate fn exprs and the fn() type, preferring fn@ and native fnNiko Matsakis-1/+1
2012-01-13Obj system? What obj system?Marijn Haverbeke-2/+2
Removes the obj system from the compiler. Closes #1484
2012-01-13Remove all remaining uses of objs from the compilerMarijn Haverbeke-1/+1
2012-01-12add tydescs into shape, rewrite walk_fn_contents()Niko Matsakis-9/+1
2012-01-12Make driver::session::session no longer an objectMarijn Haverbeke-1/+1
Rather, it is now a struct where properties like opts are accessed directly, and the error-reporting methods are part of a static impl (with the same name as the type).
2012-01-10replace lambda with fn@Niko Matsakis-2/+2
2012-01-10rename sendfn to fn~, lambda to fn@Niko Matsakis-37/+29
2012-01-09Remove proto_sugar and 'lambda' as keyword, commit to fn@.Graydon Hoare-5/+5
2012-01-08modify last use to take into account cap clause, add new testNiko Matsakis-1/+19
2012-01-06choose a new arbitrary valueNiko Matsakis-2/+2
2012-01-06plug leak: free shared type descrs recursively, as we ought toNiko Matsakis-1/+2
2012-01-06hack the tydesc that is registered with a malloc to be what cc expectsNiko Matsakis-22/+47
2012-01-06fix how we walk functions to match new closure fmtNiko Matsakis-3/+8
2012-01-06rejigger impl to have an opaque closure ptr rather thanNiko Matsakis-183/+335
opaque closure
2012-01-06emit the take glue for closure tydescsNiko Matsakis-0/+1
2012-01-06simplify task implNiko Matsakis-1/+1
2012-01-06Make binding of fns with bounded type parameters workMarijn Haverbeke-3/+9
Interns non-static dicts to heap-allocated equivalents so that they no longer have stack scope. Closes #1436
2012-01-04Use the right types for methods in trans_implMarijn Haverbeke-2/+0
This prevents misalignment between function and argument types in corner cases.
2012-01-03More work on translating dictionary-passingMarijn Haverbeke-36/+80
Reached a point where simple uses of interfaces without bounds work. Issue #1227
2012-01-02Box arrays of parameter boundsMarijn Haverbeke-2/+2
2012-01-02Pass bounds to trans::type_of_fnMarijn Haverbeke-13/+10
2011-12-29split proto from fn_decl, as not all fn_decls know the proto.Niko Matsakis-2/+3
this will address the (crashing) new test added.
2011-12-23Use the same type of record in ty::ty_fn and ty::methodMarijn Haverbeke-4/+4
Removes some more code duplication.
2011-12-22Unify some data structures in syntax::ast that were doing the same thingMarijn Haverbeke-5/+7
As a preparation to removing some duplication in typeck.
2011-12-19implement capture clauses (move, in particular) and integrateNiko Matsakis-46/+96
them into type state and so forth
2011-12-19when collecting free vars, track the span where it is used tooNiko Matsakis-8/+8
2011-12-19Fix merge error and rebasing changes for debug information.Josh Matthews-0/+1
2011-12-16revoke cleanup of sendable closure once construction completesNiko Matsakis-0/+1
2011-12-16rename iter2 to iteri to match typical conventionNiko Matsakis-3/+3
2011-12-16reorder args to the various vec, option fns so blk comes lastNiko Matsakis-1/+1
2011-12-16Make uses of self in impls compileMarijn Haverbeke-2/+2
Get rid of expr_self_call, introduces def_self. `self` is now, syntactically, simply a variable. A method implicitly brings a `self` binding into scope. Issue #1227
2011-12-15restore old buggy behavior where n_obj_params is always 0 for fnsNiko Matsakis-1/+9
2011-12-15massive refactor of how closures workNiko Matsakis-166/+425
2011-12-15resurrect tps_fn() and put it to use this time.Niko Matsakis-1/+2
2011-12-14remove unused tps_fn(); comment out unused varNiko Matsakis-1/+1