| 364e2346 |
refactor(lang): unify core type representation |
Alexis Sellier |
|
| b5fc83f3 |
feat(lang): Generalize core types (WIP) |
Alexis Sellier |
|
| 3225bfc0 |
refactor(lang): Share generic type substitution |
Alexis Sellier |
|
| a0848143 |
perf(lang): Narrow speculative parser snapshots |
Alexis Sellier |
|
| 88ab8cc1 |
perf(lang): Skip ordinary type-use recording |
Alexis Sellier |
|
| 79ddbf6b |
perf(lang): Gate generic type-use checks |
Alexis Sellier |
|
| a45e090d |
perf(lang): Skip ordinary type specialization |
Alexis Sellier |
|
| f673b523 |
perf(lang): Reuse generic data arguments |
Alexis Sellier |
|
| 69f1402c |
perf(lang): Reuse generic specialization arguments |
Alexis Sellier |
|
| fccaefc7 |
perf(lang): Reuse generic dependency arguments |
Alexis Sellier |
|
| 5d2b63a3 |
perf(lang): Intern generic dependencies once |
Alexis Sellier |
|
| 067b5f48 |
perf(lang): Defer generic signature substitution |
Alexis Sellier |
|
| 2ef85b93 |
lang: Document explicit generics |
Alexis Sellier |
|
| 1e75c95d |
std: Adopt explicit generics |
Alexis Sellier |
|
| 28caf3e9 |
lang: Implement explicit generics |
Alexis Sellier |
|
| c7ed103c |
bootstrap: Accept explicit generic delimiters |
Alexis Sellier |
|
| d60282c5 |
lang: Recognize explicit generic delimiters |
Alexis Sellier |
|
| 1e2fdea9 |
test: Exercise linear type syntax |
Alexis Sellier |
|
| 68c6e83a |
lang: Lower linear references |
Alexis Sellier |
|
| d45ecf68 |
lang: Prepare linear ownership |
Alexis Sellier |
|
| 8ed9e8cc |
lang: Parse linear and pointer types |
Alexis Sellier |
|
| 6bcd1af1 |
Expose memory ordering to safe code |
Alexis Sellier |
|
| b58290fa |
Encode full memory fences |
Alexis Sellier |
|
| c50805e1 |
lang: Simplify compiler |
Alexis Sellier |
|
| a6544dc6 |
lang: Parse subscripts in normal context |
Alexis Sellier |
|
| 8bbc22f3 |
lang: Parse array elements in normal context |
Alexis Sellier |
|
| 0268ebd6 |
lang: Infer literal-first comparison types |
Alexis Sellier |
|
| 94e18aa5 |
lang: Treat optional wildcards as exhaustive |
Alexis Sellier |
|
| 168352d2 |
lang: Preserve folded shift count signs |
Alexis Sellier |
|
| 30590736 |
rv64: Canonicalize subword divisors |
Alexis Sellier |
|
| 261f5d9f |
lang: Fold signed right shifts arithmetically |
Alexis Sellier |
|
| deffec0a |
lang: Mask folded shift counts by width |
Alexis Sellier |
|
| 98956983 |
bitset: Compare common words directly |
Alexis Sellier |
|
| b9413ac4 |
regalloc: Fuse mapping lookup and removal |
Alexis Sellier |
|
| 151d50c0 |
regalloc: Avoid rescanning current operands |
Alexis Sellier |
|
| 64c08de4 |
mem: Short-circuit identical slices |
Alexis Sellier |
|
| 69f92d23 |
scanner: Avoid recomputing consumed index |
Alexis Sellier |
|
| 438a079f |
lang: Fold unsigned division as unsigned |
Alexis Sellier |
|
| ce82565a |
lang: Compare folded unsigned integers correctly |
Alexis Sellier |
|
| f4bf6de1 |
Lower compound assignment lvalues once |
Alexis Sellier |
|
| 981d1c20 |
lang: Parse signs as unary operators |
Alexis Sellier |
|
| 63b36bd5 |
Resolve coerced throw types |
Alexis Sellier |
|
| 565d1863 |
rv64: Reject unsafe spilled block arguments |
Alexis Sellier |
|
| e4622019 |
Fix `if let` binding scope in else branches |
Alexis Sellier |
|
| 613aadce |
Resolve wildcard types before function signatures |
Alexis Sellier |
|
| 236ff54e |
Fix optional record value patterns |
Alexis Sellier |
|
| 79c00690 |
Snapshot aggregate arguments before later evaluation |
Alexis Sellier |
|
| 17ba6e34 |
Resolve optional match bindings by reference |
Alexis Sellier |
|
| c53c6e50 |
Lower references to array repeat literals |
Alexis Sellier |
|
| 4c8e3fc8 |
Preserve wildcard import symbol ownership |
Alexis Sellier |
|