diff --git a/docs/metatable-type-functions.md b/docs/metatable-type-functions.md index 87cef09..d5e8f58 100644 --- a/docs/metatable-type-functions.md +++ b/docs/metatable-type-functions.md @@ -22,8 +22,6 @@ local clock = {} type Identity = setmetatable<{ time: number }, { __index: typeof(clock) }> ``` -If the second argument of the type function isn't a table, then it should error. - ### `getmetatable` Type Function [Issue #1435](https://github.com/luau-lang/luau/issues/1435) is caused by a lack of special behavior for `getmetatable` when the type's metatable has a `__metatable` field. This is fixable in a variety of ways, however a type function has multiple benefits and exposes more type-level expression for users. It fits in nicely with the new solver, as type functions are a cleaner alternative to magic functions. @@ -45,6 +43,7 @@ type Identity = setmetatable<{ When a non-table type (number, boolean) is passed into the type function, it should result in an error. This includes classes. If the type is an intersection or union of tables, then the metatable should be applied to every component type. +If the second argument of the type function isn't a table, then it should error. ### `getmetatable` Type Function