Github user avafanasiev commented on the pull request: https://github.com/apache/groovy/commit/c24c0b7e6a67dcdf277207d4261cfa6f2b55031f#commitcomment-27230133 In src/main/java/org/codehaus/groovy/classgen/asm/InvocationWriter.java: In src/main/java/org/codehaus/groovy/classgen/asm/InvocationWriter.java on line 483: 1. Is it acceptable groovy method dispatch depends on declared type? ``` class R implements Runnable { def run(){}} def m(Runnable r1, R r2, r3) { r1() r2() r3() } m(new R(), new R(), new R()) ``` 2. SAM types doesn't have to contain `@FunctionalInterface`. I think this check contradicts its [documentation](https://docs.oracle.com/javase/9/docs/api/java/lang/FunctionalInterface.html)
---