about summary refs log tree commit diff
path: root/src/rustc/middle
AgeCommit message (Collapse)AuthorLines
2012-06-06add pure, copies to livenessNiko Matsakis-7/+7
2012-06-06move check_const to dvecNiko Matsakis-4/+5
2012-06-06move borrowck to dvec, insert a few minor copiesNiko Matsakis-18/+22
2012-06-06distinguish by-val passes of pointer and non-pointer thingsNiko Matsakis-1/+8
2012-06-06exempt unsafe ptrs from by-val checksNiko Matsakis-1/+3
2012-06-06Do some cleanup of the allocation code.Michael Sullivan-49/+42
2012-06-06Change subtypes_require to handle class fields correctlyTim Chevalier-5/+2
2012-06-06Revert "Revert "Forbid classes with no fields" due to test failures"Tim Chevalier-0/+6
This reverts commit e56a6e8cb0ca2be26bb71918447459865803a630.
2012-06-06Revert "Revert "Merge pull request #2516 from mozilla/incoming" due to failures"Tim Chevalier-100/+21
This reverts commit 9fae95860de510f6874810cf43efb83f101246ef.
2012-06-05In reachability, visit class ctorsTim Chevalier-0/+4
2012-06-05Dereference classes with dtors only on a field accessTim Chevalier-14/+14
A class with a dtor has a different representation (a pair of a bit field and a pointer to the class itself), and previously, the trans code was selecting out the second field on any reference to a variable whose type was a class with a dtor. This turned out to be wrong in the case where a closure captures a variable with such a type. Changed the code to only insert the field selection on a class field access.
2012-06-05Allow classes with dtors to be used before declarationTim Chevalier-17/+22
get_item_val could generate an internal compiler error if a class with a dtor was used before the class itself got translated, because it was assuming that the dtor's node ID was always in the item_symbols table. Fixed it to create a new symbol if necessary, and use it subsequently.
2012-06-05rustc: Put uniques into addrspace 1Brian Anderson-4/+11
2012-06-04Make "no implicit copies" diagnostics controllable through lint settings. ↵Michael Sullivan-17/+27
Closes #2503.
2012-06-04Make vecs/strs not implicitly copyable by default, but make it configurable. ↵Michael Sullivan-7/+30
Closes #2450.
2012-06-04Fix lint's handling of multiple warn attributes...Michael Sullivan-1/+1
2012-06-04Machine types are different from int/uint, etc (Issue #2187)Eric Holk-5/+14
2012-06-04handle fixed-length vecs in borrowck categorizationNiko Matsakis-19/+36
2012-06-04Get rid of warnings from instantiating typarams with non-implicitly copyable ↵Michael Sullivan-0/+1
types.
2012-06-04Warn when invoking polymorphic functions with non copyable types. Closes #2466.Michael Sullivan-15/+45
2012-06-04Heavily rework lint infrastructure. Split it into two passes: one that ↵Michael Sullivan-104/+105
builds the table and one that does the checks. Build the table early and make session know about it fo reasy use.
2012-06-04better support for classes with polymorphic methodsNiko Matsakis-58/+32
2012-06-04Make how lint handles unknown warn directives configurable by lint (default ↵Michael Sullivan-10/+20
to warn). Closes #2480.
2012-06-04Provide mechanisms to inspect warning settings from outside lint.Michael Sullivan-10/+44
2012-06-03prohibit type parameters in native fns and other minor fixesNiko Matsakis-69/+77
trans now can safely assert that it never sees a type param
2012-06-02make vec fns/methods take imm slices.Niko Matsakis-2/+3
this also repairs the unsoundness in typing of unpack_slice, which was silently converting a const ptr to an imm one.
2012-06-02Add ty_var_integral (WIP on issue #1425).Lindsey Kuper-34/+74
2012-06-02Allow rcvrs to be borrowed; check rcvrs in borrowck properlyNiko Matsakis-86/+211
2012-06-02improve borrowck to handle some frankly rather tricky casesNiko Matsakis-43/+141
- receivers of method calls are also borrowed - by-val arguments are also borrowed (needs tests) - assignment to components can interfere with loans
2012-06-01Check that classes are instantiableTim Chevalier-0/+2
that is, check that there aren't any mutually recursive cycles between classes and other types
2012-06-01Make sure classes with dtors are still sendable (but not copyable)Tim Chevalier-1/+5
2012-06-01Comment only: fix typoTim Chevalier-1/+1
2012-06-01Enforce rule that classes with dtors aren't copyableTim Chevalier-3/+13
The test for this is copy-a-resource.
2012-06-01Change type_needs_drop to say that any class w/ a dtor needs a dropTim Chevalier-4/+7
This was preventing dtors from running for class types that didn't have pointer fields.
2012-06-01Don't try to compute kinds of fictitious types. Indicate a bug instead.Michael Sullivan-7/+4
2012-06-01break up borrowck into modules and begin to document how it worksNiko Matsakis-1559/+1737
2012-05-31Have lint build up a table of the warning settings on a per item basis for ↵Michael Sullivan-2/+22
later use.
2012-05-31Time lint in the driver like every other pass, instead of in lint.Michael Sullivan-20/+7
2012-05-31Make lint properly deal with nested items. Closes #2473.Michael Sullivan-11/+20
2012-05-31Rework lint to copy lint mode maps when changing them.Michael Sullivan-16/+30
2012-05-31Switch lint over to using a smallintmap.Michael Sullivan-6/+19
2012-05-31Remove some dead code from kind checking.Michael Sullivan-5/+1
2012-05-31rustc: Use fewer boxes in typestateBrian Anderson-12/+12
2012-05-31allow mutable vectors and so forth to be used as immutable slicesNiko Matsakis-58/+88
2012-05-31Allow some resources to be considered const.Eric Holk-1/+4
2012-05-31Merge remote-tracking branch 'brson/self-describing-uniques'Brian Anderson-104/+221
Conflicts: src/snapshots.txt
2012-05-30rustc: Do less work still in typestateBrian Anderson-46/+52
2012-05-30rustc: Remove debug loggingBrian Anderson-2/+0
2012-05-30rt: Remove upcall_shared_malloc/free/reallocBrian Anderson-19/+3
2012-05-30rustc: Remove the last use of upcall_shared_mallocBrian Anderson-2/+2