class Inv { val x: T field = x get constructor(x: T) /* primary */ { super/*Any*/() /* () */ } } class Test_1 : JavaClass1 { val x: TT field = x get constructor(x: TT) /* primary */ { super/*JavaClass1*/() /* () */ } fun test(b: B) { b.output(x = .()) } } class Test_2 : JavaClass2> { constructor() /* primary */ { super/*JavaClass2*/>() /* () */ } fun process(b: B>) { b.output(output = Inv(x = b.element())) } } fun test_3(jb: B, r: R) { jb.output(x = r) }