Fix logic of forcing method return type to be wrapped

Return type must be wrapped if any super-method in the hierarchy, not just the
direct super-method, returns a reference type (as opposed to a primitive type)

Actually there was a test reflecting this, but it wasn't running because of an
unfixed diagnostic error
This commit is contained in:
Alexander Udalov
2014-05-29 18:16:09 +04:00
parent 33f8c49275
commit 2b5bc6b63d
3 changed files with 15 additions and 11 deletions
@@ -4,7 +4,7 @@ trait A<T> {
fun foo(): T
}
trait B : A
trait B : A<Int>
abstract class C : B