object O {
final val one = 1
final val literalOne: 1 = 1
final val IntOne: Int = 1
final val compiles: 2 = one + 1
final val doesNotCompile: 2 = literalOne + 1 // type mismatch; found : Int; required: 2
final val alsoDoesNotCompile: 2 = IntOne + 1 // type mismatch; found : Int; required: 2
}
See https://scastie.scala-lang.org/Atry/Q568k8nZRtSldg4kjw4sSA/3 for complete code
I expect
final val doesNotCompile: 2 = literalOne + 1
compiles, becauseliteralOne
should be a constant value.