[ https://issues.apache.org/jira/browse/GROOVY-7436?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Eric Milles updated GROOVY-7436: -------------------------------- Labels: traits (was: ) > Multiple inheritance of traits - conflict resolution > ---------------------------------------------------- > > Key: GROOVY-7436 > URL: https://issues.apache.org/jira/browse/GROOVY-7436 > Project: Groovy > Issue Type: Improvement > Reporter: Thornton Chamberlain > Priority: Major > Labels: traits > > {noformat} > trait A { > String exec() {'A'} > } > trait B implements A { > String exec() {'B'} > } > trait C implements A { > } > class X implements A, B, C {} > def x = new X() > assert x.exec() == 'B' > {noformat} > An equivalent example in Scala will use the exec() implementation from B, as > asserted. Groovy will take the implementation from the last declared trait, > C, which inherits the implementation from A but does not define its own > implementation. I think Groovy should use the implementation from the last > declared trait that defines its own implementation. -- This message was sent by Atlassian Jira (v8.20.1#820001)