Skip to content

Debug-mode compilation error when mixing resumable and standard computation expressions #19625

Description

@majocha

This is a regression. It seems dotnet sdks above 10.0.202 are affected, so probably introduced by #19297

Repro steps

compile the following in Debug configuration:

module ReproMixedBuilders
open System.Threading.Tasks

type TaskMaybeBuilder() =

    member inline _.Zero() = Task.FromResult None

    member inline _.Delay([<InlineIfLambda>] f) = task { return! f () }
    
    member inline _.Bind(value, [<InlineIfLambda>] f) =
        task {
            match value with
            | None -> return None
            | Some result -> return! f result
        }

let taskMaybe = TaskMaybeBuilder()

let trigger() =
    taskMaybe {
        do! None
    }

Actual behavior

❯ dotnet build -c Debug
Restore complete (0.3s)
    info NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy
  BuilderRepro net472 failed with 5 error(s) (1.3s)
    E:\repos\BuilderRepro\Library.fs(20,5): error FS0971: Undefined value 'builder@'
    E:\repos\BuilderRepro\Library.fs(20,5): error FS0971: Undefined value 'builder@'
    E:\repos\BuilderRepro\Library.fs(20,5): error FS0971: Undefined value 'builder@'
    E:\repos\BuilderRepro\Library.fs(20,5): error FS0971: Undefined value 'builder@'
    E:\repos\BuilderRepro\Library.fs(20,5): error FS0971: Undefined value 'builder@'

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions