Open
Description
Compiler version
3.0.1
Minimized code
package foo {
trait Bar:
inline def baz = Baz
private[foo] object Baz
}
Output
After typer we generate the following inline accessor for a module
package foo {
trait Bar:
inline def baz = this.foo$Bar$$inline$Baz
def foo$Bar$$inline$Baz = foo.Baz
private[foo] object Baz
}
There are several issues with this scheme
- Will be duplicated in every class that needs to access the module
- Is fundamentally incompatible with quotes (see Make body of quotes inlinable #13188)
Expectation
package foo {
trait Bar:
inline def baz = foo.inline$Baz
def inline$Baz = foo.Baz
private[foo] object Baz
}