This warning typically happens to me when I define a method on a derived type -- thinking that I'm overriding behavior from a base type -- but the method signature is wrong and I'm effectively not overriding any method, hence the warning.
e.g.,
type
Base = ref object of RootObj
Derived = ref object of Base
method doSomething(b: Base, n: int) {.base.} =
...
# !!! This method gets warning because it's not overriding the base
# !!! doSomething method due to different parameter types
method doSomething(d: Derived, n: string) =
...
--multimethods:on
. – Oracular