Consider the following:
@FunctionalInterface
interface Sam {
int meth(int a, Long b, java.util.regex.Pattern c);
}
// both cases should inference 'a' as int, 'b' as Long and 'c' as Pattern
Sam type = { a, b, c -> ... }
def type = { a, b, c -> ... } as Sam
Consider the following: