about summary refs log tree commit diff
path: root/src/comp/middle/trans_impl.rs
AgeCommit message (Collapse)AuthorLines
2012-01-27Move various trans_ modules under a trans:: umbrella moduleMarijn Haverbeke-432/+0
Closes #1304
2012-01-27Stop passing spans to middle::trans functions that don't need themMarijn Haverbeke-3/+2
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-26First stab at operator overloadingMarijn Haverbeke-10/+27
When no built-in interpretation is found for one of the operators mentioned below, the typechecker will try to turn it into a method call with the name written next to it. For binary operators, the method will be called on the LHS with the RHS as only parameter. Binary: + op_add - op_sub * op_mul / op_div % op_rem & op_and | op_or ^ op_xor << op_shift_left >> op_shift_right >>> op_ashift_right Unary: - op_neg ! op_not Overloading of the indexing ([]) operator isn't finished yet. Issue #1520
2012-01-23s/block()/fn()/gNiko Matsakis-1/+1
2012-01-21issue #1352: change param order on vec::init_elt, putting block in final ↵Graham Fawcett-1/+1
position. To match the init_fn() and init_fn_mut() changes.
2012-01-18Remove '.' after nullary tags in patternsTim Chevalier-1/+1
Does what it says on the tin. The next commit will remove support for this syntax.
2012-01-19rustc: Use integer from ctypes consistentlyHaitao Li-10/+14
2012-01-19Use ctypes in native function declarationsHaitao Li-9/+10
2012-01-13Obj system? What obj system?Marijn Haverbeke-7/+5
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-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-12Implement passing cast-to-vtable values as bounded paramsMarijn Haverbeke-42/+135
Closes #1492
2012-01-11Pass type with params intact as item_type for method calleesMarijn Haverbeke-2/+2
This prevents trans_args from optimizing out nil return types. The method might be generic, in which case it *will* write to a nil retptr.
2012-01-08correct long lineNiko Matsakis-2/+2
2012-01-08First barely-working version of casting to ifaceMarijn Haverbeke-13/+57
Issue #1437
2012-01-06rejigger impl to have an opaque closure ptr rather thanNiko Matsakis-1/+1
opaque closure
2012-01-06Add some basic comments to trans_imp.rsMarijn Haverbeke-0/+30
2012-01-06Make binding of fns with bounded type parameters workMarijn Haverbeke-2/+6
Interns non-static dicts to heap-allocated equivalents so that they no longer have stack scope. Closes #1436
2012-01-06Statically allocate static dictsMarijn Haverbeke-24/+89
Issue #1436
2012-01-06Fix bug in method type parameter passingMarijn Haverbeke-1/+2
It would occasionally pass the wrong type parameter, when calling a generic method from a generic impl on a bounded param type.
2012-01-05Get external interfaces / impls workingMarijn Haverbeke-4/+8
Issue #1227
2012-01-04Use the right types for methods in trans_implMarijn Haverbeke-4/+4
This prevents misalignment between function and argument types in corner cases.
2012-01-04Properly typecheck and compile invocations of generic methods.Marijn Haverbeke-3/+21
Aligning the type parameters of the ifaces, impls, and methods correctly in typeck is almost brain surgery. Seems to work now for everything I threw at it, but might still break in other corner cases. Issue #1227
2012-01-03Make resolution of dictionaries on bounded params workMarijn Haverbeke-1/+3
Issue #1227
2012-01-03More work on translating dictionary-passingMarijn Haverbeke-11/+92
Reached a point where simple uses of interfaces without bounds work. Issue #1227
2012-01-02Write out vtables for interface implementationsMarijn Haverbeke-1/+51
Issue #1227
2012-01-02Drop two useless sub-passes from transMarijn Haverbeke-1/+4
Neither collect_tag_ctors nor the second pass in collect_items needed to be separate passes. Also remove obsolete obj_methods table kludge.
2012-01-02Create a trans_impl moduleMarijn Haverbeke-0/+18