// ĠIG NORE _ BACKEND _ FI R : ĠJVM _ IR Ċ interface ĠA < T , ĠU > Ġ{ ĊĠĠĠ Ġfun Ġfoo ( t : ĠT , Ġu : ĠU ) Ġ= Ġ" A " Ċ } Ċ Ċ interface ĠB < U > Ġ: ĠA < String , ĠU > Ċ Ċ interface ĠC < T > Ġ: ĠA < T , ĠInt > Ċ Ċ class ĠZ Ġ: ĠB < Int >, ĠC < String > Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġfoo ( t : ĠString , Ġu : ĠInt ) Ġ= Ġ" Z " Ċ } ĊĊ Ċ fun Ġbox (): ĠString Ġ{ ĊĠĠĠ Ġval Ġz Ġ= ĠZ () ĊĠĠĠ Ġval Ġc : ĠC < String > Ġ= Ġz ĊĠĠĠ Ġval Ġb : ĠB < Int > Ġ= Ġz ĊĠĠĠ Ġval Ġa : ĠA < String , ĠInt > Ġ= Ġz ĊĠĠĠ Ġreturn Ġwhen Ġ{ ĊĠĠĠĠĠĠĠ Ġz . foo ("", Ġ 0 ) Ġ!= Ġ" Z " Ġ-> Ġ" Fail Ġ# 1 " ĊĠĠĠĠĠĠĠ Ġc . foo ("", Ġ 0 ) Ġ!= Ġ" Z " Ġ-> Ġ" Fail Ġ# 2 " ĊĠĠĠĠĠĠĠ Ġb . foo ("", Ġ 0 ) Ġ!= Ġ" Z " Ġ-> Ġ" Fail Ġ# 3 " ĊĠĠĠĠĠĠĠ Ġa . foo ("", Ġ 0 ) Ġ!= Ġ" Z " Ġ-> Ġ" Fail Ġ# 4 " ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ" OK " ĊĠĠĠ Ġ} Ċ } Ċ