http://xeno-by.livejournal.com/ ([identity profile] xeno-by.livejournal.com) wrote in [personal profile] juan_gandhi 2013-01-24 01:07 pm (UTC)

Он говорит (z: X)X потому, что это сигнатура метода safeCast с выведенными аргументами.

Причем здесь сигнатура? Когда компилятор не находит мембера, он ищет имплисит конвершн, преобразующий ресивер в нечто, что содержит нужный мембер. Как вот тут: implicit value for L.this.x.type => ?{val *: ?}.

Так как у Y нет мембера * (в силу того, что тот экзистенциальный тип, как мы выяснили, не влияет на тайп инференс), то соответственно safeCast не соответствует нужной сигнатуре.

Post a comment in response:

This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting