Hi Koin team, I found an issue after moving to the Koin Kotlin Compiler Plugin.
When a class implements an interface, it looks like the generated DI definition is automatically bound to that interface. In some dependency graphs this causes recursive resolution and results in a stack overflow crash at runtime.
This is not new for me: I had the same behavior with the KSP Koin generator before, and there using`@KoinViewModel(binds = [])` with explicit empty binds array solved it by preventing unwanted interface binding. Class injects in constructor interface and also implements same interface for Kotlin class delegation.
With the compiler plugin, previous workaround does not work.
I would actually prefer option to disable this automatic binding to implemented interfaces globally. Not just to solve this issue, i would rather define it explicitly.
Using lates available versions Koin 4.2.0 Plugin 0.4.1