// !LANGUAGE: +ContextReceivers class A(val a: T) class B(val b: Any) class C(val c: Any) context(A) fun A.f() { this@A.a.length } context(A, B) fun f() { this@A.a.length this@B.b this } context(A, A, B) fun f() { this@A.a.length this@B.b this } context(A, A, B) fun C.f() { this@A.a.length this@B.b this@C.c this@f.c this.c }