Uploaded image for project: 'Groovy'
  1. Groovy
  2. GROOVY-10521

Compiler complains about abstract method not implemented when implementing trait

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 4.0.1
    • 4.0.5
    • Compiler

    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://github.com/gradle/gradle/blob/c692f2a1d2baa03f975c443ddc746d885cf84ee2/subprojects/model-core/src/test/groovy/org/gradle/api/internal/provider/DefaultProviderFactoryTest.groovy#L27

      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

          Activity

            People

              emilles Eric Milles
              lptr Lóránt Pintér
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: