Description
I have a trait called ProviderAssertions that is successfully implemented by a number of spock.lang.Specification types. However, when compiling this class with Groovy 4.0.1-SNAPSHOT:
It fails with the following error:
:model-core:compileTestGroovy FAILED Note: Some input files use or override a deprecated API. Note: Recompile with -Xlint:deprecation for details. Note: /Users/lptr/Workspace/gradle/gradle/subprojects/model-core/src/test/groovy/org/gradle/internal/instantiation/generator/AsmBackedClassGeneratorTest.java uses unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. startup failed: /Users/lptr/Workspace/gradle/gradle/subprojects/model-core/src/test/groovy/org/gradle/api/internal/provider/DefaultProviderFactoryTest.groovy: 27: Can't have an abstract method in a non-abstract class. The class 'org.gradle.api.internal.provider.DefaultProviderFactoryTest' must be declared abstract or the method 'void assertHasProducer(org.gradle.api.internal.provider.ProviderInternal, org.gradle.api.Task, org.gradle.api.Task[])' must be implemented. @ line 27, column 1. class DefaultProviderFactoryTest extends Specification implements ProviderAssertions { ^ 1 error
https://ge.gradle.org/s/mz3m6drw3kzog/console-log?task=:model-core:compileTestGroovy
The same code works with Groovy 3.0.9, and it even compiled with Groovy 4.0.0-beta-1.
Attachments
Issue Links
- is related to
-
GROOVY-10467 Compilation fails with method detected as transient
- Closed