Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
Illegal type selection from volatile type null in return type projection #6042
The code below worked in 2.9.2 but not in 2.10.0-M4.
This issue seems to be a blocker, because the coder has to go to 2.10 for TypeTag, because there is another problem in which Manifest is too limited.
The associated thread of this issue is:
I have narrowed the code below. If I narrow it further then I get errors in 2.9.2 too, so this is the minimal representative (I assume, because I don't know if semantically that statement is true, I don't understand this kind of type level programming) and maybe can be used as unit test. However use the project EDSL as regression test, because there might be some other issue connected that can popup and then is useless for the original coder.
@retronym said (edited on Jul 8, 2012 1:08:40 PM UTC):
It will now issue:
t6042.scala:7: error: illegal type selection from volatile type a.OpSemExp (with upper bound LazyExp[a.OpSemExp] with _$1)
DaveScala (davescala) said:
did make the error go away and then projecting on Val is possible.
But is the type selection volatile because of type erasure?
is not allowed.
Probably the type parameter This is volatile because of type erasure.
@retronym said (edited on Jul 8, 2012 2:11:25 PM UTC):
Dependent method types might offer a solution here. It would be best to move further discussion to the mailing list.
(Closed as "not a bug" because the type error is correct, the error message itself was buggy and has been fixed)