def bar(x: X#Inner)
서명을 이해하면 인스턴스가 Inner
이면 성공적으로 컴파일해야합니다. 반면 foo(x: this.Inner)
은 동일한 Outer.Inner
클래스 인스턴스로만 컴파일됩니다.경로 종속 형식 및 유형 투영
Scala in Depth을 읽는 동안이 코드를 REPL에 넣었지만 컴파일 타임 오류가 발생했습니다.
scala> class Outer {
| trait Inner
| def y = new Inner {}
| def foo(x: this.Inner) = null
| def bar(x: X#Inner) = null
| }
<console>:11: error: not found: type X
def bar(x: X#Inner) = null
^
또한 컴파일 타임 오류는 무엇입니까?
감사합니다. @ 0__. 호기심에서, 왜''foo (x : this.Inner) '와'this'와'.Inner' 사이에 공백 문자를 썼습니까? –
@KevinMeredith 비슷한 라인을 수직으로 정렬하는 것에 집착합니다 :) –