summaryrefslogtreecommitdiff
path: root/src/trans/enumerate.cpp
AgeCommit message (Collapse)AuthorFilesLines
2019-11-03HIR Expand Closures - Move closure prefix to a common locationJohn Hodge1-1/+1
2019-06-22HIR - Wrap impls in unique_ptr to keep pointer stability hackJohn Hodge1-6/+6
2019-06-09HIR - Sort trait impls tooJohn Hodge1-69/+86
2019-06-04HIR - Use maps-of-vectors for impl lists for faster lookup, optimise ↵John Hodge1-116/+165
Trans_Enumerate
2019-06-02MIR - Refactor LValue to reduce size and linked-list-ness (seems to have had ↵John Hodge1-236/+104
a ~10% reduction in memory usage)
2019-05-19All - Switch to using interned (de-duplicated) RcString-s instead of ↵John Hodge1-6/+4
std::string for paths/identifiers
2019-05-14Trans Enumerate - Cache paths used by functionJohn Hodge1-45/+100
2019-05-05MIR - Wrap HIR::Path-s in MIR::Constant in unique_ptrJohn Hodge1-2/+2
2019-04-28Trans Monomorph - Associated constants left as DeferJohn Hodge1-10/+29
2019-04-25MIR - Reduce size of LValue::Static by putting the HIR::Path behind a pointerJohn Hodge1-2/+2
2019-04-25HIR - Add more complete privacy handling (allowing for autoderef to skip ↵John Hodge1-2/+2
private fields)
2019-03-03Trans Enumerate - Add auto clone impl for closures, specialisation fix, and ↵John Hodge1-50/+99
a slight optimisation
2019-02-03HIR - Minimally-tested support for `extern { type }`John Hodge1-9/+7
2019-01-20Trans Enumerate - Ensure that clone impls called by auto clone impl are ↵John Hodge1-2/+23
enumerated
2018-12-30Auto Impls - Automatic delegating impl of Clone for tuplesJohn Hodge1-0/+1
2018-12-29Trans Enumerate - Handle 1.29 having generics on `lang_start`John Hodge1-9/+13
2018-12-29Typecheck/Trans - Handle magic clone impls for 1.29John Hodge1-1/+5
2018-12-22Constant Evaluation - Evaluate missing associated constants with trait impl ↵John Hodge1-0/+3
versions
2018-08-04Trans - Add auto-generated Clone impls (only for Copy types currently)John Hodge1-2/+9
2018-06-03Trans - Fix some minor errors from building with clangJohn Hodge1-0/+5
2018-03-17VTables - Rename vtable static to have the # at the end (helps parsing in mmir)John Hodge1-4/+4
2018-03-17MIR Optimise - Slight cleanup for faster compilesJohn Hodge1-1/+1
2018-03-17Trans - Move monomorphisation from codegen pass to its own pass, and do a ↵John Hodge1-0/+45
second inlining pass after monomorph.
2018-03-03Trans Enumerate - Some work on doing selective library enumeration (has some ↵John Hodge1-42/+53
holes, so is still disabled)
2017-11-04Trans Enumerate - Fix OOB read caused by vtable lookupJohn Hodge1-1/+5
2017-11-04Trans Enumerate - Remove a use of TU_MATCH for better debuggingJohn Hodge1-30/+32
2017-11-01HIR - Refactor enums to only embed a single field (and give variants types)John Hodge1-40/+15
2017-09-23Trans - Only codegen drop impls if neededJohn Hodge1-1/+2
2017-09-10Consteval - Remove BorrowOf in favor of BorrowPath/BorrowDataJohn Hodge1-1/+4
2017-09-10Consteval - Litle tweaksJohn Hodge1-1/+15
2017-08-18Trans - VTable unsizing in statics, emit vtables before staticsJohn Hodge1-3/+7
2017-07-16All - Upgrade to rustc 1.19.0 beta (2017-07-08)John Hodge1-0/+5
2017-07-06MIR - Add (but don't use) a SwitchValue terminatorJohn Hodge1-0/+6
2017-06-16MIR - Unify temporaries and variablesJohn Hodge1-19/+10
2017-04-22MIR - Add ScopeEnd statement to indicate where a value will no longer be usedJohn Hodge1-0/+4
2017-03-26Trans - Handle drop of unsized objectsJohn Hodge1-0/+1
2017-03-12Trans Enumerate - Avoid segfault on auto-trait only vtablesJohn Hodge1-0/+1
2017-03-02MIR Gen - More Param usageJohn Hodge1-1/+3
2017-02-22MIR - Make MakeDst ptr a ParamJohn Hodge1-2/+2
2017-02-22MIR - add Param type for places where a lvalue is readJohn Hodge1-32/+54
2017-02-19Trans - Conditionally emit struct/tuple constructor wrappersJohn Hodge1-0/+1
2017-01-30TODOsJohn Hodge1-1/+1
2017-01-29Trans Enumerate - Handle erased typesJohn Hodge1-2/+22
2017-01-29Trans - Only emit typeid if neededJohn Hodge1-5/+12
2017-01-22Trans - #[start] attributeJohn Hodge1-10/+20
2017-01-21Trans/Expand - #[main] attributeJohn Hodge1-1/+1
2017-01-20MIR - Drop flags (incomplete, doesn't pass validation)John Hodge1-0/+4
2017-01-13Trans - Enumerate types used in any intrinsicJohn Hodge1-3/+2
2017-01-12Trans Enumerate - EAT vtable associted type parametersJohn Hodge1-2/+2
2017-01-11All - Enable library codegen (and use crate name everywhere)John Hodge1-98/+123