E118: Params No Inline
E118: Params No Inline (파라미터에 인라인 불가)
inline 한정자를 인라인(inline)이 아닌 메서드의 파라미터에 사용했을 때 나오는 에러예요.
본문
파라미터에 붙는 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) 문서를 참고해요.