I am new to F# language but as far as I read backgroundTask syntax isn't limited to being only tasks with no result, however, when I change the following code I get compiler error FS0073
Severity Code Description Project File Line Suppression State Error FS0073 internal error: Undefined or unsolved type variable: 'a
let sendSerializedPayload (writePayload, commandType: BaseCommand.Type) =
Log.Logger.LogDebug("{0} Sending message of type {1}", prefix, commandType)
backgroundTask { // <-- this used to be just task
try
do! connection.Output |> writePayload
return true
with ex ->
Log.Logger.LogWarning(ex, "{0} Socket was disconnected exceptionally on writing {1}", prefix, commandType)
post operationsMb ChannelInactive
return false
}
Is there something that I am doing wrong or not understanding or there is a compiler problem with backgroundTasks with results (I don't get such errors when switching from task to backgroundTask for task that does not have result?