eric-milles commented on PR #2529: URL: https://github.com/apache/groovy/pull/2529#issuecomment-4440849519
I was able to try this out yesterday (internet outage) and the change is in the spot that I would expect. The difficulty I have is reasoning about and explaining to others why "this.m(x)" can be rewritten to 3 different forms: * `($static$self or $self.getClass()).m(x)` * `(this or T$Trait$Helper).m($self or $static$self or (Class)$self.getClass(), x)` * `(this or $self or $static$self).m(x)` I did see that between Groovy 3 and Groovy 4, the behavior was change for private static methods. Then between Groovy 4 and 5 there was a change for the "override" or "cannot be replaced by trait method" case. I'm still on the fence about allowing dynamic dispatch so the seen trait method is not the one called in all cases. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
