The match expander calls `resolve` during subtyping, which
is a problem for types that recur through the environment like
Struct types because it doesn't coordinate with the cache
for subtyping.
Closes PR 14364
original commit: 7585581f00a40f59d5f29159622a10640cfbdec9
This means new logging lines should not change the numbering of all existing
logs making diffs much cleaner.
original commit: f1b52be26ad8635bfa1d6bfe49e8e36780577a92
This is a temporary fix in the sense that the typed/mred
wrapper that this relies on is incomplete. Once the typed
racket/gui bindings are merged, a more complete
insert-large-letters will be checked in.
Closes PR 14362
original commit: 2295f71dbeb21b8ba3231d25cafb070d0be585dc
This unit test is broken due to an issue with using
the : form for external names in classes. Since : checks
if the id is bound, it doesn't work if there is an internal
name different from the external name (since only the
internal one is in scope in the class body).
Haven't decided whether to put annotations on internal
identifiers instead or to not run the check for class
member names.
original commit: fe811e33aaf50fe68ad2ff14a7c46685a03e1f19
This includes support for positional inits and also
init-rest along with make-object and instantiate.
original commit: 18182d16a615f5ecf7bed5428374010f609bb59e
Still TODO are better error messages when a ClassTop
is encountered for subclassing or instantiation.
original commit: e26742e736f59ebb4beada50dd813105de89948d
This seems to speed up type-checking for some
initializers. The caveat is that it's slightly less
paranoid about type-checking the expansion.
original commit: 03c74a16ff0c9f8707361e0818b37c99ae5d00d9
This change makes serialized types much smaller when large
class types are used for type aliases. This shrunk the zo file
for the gui-types module from 12MB to 220KB.
If large zo files are a problem elsewhere, this may be worth
doing for more types.
original commit: 54bc1732da258f4d1f979fde24c793790b8c50ba
This refactoring saves some lines and reduces the ridiculous
number of arguments for some helper functions. (using a hash
table instead of arguments) This will help for adding type
parameter name scoping later.
original commit: 3c044e23fda47897b77676f5c9d8c9434754581e
Now a class may have a pubment method that has a different
type for being directly called and for being specialized
for inner calls. This is actually necessary to type-check
interesting uses of pubment/augment.
Note that if a class does not provide a type annotation
for the augmentation interface, it will be assumed to be
the same as the pubment type.
original commit: 8ca8eb164205df1850ce677d3e37053712565ed8