mirror of
https://github.com/luau-lang/rfcs.git
synced 2025-04-10 13:30:55 +01:00
Add reasoning for not preferring type-pack union syntax
This commit is contained in:
parent
4f3753df13
commit
97f738eaf0
1 changed files with 1 additions and 3 deletions
|
@ -104,18 +104,16 @@ local success, result = pcall(mrow, "cat food", ":3")
|
|||
## Alternatives
|
||||
|
||||
Allow for type pack unions to be written by developers, with the syntax probably looking like this:
|
||||
|
||||
```luau
|
||||
local function mrow(meow: string, mrrp: string): (true, string) | (false, nil)
|
||||
-- code here
|
||||
end
|
||||
```
|
||||
|
||||
With this example breaking backwards compadibility with some types developers may have written already, as today the following is allowed:
|
||||
|
||||
```luau
|
||||
-- inferred as: ((meow: string, mrrp: string) -> (true, string)) | false
|
||||
type mrrp = (meow: string, mrrp: string) -> (true, string) | false
|
||||
```
|
||||
Although it should be mentioned that result types are the only valid usecase for type pack unions, and just having a result type would remove a potential footgun of someone using type pack unions for something thats not a result type.
|
||||
|
||||
Do nothing, and leave it up to developers if they want to write overloaded functions, or make their own result type.
|
||||
|
|
Loading…
Add table
Reference in a new issue