Simone Robutti created FLINK-3563: ------------------------------------- Summary: .returns() doesn't compile when using .map() with a custom MapFunction Key: FLINK-3563 URL: https://issues.apache.org/jira/browse/FLINK-3563 Project: Flink Issue Type: Bug Components: Type Serialization System Affects Versions: 0.10.1 Reporter: Simone Robutti Priority: Minor
Defined a DummyMapFunction that goes from a java Map to another java Map like this: {code:title=DummyMapFunction.scalaborderStyle=solid} class DummyMapFunction() extends MapFunction[java.util.Map[String, Any], java.util.Map[FieldName, Any]] { override def map(input: java.util.Map[String, Any]): java.util.Map[FieldName, Any] = { val result: java.util.Map[FieldName, Any] = new java.util.HashMap[FieldName, Any]() result } } {code} and trying to use it with a map: {code:title=Main.java} DummyMapFunction operator = new DummyMapFunction(); DataSource<Map<String, Object>> dataset = env.fromCollection(input); List<java.util.Map<FieldName, Object>> collectedResult = dataset.map(operator).returns(java.util.Map.class).collect(); {code} the returns call doesn't compile because it can't resolve the returns method with the parameter. But if insted of creating a variable of type DummyMapFunction I create a {code} MapFunction operator=new DummyMapFuction(); {code} or I explicitly cast the variable to a MapFunction, it compiles and work flawlessly. This is a trick that works but I think is an unexpected behaviour. -- This message was sent by Atlassian JIRA (v6.3.4#6332)