Skip to content

inline new mixin methods #86

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)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions