summaryrefslogtreecommitdiff
path: root/Notes/todo.txt
blob: 35526889e52260d84698f0e6ab34912aa622c491 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
TODO:
- Get all run-pass and run-fail tests passing resolve
 - Lots of fixes to do here
- Audit TODOs in codebase
- MIR Optimisations
 - Dead code eliminiation
 - Remove variables that are just assigned from arguments
- Convert enum variants to point to structs for the data type
 - Four types of variants: Unit, Value, Tuple1, Composite
  - TODO: Have value enums be a different structure to data enums
  - Tuple1 is a special case to reduce the cost of Some/Ok/Err/...
 - This may have to wait for a rustc RFC? (or can hide the structs for now)
- Clean up Span code to correctly handle nested spans
- Clean up AST
 - Almost done, just a few little niggles left
- Split arg patterns and arg types up for cleaner serialisation
 - Could be a good idea to do as part of changing HIR::TraitImpl to only contain the impl data
 - May not be too useful due to argument monomorphisation.
- Optimise typecheck.


- MIR: Add a Parameter type that is either LValue, Constant
 > For any place a LValue is currently used, but a constant is valid