diff --git a/rfcs/config-luaurc.md b/rfcs/config-luaurc.md index 170142a..b321b94 100644 --- a/rfcs/config-luaurc.md +++ b/rfcs/config-luaurc.md @@ -1,5 +1,7 @@ # Configure analysis via .luaurc +**Status**: Implemented + ## Summary Introduces a way to configure type checker and linter using JSON-like .luaurc files diff --git a/rfcs/function-table-freeze.md b/rfcs/function-table-freeze.md index a99da64..47de0f9 100644 --- a/rfcs/function-table-freeze.md +++ b/rfcs/function-table-freeze.md @@ -2,6 +2,8 @@ > Note: this RFC was adapted from an internal proposal that predates RFC process +**Status**: Implemented + ## Summary Add `table.freeze` which allows to make a table read-only in a shallow way. diff --git a/rfcs/generic-functions.md b/rfcs/generic-functions.md index 1e9add9..59ec2d4 100644 --- a/rfcs/generic-functions.md +++ b/rfcs/generic-functions.md @@ -1,5 +1,7 @@ # Generic functions +**Status**: Implemented + ## Summary Extend the syntax and semantics of functions to support explicit generic functions, which can bind type parameters as well as data parameters. diff --git a/rfcs/recursive-type-restriction.md b/rfcs/recursive-type-restriction.md index eb9b212..6f69d43 100644 --- a/rfcs/recursive-type-restriction.md +++ b/rfcs/recursive-type-restriction.md @@ -1,5 +1,11 @@ # Recursive type restriction +**Status**: Implemented + +## Summary + +Restrict generic type aliases to only be able to refer to the exact same instantiation of the generic that's being declared. + ## Motivation Luau supports recursive type aliases, but with an important restriction: diff --git a/rfcs/syntax-if-expression.md b/rfcs/syntax-if-expression.md index c900409..9fc8556 100644 --- a/rfcs/syntax-if-expression.md +++ b/rfcs/syntax-if-expression.md @@ -2,6 +2,8 @@ > Note: this RFC was adapted from an internal proposal that predates RFC process +**Status**: Implemented + ## Summary Introduce a form of ternary conditional using `if cond then value else alternative` syntax. diff --git a/rfcs/unsealed-table-assign-optional-property.md b/rfcs/unsealed-table-assign-optional-property.md index 78f674a..ed037b1 100644 --- a/rfcs/unsealed-table-assign-optional-property.md +++ b/rfcs/unsealed-table-assign-optional-property.md @@ -1,5 +1,7 @@ # Unsealed table assignment creates an optional property +## Summary + In Luau, tables have a state, which can, among others, be "unsealed". An unsealed table is one that we are still constructing. Currently assigning a table literal to an unsealed table does not introduce new @@ -53,4 +55,4 @@ and so needs access to an allocator. ## Alternatives Rather than introducing optional properties, we could introduce an indexer. For example we could infer the type of -`t` as `{ u: { [string]: number } }`. \ No newline at end of file +`t` as `{ u: { [string]: number } }`.