Uploaded image for project: 'Wicket'
  1. Wicket
  2. WICKET-5647

missing generic cast causes compile error on OS X / jdk 8

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 6.16.0, 7.0.0-M2
    • Fix Version/s: 7.0.0-M3, 6.17.0
    • Component/s: wicket
    • Labels:
      None
    • Environment:
      OS X 10.9.4
      JDK 1.8.0_11

      Description

      when trying to compile wicket-7 from HEAD it fails under OS X / JDK 1.8.0_11. Casting a NULL to generic type (T) solves the issues. This seems like some odd case of failing type inference.

      The problematic source line is:

      return getEnumImpl(key, eClass, null);

      The compiler error is:

      Error:(792, 35) java: incompatible types: inference variable T has incompatible upper bounds java.lang.Enum<T>,T

      This will fix the issue:

      return getEnumImpl(key, eClass, (T)null);

      I found that there is a fix WICKET-5427 which does not work in most current JDK 1.8.0_11 anymore. -Could not change the wicket-6 branch since the change will break the clirr plugin (see WICKET-5427).-

        Attachments

        Issue Links

          Activity

            People

            • Assignee:
              pete Peter Ertl
              Reporter:
              pete Peter Ertl

              Dates

              • Created:
                Updated:
                Resolved:

                Issue deployment