I have found the reason for the misbehavior: Editor and NoEditor are defined in (editor interfaces elements), whereas WithCursor is defined in (editor interfaces painting). The (editor interfaces painting) is imported as a dependency by (editor interfaces elements). The test imported both modules, but it imported (editor interfaces elements) before its dependency. Swapping the order of imports resolved the issue. czw., 4 sty 2024, 07:59 użytkownik Panicz Maciej Godek < godek.maciek@gmail.com> napisał: > Thanks for explanation. > But if the Editor interface extends WithCursor interface, and NoEditor > implements Editor interface, doesn't it imply that it implements WithCursor > interface? > > czw., 4 sty 2024, 02:19 użytkownik Per Bothner napisał: > >> On 1/3/24 15:33, Panicz Maciej Godek via Kawa wrote: >> > The thing is, that all the required methods from the interface >> WithCursor >> > are implemented by NoEditor. >> > >> > But I wonder why Kawa claims that the interface isn't implemented when >> > clearly all the required methods are present. >> >> Kawa, like Java, requires an interface to be *explicitly* implemented by >> a class. >> It is not enough to implement all the methods of the interface. >> -- >> --Per Bothner >> per@bothner.com http://per.bothner.com/ >> >