I wrote a function that calls an external library ...
# announcements
s
I wrote a function that calls an external library that uses a SAM.
Copy code
inline fun <reified C> commandHandler(handler: MessageHandler<CommandMessage<*>>) {
            addCommandHandler(C::class.java, handler)
        }

        fun <C> addCommandHandler(payloadType: Class<C>, command: MessageHandler<CommandMessage<*>>) {
            commandHandlers[payloadType] = command
        }
but when attempting to using a function literal to automatically convert to the SAM, it fails. If I specify the type it succeeds.
Copy code
commandHandler<CreateAggregateCommand>(MessageHandler {
                    invoked.set(true)
                    null
                })
succeeds^