-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Remove empty tree after erasure to pass -Ycheck:all #2415
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
Conversation
Hmm, I'm not sure all phases are |
There are some phases that are not ycheckable(most notably late phases) but
I don't see why erasure will not be.
…On 12 May 2017 10:18:36 Felix Mulder ***@***.***> wrote:
Hmm, I'm not sure all phases are `Ycheck`able anyway, @DarkDimius ?
--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
#2415 (comment)
|
Ok, then LGTM :) |
Thanks @felixmulder @DarkDimius . I just added |
Hmm, |
Thanks @felixmulder. It's good to know. I just retracted the last commit. |
Why isn't it ycheckable? It does participate in subtyping, etc
…On 12 May 2017 11:24:40 Felix Mulder ***@***.***> wrote:
```
override final def toString$extension($this: ErasedValueType(Test.Bar,
ErasedValueType(Test.Foo, String))): String =
"".+(new Test.Foo(Test.Foo.evt2u$(new Test.Bar(Test.Foo.u2evt$($this)).f())))
override final def hashCode$extension($this: ErasedValueType(Test.Bar,
ErasedValueType(Test.Foo, String))): Int =
Test.Foo.hashCode$extension(new Test.Bar(Test.Foo.u2evt$($this)).f())
override final def equals$extension($this: ErasedValueType(Test.Bar,
ErasedValueType(Test.Foo, String)), x$0: Object)
:
Boolean =
{
case val selector2: Object = x$0
{
def case3(): Boolean =
{
def case4(): Boolean =
{
def matchFail2(): Boolean = throw new MatchError(selector2)
if selector2.isInstanceOf[Object] then
```
Hmm, `ErasedValueType` - instinctly looks like that's not `Ycheck`-able
--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
#2415 (comment)
|
"Intuitively" => "Haven't looked at it too much, still trying to help" |
Merging this and tracking the status via: #2430 |
A simple fix to make sure that empty trees are removed after erasure. This avoids exception with
-Ycheck:all
.This problem doesn't occur in the test set because we didn't enable
-Ycheck:erasure
and the empty trees are accidentally removed in the next phase.@felixmulder Do you think it makes sense to
-Ycheck:erasure
on all tests?