E138: Trait Parameter Used As Parent Prefix — 트레이트 파라미터를 부모 접두어로 사용
E138: Trait Parameter Used As Parent Prefix — 트레이트 파라미터를 부모 접두어로 사용
트레이트가 자기 자신의 파라미터에서 파생된 부모 타입을 상속하려고 할 때 발생하는 에러예요.
본문
트레이트가 자기 자신의 파라미터에서 파생된 부모 타입을 상속하려고 할 때 발생해요.
부모 타입의 접두어로 트레이트 파라미터를 쓰는 것은, 런타임에 outer 관련 NullPointerException이 발생하는 걸 막기 위해 금지되어 있어요. 부모 클래스의 초기화가 트레이트 파라미터가 사용 가능해지기 전에 일어나기 때문에 런타임 실패가 생길 수 있거든요.
참고: 이 에러 코드는 보통 더 이른 컴파일러 단계에서 다른 에러 메시지로 걸러져요. RefChecks의
TraitParameterUsedAsParentPrefix검사는 안전망 역할을 하지만, PostTyper가 먼저 같은 상황을 잡아내기 때문에 실제로 이 에러가 발동하는 경우는 드물어요.