Uploaded image for project: 'Flink'
  1. Flink
  2. FLINK-1458

Interfaces and abstract classes are not valid types

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Duplicate
    • None
    • None
    • None
    • None

    Description

      I don't know whether this is by design or is a bug, but I am having trouble working with DataSet and traits in scala which is a major limitation. A simple example is shown below.

      Compile time warning is 'Type Main.SimpleTrait has no fields that are visible from Scala Type analysis. Falling back to Java Type Analysis...'

      Run time error is 'Interfaces and abstract classes are not valid types: interface Main$SimpleTrait'

      Regards, John

      val env = ExecutionEnvironment.getExecutionEnvironment

      trait SimpleTrait

      { def contains(x: String): Boolean }

      class SimpleClass extends SimpleTrait

      { def contains(x: String) = true }

      val data: DataSet[Double] = env.fromElements(1.0, 2.0, 3.0, 4.0)

      def f(data: DataSet[Double]): DataSet[SimpleTrait] = {

      data.mapPartition(iterator =>

      { Iterator(new SimpleClass) }

      )
      }

      val g = f(data)
      g.print()

      env.execute("Simple example")

      Attachments

        Issue Links

          Activity

            People

              aljoscha Aljoscha Krettek
              jsand John Sandiford
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: