Kotlin is quite ...special in this regard.
For certain language features, you have to declare functions as inline
.
And when you do that, as far as I can tell, it basically just templates that function at the end of the files where that function is to be used.
Because well, it suddenly starts to report line numbers in exceptions, which are beyond the end of the file. Which is not helpful, at all.
Definitely also depends on the language. Here's e.g. Rust, the goddamn overachiever, pointing arrows and everything:
Often feels like, if you know where it needs to go, why ask me?