Skip to content

inline new mixin methods #86

Closed
Closed
@lrytz

Description

@lrytz
trait T { @inline def f = 1 } } // note that f is not final
class C extends T

bfore nuke-impl-classes, the mixin f in C is def f = T$class.f(this), which is inlined.

with default methods the mixin becomes def f = super.f and is currently not inlined, even though it could (INVOKESPECIAL).

Note that this also causes an inliner warning (T::f()I is annotated @inline but cannot be inlined: the method is not final and may be overridden)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions