-
Notifications
You must be signed in to change notification settings - Fork 32
Type Selection #219
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
Type Selection #219
Conversation
Not included in this PR:
|
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.
I just noticed that I have old review comments pending that I never submitted; releasing them now.
@@ -28,7 +28,7 @@ abstract class Test[C] { | |||
// * Represents what happens in "... ${input} ..." when a binding of C is in scope | |||
fun unquote: (input: Code['a, C | 'c]) -> Code[Int, 'c] | |||
fun getVar: Code[Int, C] | |||
fun test0 = this.unquote of IntLit(1) | |||
fun test0 = this.unquote of (IntLit(1) : Code['ia, 'ic]) // ? why ascription works here |
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.
Why the weird change?
//│ class C(x: Int, y: Str) | ||
|
||
|
||
:d |
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.
Debug trace left here...
Thanks for the great work! However, as you know, we've moved to a new version of the compiler, which will have a brand new type checker implementation. So while your PR is useful for future reference when we reimplement similar features in the new compiler (I will add a tag to that effect), it's probably not worth fixing the merge conflicts with the old type checker. |
Changes:
Foo[type A extends L restricts U]
x.A
as
operator?