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
New warnings prevent absolute 2.10 compatibility under -Xfatal-warnings #7195
Comments
Imported From: https://issues.scala-lang.org/browse/SI-7195?orig=1 |
@JamesIry said (edited on Feb 28, 2013 5:16:07 PM UTC): Another option is to add some mechanism for suppressing the warnings. That's not going to be forward binary compatible because Settings leaks into the public API via reflect. A third option is to not guarantee compatibility under -Xfatal-warnings What's probably not an option is to fix the underlying issues being warned about in an RC. For the first warning we don't even know what the fix is but we know it involves some deeply bad stuff happening in the compiler that's been happening at least since 2.9. It's very likely that fixing it would break compatibility. Fixing the second would absolutely break compatibility. |
@JamesIry said: |
@som-snytt said: where the past is understood to extend to the last major release, ignoring all other evolutionary history, as one does when counting the generations to Adam. |
@JamesIry said: |
@JamesIry said (edited on Feb 28, 2013 7:18:15 PM UTC): |
@retronym said (edited on Feb 28, 2013 9:58:38 PM UTC):
|
@JamesIry said: |
@retronym said: |
@adriaanm said: |
@adriaanm said: |
From Rex Kerr
bq. Note that the change in behavior in 2.10.1 to throw warnings for stuff like
bq. maths/package.scala:1281: warning: class OutlierDist should be placed directly in package maths instead of package object maths. Under some circumstances companion objects and case classes in package objects can fail to recompile. See #5954.
bq. and also
bq. mwt/MultiSensed.scala:143: warning: The outer reference in this type test cannot be checked at run time. final case class NotValid(val i0: Int, val i1: Int) extends Chunk {}
bq. means that I can no longer run with -Xfatal-warnings, which was how I found all the places I needed to import language.whatever; now any new instances will be lost in the screensfull of warnings.
bq. Incidentally, is there a way to make the latter warning go away? I don't want to push the trait and case classes out of the enclosing class since they don't make any logical sense elsewhere and they are class-relative information (despite not linking back to the superclass). But I would like to be able to declare that I don't intend to check that aspect of the type at runtime; compile time is sufficient. (I realize that I could just refer to the enclosing class, but I'd rather avoid the extra field since there will be millions of these things.) If the underlying bug for 5954 is fixed, I'd want to fix these also so I can -Xfatal-warnings again.
The text was updated successfully, but these errors were encountered: