yoavst
11/04/2016, 12:23 PMclass ListSerialization<K : Any>(val serializer: Serializer<K>, val deserializer: Deserializer<K>) : Serializer<List<K>>, Deserializer<List<K>> {
override fun serialize(writer: SimpleWriter, data: List<K>) = writer.writeList(data) { serializer.serialize(writer, it) }
override fun deserialize(reader: SimpleReader): List<K> = reader.readList { deserializer.deserialize(reader) }
}
fun <K : Any, X> Pair<Serializer<K>, Deserializer<K>>.ofList(): X where X : Serializer<List<K>>, X : Deserializer<List<K>> {
return ListSerialization(first, second)
}
What is wrong with this code? it says type inference has failed on the method.
Edit: Went to a much simpler solution, but just curious.