Type checking procedure simplified (dramatically!)
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
class Point() {
|
||||
}
|
||||
|
||||
class G<T>() {}
|
||||
|
||||
fun f<T>(expression : T) : G<out T> = G<T>
|
||||
|
||||
|
||||
fun foo() : G<Point> {
|
||||
val p = Point()
|
||||
return <!TYPE_MISMATCH!>f<Point>(p)<!>
|
||||
}
|
||||
|
||||
class Out<out T>() {}
|
||||
|
||||
fun fout<T>(expression : T) : Out<out T> = Out<T>
|
||||
|
||||
fun fooout() : Out<Point> {
|
||||
val p = Point();
|
||||
return fout<Point>(p);
|
||||
}
|
||||
Reference in New Issue
Block a user