Closed scabug closed 12 years ago
Imported From: https://issues.scala-lang.org/browse/SI-6215?orig=1 Reporter: @paulp Affected Versions: 2.10.0 Other Milestones: 2.10.0
@som-snytt said (edited on Sep 28, 2012 5:30:10 PM UTC): Me, too. I'm kind of surprised I was surprised by this bug, i.e., in the balance of fixability and people using a new feature and doing the obvious thing and then it doesn't work. By obvious I mean, I don't want to expose my helper method to impliciting. I also went back to the SIP to see if this is prohibited for some clever reason. (I also built today's scalac, because I see there is lots of recent work to nail down the release. By way of show of support.)
I realize that in Scala there is no expectation of privacy.
object `package` {
/* crashes
implicit class MaybeInt(val s: String) extends AnyVal {
def toInt_? : Option[Int] = if (s.isEmpty) None else convert
private def convert = try { Some(Integer.parseInt(s)) } catch { case _: NumberFormatException => None }
}
*/
/* OK
implicit class MaybeInt(val s: String) extends AnyVal {
def toInt_? : Option[Int] = if (s.isEmpty) None else convert
def convert = try { Some(Integer.parseInt(s)) } catch { case _: NumberFormatException => None }
}
*/
/* OK
implicit class MaybeInt(val s: String) {
def toInt_? : Option[Int] = if (s.isEmpty) None else convert
private def convert = try { Some(Integer.parseInt(s)) } catch { case _: NumberFormatException => None }
}
*/
}
@paulp said: This should have been a blocker, I think.
@odersky said: https://github.com/scala/scala/pull/1427
@adriaanm said: superseded by https://github.com/scala/scala/pull/1442
@gkossakowski said: Fixed in https://github.com/scala/scala/pull/1442