-
-
Notifications
You must be signed in to change notification settings - Fork 5.4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This attempts to improve inference in REPL. There are several pieces:
- type-stable interfaces have beend added for abstract types `REPLCompletions.Completion` and `TerminalMenus.AbstractMenu`, - by defining the `Options` struct prior to creating the `LineEdit` module, we gain the ability to improve many inference results - several methods assume the presence of fields that are not guaranteed for all subtypes. Restrict to subtypes that have the requisite fields. - because REPL is compiled with low optimization settings, to prevent loss of type information it's helpful to declare more types for input arguments on internal methods. - in a couple of places, avoiding Unions makes later steps easier - numerous places still need manual type annotations added
- Loading branch information
Showing
8 changed files
with
191 additions
and
152 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.