You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The rhs of g has type Int before pickling but type Set[Type]#size after pickling.
The problem has to do with avoid. The type of the block before avoid
is ys.toSet.size.type. That type is illegal, because it refers to
the local variable ys. Typer fixes the type to be Int since
that's the expected type anyway. But the unpickler widens the type
to ys.toSet.size.type instead because it does not have an expected type.
The difference is minor and probably harmless for all purposes. But it raises a flag in the diffs. The best way to suppress this is probably by adding a case to PlainPrinter#homogenize to deal with this. But I am unsure what the right rule should be.
The text was updated successfully, but these errors were encountered:
Uh oh!
There was an error while loading. Please reload this page.
Consider:
If we run this with -Ytest-pickler like this:
We get:
The diff is here:
The rhs of
g
has typeInt
before pickling but typeSet[Type]#size
after pickling.The problem has to do with
avoid
. The type of the block before avoidis
ys.toSet.size.type
. That type is illegal, because it refers tothe local variable
ys
. Typer fixes the type to beInt
sincethat's the expected type anyway. But the unpickler widens the type
to
ys.toSet.size.type
instead because it does not have an expected type.The difference is minor and probably harmless for all purposes. But it raises a flag in the diffs. The best way to suppress this is probably by adding a case to PlainPrinter#homogenize to deal with this. But I am unsure what the right rule should be.
The text was updated successfully, but these errors were encountered: