2012-01-03 2 views
5

내 스칼라 2.9.1 프로젝트는 이제 모든 거의 정확하게 이와 같은 176 경고를 방출 : 스칼라에서 "단순 유형이 아님"경고는 무엇을 의미합니까?

[warn] Not a simple type: 
[warn] Type: _29.type#source.type forSome { type _29.type <: Ontology.this.TruncationFunctor } (class class scala.tools.nsc.symtab.Types$ExistentialType) 
[warn] Transformed: class xsbti.api.Existential 

은 (그것은 적은 수의 시작,하지만 내 코딩 스타일을 좀 더 받고 있어요으로이 경고를 자극 보인다 more)

누구든지이 경고의 의미를 설명 할 수 있습니까? 어떻게해야합니까? 컴파일러는 줄 번호를 내 보내지 않으므로 정확히 어디에서 왔는지조차 알지 못합니다.

+1

을 확실히 당신이 코드로 다음을 작성하는 경우, 당신이 그 그 원인을 무엇인지 알아낼 수 있습니다. –

+2

코드 스 니펫으로 작은 테스트 파일을 만들어 경고를 격리하십시오. –

+0

@RexKerr, 사람은 생각할 것입니다. 유감스럽게도 코드가 큰 리팩터링을하는 동안 (예 : 전체 유형 매개 변수를 추상 유형 멤버로 전환 할 때) 오류가 경고를 비웃는 동안 나타났습니다. 모든 것이 (경고와 함께) 컴파일되고 결국 테스트되었으므로, 나는 경고를 조사하기 위해 멈추지 않았다. –

답변

6

이것은 유형에 대한 가정이 잘못되어 경고가 표시되는 sbt에만 해당하는 것으로 보입니다. sbt가 소스 파일에서 일부 정보를 추출해야 할 때이 코드 조각이 실행되는 것 같습니다.

https://github.com/harrah/xsbt/blob/0.11/compile/interface/API.scala#L105

내 추측이 존재 종류와 유형 프로젝션이를 일으키는의 조합이 될 것입니다 참조하십시오. 범위를 좁힐 수 있다면이 문제를 sbt 문제로보고 할 수 있습니다.

+0

감사합니다, huynhjl, 그건 내 마음을 쉬게합니다. 나는 많은 시간을 투자 할 것 같지 않지만 작은 테스트 케이스를 우연히 발견한다면 나는 그것을 sbt에 기여할 것입니다. –

관련 문제