summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2016-12-27MIR Gen - Add support for capturing rest of slice patternsJohn Hodge3-12/+62
2016-12-27MIR Check - Prevent excessive memory usageJohn Hodge1-6/+22
2016-12-27MIR Gen - Misc fixesJohn Hodge3-27/+60
2016-12-27MIR Gen - Better handling of split scopes (optional init)John Hodge4-161/+194
2016-12-27HIR Typecheck Expr - Propagate coercions applied to blocks to the inside of ↵John Hodge1-17/+50
the block
2016-12-25Merge branch 'master' of https://github.com/thepowersgang/mrustcJohn Hodge142-9739/+9738
2016-12-25MIR Gen - Misc fixes for drop order quirksJohn Hodge3-2/+12
2016-12-24No more tears!ubsan142-9739/+9739
No more DOS line endings or trailing whitespace either
2016-12-24MIR Gen - Fix some bugs exposed by extended validationJohn Hodge4-5/+28
2016-12-24MIR Check - VarState past switchJohn Hodge1-1/+4
2016-12-24MIR Gen - Fix double-drop of InnerMoved variablesJohn Hodge1-0/+1
2016-12-24HIR/MIR Dump - Minor fixesJohn Hodge2-2/+11
2016-12-24Trans C - Box drops (deep and shallow)John Hodge1-16/+57
2016-12-24Trans - Generate Box destructorsJohn Hodge4-4/+34
2016-12-24Trans C - Fix some bad atomicsJohn Hodge1-0/+8
2016-12-24MIR Gen - Raise values from LValue::DerefJohn Hodge1-0/+6
2016-12-24MIR Gen - Better scoping for single-arm matchesJohn Hodge1-5/+19
2016-12-24HIR Expand Closures - Handle closures called from other closuresJohn Hodge3-8/+33
2016-12-23MIR Gen - Shortcut in `let` handling to remove a useless temporaryJohn Hodge1-4/+10
2016-12-23MIR Gen - Track split state for temporaries (incomplete)John Hodge4-72/+239
2016-12-23HIR Expand Closures - Place move closure handling to before upwards propagationJohn Hodge2-11/+17
2016-12-22MIR Gen - (minor) Span in destructorJohn Hodge1-2/+1
2016-12-21MIR Check - Extended validation based on value stateJohn Hodge1-7/+151
2016-12-21MIR Gen Match - Drop temporaries from match arms within the armJohn Hodge1-2/+7
2016-12-21MIR Gen Match - Correct types for bytestring comparisonJohn Hodge1-2/+4
2016-12-18MIR Check - Structure for checking variable validityJohn Hodge1-1/+124
2016-12-18Trans C - Reduce size of generated code a littleJohn Hodge1-9/+13
2016-12-18HIR - Move closuresJohn Hodge7-13/+26
2016-12-18Trans C - Emit `->` instead of `(*val).`John Hodge1-2/+2
2016-12-18MIR Gen - Tweak block handling to reduce bugsJohn Hodge1-27/+19
2016-12-18MIR Gen - Prevent returned values from being droppedJohn Hodge3-18/+164
2016-12-18Trans C - Extra intrinsics and destructor fixJohn Hodge1-2/+43
2016-12-18Trans Enumerate - Expand associated when enumerating typesJohn Hodge1-2/+5
2016-12-18HIR Annotate Usage - Only need shared access to deref a raw pointerJohn Hodge1-0/+5
2016-12-18HIR Typecheck - Fix some deficiencies in static typecheckJohn Hodge3-13/+31
2016-12-18Trans - Enumerate drop impls (broken)John Hodge4-211/+303
2016-12-18HIR Markings - Store presense of a Drop implJohn Hodge5-0/+15
2016-12-18MIR Gen - Ensure that function return values are droppedJohn Hodge3-27/+42
2016-12-18Trans C - Rough destructorsJohn Hodge2-2/+166
2016-12-18HIR - Move VTable construction to codegenJohn Hodge8-1/+94
2016-12-18Trans Enumerate - Allow enum tuple variant constructors as functionsJohn Hodge1-0/+5
2016-12-18HIR Reborrow - Handle reborrow inside _UnizeJohn Hodge1-0/+4
2016-12-17MIR Cleanup - Handle enum constantsJohn Hodge1-1/+32
2016-12-17MIR Const Eval - Handle field accessesJohn Hodge1-35/+60
2016-12-17Trans C - Fix ordering in memcpy/memmoveJohn Hodge1-5/+12
2016-12-17Main - Set arch to x86_64John Hodge1-1/+1
2016-12-17MIR Gen - Unlink return block from diverging functions (enables better ↵John Hodge1-1/+17
optimisations)
2016-12-17MIR Optimisation and efficiency tweaksJohn Hodge2-3/+79
2016-12-17Trans C - Handle bool invertingJohn Hodge1-1/+14
2016-12-17HIR Deserialise - Fix bad decoding of signed 64-bit valuesJohn Hodge1-1/+1