[ https://issues.apache.org/jira/browse/GROOVY-11204?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Eric Milles closed GROOVY-11204. -------------------------------- Resolution: Information Provided > Incorrect overload selection for subclasses > ------------------------------------------- > > Key: GROOVY-11204 > URL: https://issues.apache.org/jira/browse/GROOVY-11204 > Project: Groovy > Issue Type: Bug > Components: Static compilation > Affects Versions: 4.0.12 > Reporter: Christopher Smith > Assignee: Eric Milles > Priority: Major > > I'm writing a Spring Security configurer and trying to add it to my > configuration using {{apply(C)}}, but the Groovy compiler selects the wrong > overload, and necessary initialization is not performed. > {code:groovy} > @Grab('org.springframework.security:spring-security-config:5.7.11') > import > org.springframework.security.config.annotation.authentication.builders.* > import org.springframework.security.config.annotation.web.configurers.* > import org.springframework.security.config.annotation.web.builders.* > @Grab('org.springframework.security:spring-security-web:5.7.11') > import org.springframework.security.web.* > @Grab('javax.servlet:servlet-api:2.5') > // AbstractHttpConfigurer extends SecurityConfigurerAdapter > class MyConfigurer extends AbstractHttpConfigurer<MyConfigurer, HttpSecurity> > {} > SecurityFilterChain securityFilterChain(HttpSecurity http) { > http.apply(new MyConfigurer()) > // ^ should select apply(SecurityConfigurerAdapter), but selects > apply(SecurityConfigurer) > .and() > .build() > } > securityFilterChain(new HttpSecurity({ }, new AuthenticationManagerBuilder({ > }), [:])) > {code} > This is probably a result of an edge case in the generics, since the bounds > on the overloads are determined by type parameters. -- This message was sent by Atlassian Jira (v8.20.10#820010)