Open evincarofautumn opened 7 years ago
For #156
Move the “linearize” pass immediately after “scope”, so it’s done purely syntactically
Add copy and destroy traits and provide default (no-op) instances for built-in types
copy
destroy
TODO:
Add tests
Derive these traits implicitly or more concisely (CTE?), correctly calling them for fields of ADTs
Requires generic trait instances to work for generic types
Requires trait constraints
The destructor should be called on the scrutinee of a match expression, after the match is complete
match
Add warnings when the presence of a nontrivial destructor would inhibit TCO
For #156
Move the “linearize” pass immediately after “scope”, so it’s done purely syntactically
Add
copy
anddestroy
traits and provide default (no-op) instances for built-in typesTODO:
Add tests
Derive these traits implicitly or more concisely (CTE?), correctly calling them for fields of ADTs
Requires generic trait instances to work for generic types
Requires trait constraints
The destructor should be called on the scrutinee of a
match
expression, after the match is completeAdd warnings when the presence of a nontrivial destructor would inhibit TCO