Skip to content

NoWarn for FS5311 no longer respected in Release builds after .NET / F# 7 -> 8 update  #16552

@jcmrva

Description

@jcmrva

FS3511: This state machine is not statically compilable. A resumable code invocation at '(...)' could not be reduced. An alternative dynamic 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.

We have a few task CEs that trigger this warning and have opted to suppress it.

In .NET 7, we used <NoWarn>3511</NoWarn> in Directory.Build.props. After updating to .NET 8, the warnings still occur, but only in Release configuration. Because we use TreatWarningsAsErrors, this is a breaking change.

As a workaround, we added the #nowarn directive to each file, which is arguably an improvement.

.NET SDK 8.0.101
OS: all

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    Status

    New

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions