Module Final
A convenience module to create a final version of a type, for the purposes of extending it in a parameterized module, without having to define a new final alias of that type.
module MyModule<...> {
// Using this module:
class MyExpr extends Final<Expr>::Type { ... }
// Ordinary behavior:
// Error: cannot extend types outside the current parameterized module
class MyExpr extends Expr { ... }
// Ordinary behavior:
// Workaround: define a new final alias of the type
class FinalExpr = Expr;
class MyExpr extends FinalExpr { ... }
}
Import path
import qtil.parameterization.FinalizeAliases
| Type | The class to extend, i.e., |