Skip to content

Scala.js facades - native default arguments do not compile #10841

Closed
@joschua-fink

Description

@joschua-fink

Minimized code

@js.native
@JSImport("three", "Vector3")
class Vector3(var x: Double = js.native,
              var y: Double = js.native,
              var z: Double = js.native) extends js.Object

// or simplified - behavior identical

@js.native
@JSImport("three", "Vector3")
class Vector3(var x: Double = js.native) extends js.Object

@js.native
@JSGlobal
class Vector3(var x: Double = js.native) extends js.Object

Output

compilation fails with

js.native may only be used as stub implementation in facade types

Expectation

Successful compilation, like Scala 2.13.4 does

Note

#9755 seems related. I'm using Scala 3.0.0-M3 with Scala.js 1.3.1

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions