FILE: infixOperatorOnTypeWithContext.kt
    public final class A : R|kotlin/Any| {
        public constructor(): R|A| {
            super<R|kotlin/Any|>()
        }

        public final fun foo(a: R|kotlin/String|): R|kotlin/String| {
            ^foo R|<local>/a|
        }

    }
    context(ctx: R|T|)
    public final fun <T> implicit(): R|T| {
        ^implicit R|<local>/ctx|
    }
    public final infix fun R|@ContextFunctionTypeParams(1) context(A) () -> kotlin/String|.infixWithContext(a: R|kotlin/Int|): R|kotlin/Unit| {
    }
    public final infix fun R|kotlin/Int|.infixWithContextValue(a: R|@ContextFunctionTypeParams(1) context(A) () -> kotlin/String|): R|kotlin/Unit| {
    }
    public final fun usage(): R|kotlin/Unit| {
        infixWithContext@fun <anonymous>(a: R|A|): R|kotlin/String| <inline=NoInline>  {
            ^ R|<local>/a|.R|/A.foo|(String())
        }
        .R|/infixWithContext|(Int(1))
        infixWithContext@fun <anonymous>(): R|kotlin/String| <inline=NoInline>  {
            ^ R|/implicit<Inapplicable(INAPPLICABLE): /implicit>#|<R|A|>().R|/A.foo|(String())
        }
        .R|/infixWithContext<None of the following candidates is applicable because of receiver type mismatch: [/infixWithContext]>#|(Int(1))
        Int(1).R|/infixWithContextValue|(context(<unused var>: R|A|) infixWithContextValue@fun <anonymous>(): R|kotlin/String| <inline=NoInline>  {
            ^ context(R|<local>/<unused var>|) R|/implicit|<R|A|>().R|/A.foo|(String())
        }
        )
    }
