// Ġ! LANGUAGE : Ġ+ New Inference Ġ+ Sam Conversion Per Argument Ġ+ Sam Conversion For Kotlin Functions Ġ+ Pro hibit Var arg As Array After Sam Argument Ċ // ĠFILE : Ġsam Conversion In Generic Constructor Call _ NI . kt Ċ fun Ġtest 3 ( ĊĠĠĠ Ġf 1 : Ġ( String ) Ġ-> ĠString , ĊĠĠĠ Ġf 2 : Ġ( Int ) Ġ-> ĠString Ċ ) Ġ= ĊĠĠĠ ĠC ( f 1 ). D ( f 2 ) Ċ Ċ class ĠO uter < T 1 >( val Ġj 1 1 : ĠJ < T 1 , ĠT 1 >) Ġ{ ĊĠĠĠ Ġinner Ġclass ĠInner < T 2 >( val Ġj 1 2 : ĠJ < T 1 , ĠT 2 >) Ċ } Ċ Ċ fun Ġtest 4 ( f : Ġ( String ) Ġ-> ĠString , Ġg : Ġ( Any ) Ġ-> ĠString ) Ġ= ĠO uter ( f ). Inner ( g ) Ċ Ċ fun Ġtest Generic Java Ctor 1 ( f : Ġ( String ) Ġ-> ĠInt ) Ġ= ĠG ( f ) Ċ Ċ fun Ġtest Generic Java Ctor 2 ( x : ĠAny ) Ġ{ ĊĠĠĠ Ġx Ġas Ġ( String ) Ġ-> ĠInt ĊĠĠĠ ĠG ( x ) Ċ } Ċ Ċ // ĠFILE : ĠJ . java Ċ public Ġinterface ĠJ < T 1 , ĠT 2 > Ġ{ ĊĠĠĠ ĠT 1 Ġfoo ( T 2 Ġx ); Ċ } Ċ Ċ // ĠFILE : ĠC . java Ċ public Ġclass ĠC < X > Ġ{ ĊĠĠĠ Ġpublic ĠC ( J < X , ĠX > Ġj xx ) Ġ{} ĊĊĠĠĠ Ġpublic Ġclass ĠD < Y > Ġ{ ĊĠĠĠĠĠĠĠ Ġpublic ĠD ( J < X , ĠY > Ġj xy ) Ġ{} ĊĠĠĠ Ġ} Ċ } Ċ Ċ // ĠFILE : ĠG . java Ċ public Ġclass ĠG < T Class > Ġ{ ĊĠĠĠ Ġpublic Ġ< TC tor > ĠG ( J < TC tor , ĠT Class > Ġx ) Ġ{} Ċ } Ċ