-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Add augment clauses #4043
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
Closed
Closed
Add augment clauses #4043
Changes from all commits
Commits
Show all changes
34 commits
Select commit
Hold shift + click to select a range
876ba16
Add opaque types: parsing & pickling
odersky 49d59d1
Store opaque info in annotation
odersky a9ae016
Keep track of opaque companion links
odersky d8faef8
Maintain companion aliases as GADT bounds
odersky 4643971
Test cases
odersky 36d5373
Allow for higher-kinded opaque types
odersky 08d3b3c
Handle higher-kinded comparisons involving GADTs
odersky 82d9261
Change companion detection scheme
odersky 35ded60
Eliminate boxing for opaque types
odersky 1e9f806
Make OpaqueAlias and LinkedType special classes
odersky 52d0a37
Make implicit scope include companion objects of opaque types
odersky 1a522f3
Add reference documentation
odersky 9333219
Fix test
odersky 929e4a3
Fix indentation
odersky d191092
Treat companions of opaque types specially
odersky 30c39db
Replace annotation extractor with access methods
odersky d4e079c
Simplify companion scheme
odersky 827534a
add test
odersky 33cd1ef
Add augment clauses
odersky fb37b7f
Allow for `type id` in type patterns
odersky 1c13524
Convert tests to use new type pattern syntax
odersky 7cc1e37
Base augment syntax on type patterns
odersky 8dd9be5
Fix typo
odersky f18245d
Make annotation names compilation-order independent
odersky 7ace3d7
Require that non-extending augments only add extension methods
odersky f338416
Implement extension methods as implicit value classes
odersky 4dd12d3
Partially fix idempotency of static method order
nicolasstucki f83d333
Allow labels naming an augment
odersky 1d61128
Use semantic names for augmentations
odersky f37611d
Add regression test for idempotency issue on static methods
nicolasstucki d7570e2
Add docs for extension methods
odersky a0e6eb7
More docs for augmentations
odersky 02f9f7c
Remove duplicate test
odersky 8f1f0f0
Fix typos
odersky File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or 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 hidden or 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 hidden or 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 hidden or 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 hidden or 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 hidden or 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 hidden or 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.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is still using brackets unlike the proposed docs which use parens.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, the brackets are EBNF syntax brackets here. Feel free to change to a better notation.