E147: 중복된 수식어예요
E147: 중복된 수식어예요 (Redundant Modifier)
정의에 수식어(modifier)를 붙였는데, 그 정의가 이미 암시적으로 그 성질을 갖고 있어서 수식어가 아무 효과가 없을 때 발생하는 경고예요.
본문
이 경고는 어떤 정의에 수식어를 적용했는데, 그 정의가 이미 암시적으로 해당 성질을 갖고 있어 수식어가 효과를 발휘하지 못할 때 나와요.
흔한 경우로는 다음이 있어요.
given정의에는final수식어를 붙일 필요가 없어요. Scala 3에서given은 언제나 암시적으로final이거든요.
Example
object Example {
final given g: Object()
}
Error
-- [E147] Syntax Warning: example.scala:2:2 ------------------------------------
2 | final given g: Object()
| ^^^^^
| Modifier final is redundant for this definition
Solution
object Example {
// Remove the redundant `final` modifier - givens are implicitly final
given g: Object()
}
더 알아보기
given정의와 그 성질에 대한 자세한 내용은 Scala 3 Reference의 contextual abstractions 문서를 참고하세요.