Skip to content

Task builder produces warning if there are too many bindings inside IF branch #16068

Closed
@Szer

Description

@Szer

build in RELEASE (debug is fine)
dotnet build -c Release

Reproducable on SDKs

  • 7.0.401
  • 8.0.100-rc.1
let repro() = task {
    if true then
        let c1 = failwith ""
        let c2 = failwith ""
        let c3 = failwith ""
        let c4 = failwith ""
        let c5 = failwith ""
        let c6 = failwith ""
        let c7 = failwith ""
        let c8 = failwith ""
        let c8 = failwith ""
        let c10 = failwith ""
        let c11 = failwith ""
        let c12 = failwith ""
        let c13 = failwith ""
        let c14 = failwith ""
        let c15 = failwith ""
        let c16 = failwith ""
        let c17 = failwith ""
        let c18 = failwith ""
        let c19 = failwith ""
        let c20 = failwith ""
        let c21 = failwith ""
        let c22 = failwith ""
        let c23 = failwith ""
        let c24 = failwith ""
        let c25 = failwith ""
        let c26 = failwith ""
        let c27 = failwith ""
        let c28 = failwith ""
        let c29 = failwith ""
        let c30 = failwith ""
        let c31 = failwith ""
        let c32 = failwith ""
        let c33 = failwith ""
        ()
}

Expected behavior

Code compiles fine

Actual behavior

warning FS3511: This state machine is not statically compilable. A resumable code invocation at '(2,14--2,18)' could not be reduced. An alternative d
ynamic implementation will be used, which may be slower. Consider adjusting your code to ensure this state machine is statically compilable, or else suppress this warning.

Known workarounds

  • delete ANY binding from IF
  • OR delete IF

Related information

  • Win 10
  • NET SDK 7.0.401

Metadata

Metadata

Assignees

Labels

Area-Compiler-StateMachinesSequence, list, task and other state machine compilationBugImpact-Low(Internal MS Team use only) Describes an issue with limited impact on existing code.

Type

No type

Projects

Status

Done

Relationships

None yet

Development

No branches or pull requests

Issue actions