Skip to content

Cannot implement setter method for var extension #9926

Closed
@Sciss

Description

@Sciss

Minimized code

https://scastie.scala-lang.org/vtB4qDpEQWKhpRfRKpmfTQ

trait Config {
  def extension: String
}
trait ConfigBuilder extends Config {
  override var extension: String
}
class ConfigBuilderImpl extends ConfigBuilder {
  private var _ext = "cache"
  private var _extSet = false
  
  def extension: String = _ext
  
  def extension_=(value: String): Unit = {  // !
    _extSet = true
    _ext = value
  }
}

Output

illegal method name: extension_= may not start with `extension_`

Expectation

It seems counter-intuitive that you can define a var extension but not implement a setter method.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions