E118: Params No Inline

E118: Params No Inline (파라미터에 인라인 불가)

inline 한정자를 인라인(inline)이 아닌 메서드의 파라미터에 사용했을 때 나오는 에러예요.

출처: Scala 3 Reference

본문

파라미터에 붙는 inline 한정자는 inline 메서드의 파라미터에서만 허용돼요. 그래야 호출 지점에서 그 파라미터를 인라인할 수 있거든요.

예시

def example(inline x: Int): Int = x + 1

에러 메시지

-- [E118] Syntax Error: example.scala:1:19 -------------------------------------
1 |def example(inline x: Int): Int = x + 1
  |                   ^
  |         inline modifier can only be used for parameters of inline methods

해결 방법

메서드 자체도 inline으로 만들거나, 파라미터에서 inline을 제거하면 돼요.

// Make the method inline as well
inline def example(inline x: Int): Int = x + 1
// Or remove inline from the parameter
def example(x: Int): Int = x + 1

더 알아보기

  • inline 메서드와 파라미터에 대한 자세한 내용은 Scala 3 Reference의 인라인(inline) 문서를 참고해요.