blob: e405d9548942f29852cbe84aebd7aa11e82809b8 (
plain) (
tree)
|
|
package test
trait T extends AnyVal // fail
class Foo {
class Bar(x: Int) extends AnyVal // fail
def foo() {
class Baz(x: Int) extends AnyVal // fail
}
}
class V1 extends AnyVal // fail
class V2(private[test] val x: Int) extends AnyVal // fail
class V3(protected[test] val x: Int) extends AnyVal // fail
class V4(protected val x: Int) extends AnyVal // fail
class V5(private val x: Int) extends AnyVal // fail
class V6(val x: Int, val y: String) extends AnyVal // fail
class V7(val x: Int, private[this] val y: String) extends AnyVal // fail
class V8(var x: Int) extends AnyVal // fail
class V9(val x: Int) extends AnyVal {
val y = x // fail
}
class V10[T](val x: T) extends AnyVal // ok
class V11[T](val x: List[T]) extends AnyVal // ok
class V12[@specialized T, U](val x: (T, U)) extends AnyVal // fail
class V13(x: Int) extends AnyVal // fail
package time {
object TOD {
final val SecondsPerDay = 86400
def apply(seconds: Int) = {
val n = seconds % SecondsPerDay
new TOD(if (n >= 0) n else n + SecondsPerDay)
}
}
final class TOD private (val secondsOfDay: Int) extends AnyVal { // should fail with private constructor
def hours = secondsOfDay / 3600
def minutes = (secondsOfDay / 60) % 60
def seconds = secondsOfDay % 60
override def toString = "%02d:%02d:%02d".format(hours, minutes, seconds)
}
}
|