Make Scala 2 `@inline` annotation work as `inline` keyword for Scala 3 with `-source:3.0-migration`

As my first reaction, I think 2’s @inline and 3’s inline are different and should not be conflated. But I’m very curious about other opinions.

The reason Scala 2 does inlining in its optimizer is to enable further optimizations such as closure or box elimination. It’s a backend (or even link-time) feature.

Scala 3’s inline is a language feature that is mainly useful for type-level programming and metaprogramming. Using it for performance optimization is going to fall short as there are no downstream optimizations in place - inlining itself is not an optimization, it just duplicates code that can then be specialized to the conditions at the callsite.