-
Notifications
You must be signed in to change notification settings - Fork 821
Closed
Copy link
Labels
Area-Compiler-StateMachinesSequence, list, task and other state machine compilationSequence, list, task and other state machine compilationBugImpact-Medium(Internal MS Team use only) Describes an issue with moderate impact on existing code.(Internal MS Team use only) Describes an issue with moderate impact on existing code.
Milestone
Description
Most the time tasks are defined in functions, e.g.
let f() = task { return 1 }
That's fine, however if you define a task as a top-level value (e.g. in F# Interactive) you get a warning that a dynamic task implementation is used:
> task { return 1 };;
task { return 1 };;
^^^^
stdin(2,1): warning FS3511: This state machine is not statically compilable. A resumable code invocation at '(2,0--2,4)' 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.
It's not a super-critical show-stopping bug because
- the task still runs correctly
- it's rare to define tasks like this in project code (however it may happen a lot in notebooks)
- tasks at the top-level like this are never perf-critical
AngelMunoz, callmekohei, nightroman, Mousaka and caelchristian
Metadata
Metadata
Assignees
Labels
Area-Compiler-StateMachinesSequence, list, task and other state machine compilationSequence, list, task and other state machine compilationBugImpact-Medium(Internal MS Team use only) Describes an issue with moderate impact on existing code.(Internal MS Team use only) Describes an issue with moderate impact on existing code.
Type
Projects
Status
New