// Ġ! DIAG NO ST ICS : Ġ- UN NE C ESS ARY _ SAFE _ CALL Ċ Ċ // ĠMODULE : Ġm 1 Ċ // ĠFILE : Ġa . kt Ċ package Ġp Ċ Ċ public Ġinterface ĠB < T > Ġ{ ĊĠĠĠ Ġpublic Ġfun Ġfoo ( a : ĠT ) Ċ } Ċ Ċ // ĠMODULE : Ġm 2 ( m 1 ) Ċ // ĠFILE : Ġb . kt Ċ package Ġp Ċ Ċ public Ġinterface ĠC < X > Ġ: ĠB < X > Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġfoo ( a : ĠX ) Ċ Ċ } Ċ Ċ // ĠMODULE : Ġm 3 Ċ // ĠFILE : Ġb . kt Ċ package Ġp Ċ Ċ public Ġinterface ĠB < T 1 > Ġ{ ĊĠĠĠ Ġpublic Ġfun Ġfoo ( a : ĠT 1 ) Ċ } Ċ Ċ // ĠMODULE : Ġm 4 ( m 3 , Ġm 2 ) Ċ // ĠFILE : Ġc . kt Ċ import Ġp .* Ċ Ċ fun Ġ< Y > Ġtest ( b : ĠB < Y > ?, Ġy : ĠY ) Ġ{ ĊĠĠĠ Ġif Ġ( b Ġis ĠC ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ<! DEBUG _ INFO _ SM ART CAST !> b <! > ?. foo ( y ) ĊĠĠĠ Ġ} Ċ }