You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
during schema extraction we add the first data decl we come across in the AST traversal to the module schema. if the same type gets visited transitively later on, we don't update the export visibility if changed. this can result in transitively exported things not appearing in the module stubs
same problem for enums
The text was updated successfully, but these errors were encountered:
deniseli
added
next
Work that will be be picked up next
P0
Work on this now
and removed
triage
Issue needs triaging
next
Work that will be be picked up next
labels
May 9, 2024
#1238
Adds the ability to declare type aliases in modules
```
//ftl:typealias
type UserId string
```
There is a lot of overlap between typealiases and enums. They both
redefine an existing type as a new type, and therefore need to make sure
our schema parsing does not skip this defined type by looking at the
underlying type.
There were also issues if implicit exports, enum cases (and more?) were
encountered in the ast tree before we found the typealias or enum
definition.
This PR solves that by doing an initial pass just to find all typealias
and enum declarations for the module and then doing the normal pass.
Previously typealiases were allowed without any declaration but they
would just fall back to the underlying type.
This PR makes this an error as we do not know if this type should be an
enum or a type alias. We may want to discuss this more.
fixes#1475#1476#1477#1492#1449
during schema extraction we add the first data decl we come across in the AST traversal to the module schema. if the same type gets visited transitively later on, we don't update the export visibility if changed. this can result in transitively exported things not appearing in the module stubs
same problem for enums
The text was updated successfully, but these errors were encountered: