# Inline functions can refer unavailable declarations ```kotlin // libA fun fooA() = 5 // libB: implementation depends on libA inline fun fooB() = fooA() // libC: implementation depends on libB, but not libA fun fooC() = fooB() ``` There is a problem, while inlining `fooB` to `fooC`. It contains call to `fooA`, but `fooA` doesn't exist for `fooC` compilation. For jvm it is not a problem, as it would inline `invokestatic libAKt.foo` as is, without trying to understand what does it mean. For current non-jvm it is not a problem, as it has all transitive dependencies at inlining time. Unfortunately, if trying to inline on compile time over IR it would be the same problem as in klibs. And even worse, as jvm compilation doesn't (and can't) have IrLinker to fix this symbols later.