generated from TBD54566975/tbd-project-template
-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for type aliases #1238
Comments
Open
matt2e
added a commit
that referenced
this issue
May 16, 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
For type safety it's often convenient to be able to have distinct types that alias an existing type such as strings or ints.
eg.
I don't know how/if these are representable in Kotlin?
The text was updated successfully, but these errors were encountered: