I am having some problems with the inferencing ```...
# announcements
s
I am having some problems with the inferencing
Copy code
class InferenceTest {

    interface Foo
    class Bar : Foo

    inline fun <reified T:Any, F:T> assertClassesFails(bar : F) : T {
        Assert.assertEquals(Foo::class.java, T::class.java)
        Assert.assertEquals(Bar::class.java, (bar as Any).javaClass)
        return bar
    }

    inline fun <reified T:Any, F:Any> assertClassesPasses(bar : F) : T {
        Assert.assertEquals(Foo::class.java, T::class.java)
        Assert.assertEquals(Bar::class.java, (bar as Any).javaClass)
        return bar as T
    }

    @Test
    fun foo(){
        var foo : Foo = assertClassesPasses(Bar())
        println("Passed")
        var foo2 : Foo = assertClassesFails(Bar())
    }

}