Okay what if a library has a data class that's eligible to be inlined, and then a new version comes out that does something that breaks that, for example it adds a constructor with some logic. Normally code that was compiled would work with the new constructor, but with inline classes it would be ignored.
c
chalup
09/08/2018, 9:07 AM
Why would that happen? I think that on upgrade that class would just not be inlined.
k
karelpeeters
09/08/2018, 9:08 AM
If you don't recompile the project itself and just swap in new dependency versions.
c
chalup
09/08/2018, 9:17 AM
I see your point now. I'm working mostly with Android, didn't thought of that.
chalup
09/08/2018, 9:17 AM
Is that a common practice though? Sounds like a very risky thing to do.
k
karelpeeters
09/08/2018, 9:24 AM
Probably not, but it's something that should work, and binary compatibility it's also one of the things listed under the backwards compatibility things Kotlin itself guarantees.