-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Closed
Labels
Description
Compiler version
3.1.0 (this also reproduces on the latest nightly as of 12/20)
Minimized code
object api:
export impl.*
object impl:
class Bar
extension (rcv: Bar)
def foo(a: Int) = ()
def bar(a: Int, b: Boolean = false) = ()
object Test1:
import api.*
val value = (new Bar).bar(0) // Error
object Test2:
import impl.*
val value = (new Bar).bar(0) // Works
object Test3:
import api.*
val value = (new Bar).foo(0) // WorksOutput
[error] 12 | val value = (new Bar).bar(0) // Missing argument
[error] | ^^^^^^^^^^^^^^^^
[error] |missing argument for parameter b of method bar in object api: (a: Int, b: Boolean): UnitExpectation
Hit this case when exporting extension method through a facade object api from an implementation object impl. Since exporting normal extension methods (e.g. foo) works, I would also expect the method bar to export such that it can be called omitting the second argument and having it be filled in by the default.