Scala 2.13.0-RC1 compile issues in jackson-module-scala


#1

Hi,
jackson-module-scala compiles with scala 2.13.0-M5 but not 2.13.0-RC1.
There are some deserialisation classes that extend Java interfaces and the compiler has issues with the generics.
I’ve tried modifying the code to get it to compile but haven’t succeeded.

Any suggestions would be appreciated.

[error] /Users/pj.fanning/code/jackson-module-scala/src/main/scala/com/fasterxml/jackson/module/scala/deser/GenericFactoryDeserializerResolver.scala:62: incompatible type in overriding
[error] def getNullValue(x$1: com.fasterxml.jackson.databind.DeserializationContext): Object (defined in trait NullValueProvider)
[error]   with def getNullValue(x$1: com.fasterxml.jackson.databind.DeserializationContext): CC[_] (defined in class JsonDeserializer);
[error]  found   : (x$1: com.fasterxml.jackson.databind.DeserializationContext)CC[_]
[error]  required: (x$1: com.fasterxml.jackson.databind.DeserializationContext)Object
[error]   private class Deserializer(collectionType: JavaType, containerDeserializer: CollectionDeserializer)
[error]                 ^
[error] /Users/pj.fanning/code/jackson-module-scala/src/main/scala/com/fasterxml/jackson/module/scala/deser/GenericMapFactoryDeserializerResolver.scala:55: incompatible type in overriding
[error] def getNullValue(x$1: com.fasterxml.jackson.databind.DeserializationContext): Object (defined in trait NullValueProvider)
[error]   with def getNullValue(x$1: com.fasterxml.jackson.databind.DeserializationContext): CC[_, _] (defined in class JsonDeserializer);
[error]  found   : (x$1: com.fasterxml.jackson.databind.DeserializationContext)CC[_, _]
[error]  required: (x$1: com.fasterxml.jackson.databind.DeserializationContext)Object
[error]   private class Deserializer(mapType: MapLikeType, containerDeserializer: MapDeserializer)
[error]                 ^
[error] /Users/pj.fanning/code/jackson-module-scala/src/main/scala/com/fasterxml/jackson/module/scala/deser/ScalaNumberDeserializersModule.scala:14: incompatible type in overriding
[error] def getNullValue(x$1: com.fasterxml.jackson.databind.DeserializationContext): Object (defined in trait NullValueProvider)
[error]   with def getNullValue(x$1: com.fasterxml.jackson.databind.DeserializationContext): T (defined in class JsonDeserializer);
[error]  found   : (x$1: com.fasterxml.jackson.databind.DeserializationContext)T
[error]  required: (x$1: com.fasterxml.jackson.databind.DeserializationContext)Object
[error] private abstract class BigNumberDeserializer[T >: Null : ClassTag](creator: (String) => T)
[error]                        ^
[warn] /Users/pj.fanning/code/jackson-module-scala/src/main/scala/com/fasterxml/jackson/module/scala/deser/ScalaNumberDeserializersModule.scala:33: method wrongTokenException in class DeserializationContext is deprecated: see corresponding Javadoc for more information.
[warn]           throw ctxt.wrongTokenException(jp, JsonToken.END_ARRAY, "Attempted to unwrap array for single value but there was more than a single value in the array")
[warn]                      ^
[error] /Users/pj.fanning/code/jackson-module-scala/src/main/scala/com/fasterxml/jackson/module/scala/deser/TupleDeserializerModule.scala:10: incompatible type in overriding
[error] def getNullValue(x$1: com.fasterxml.jackson.databind.DeserializationContext): Object (defined in trait NullValueProvider)
[error]   with def getNullValue(x$1: com.fasterxml.jackson.databind.DeserializationContext): Product (defined in class JsonDeserializer);
[error]  found   : (x$1: com.fasterxml.jackson.databind.DeserializationContext)Product
[error]  required: (x$1: com.fasterxml.jackson.databind.DeserializationContext)Object
[error] private class TupleDeserializer(javaType: JavaType,
[error]               ^

#2

see https://github.com/scala/bug/issues/11469 and https://github.com/scalacommunitybuild/jackson-module-scala/commit/b23140ec2b990ee8dead7c77f8c49e5b49998e49

sorry, we should have notified you


#3

Thanks Seth.