Skip to content

Commit e634d66

Browse files
committed
yield! 1..10
1 parent b3e463e commit e634d66

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

src/Compiler/Checking/Expressions/CheckExpressionsOps.fs

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -452,6 +452,23 @@ let transformMixedListWithExplicitYields elems m =
452452
| RangeExpr rangeExpr -> cont (``yield!`` rangeExpr expr)
453453
| SynExpr.YieldOrReturnFrom _ -> cont expr
454454
| SynExpr.YieldOrReturn _ -> cont expr
455+
| SynExpr.IfThenElse(ifExpr, thenExpr, elseExprOpt, spIfToThen, isFromErrorRecovery, range, trivia) ->
456+
transformExpr thenExpr (fun transformedThen ->
457+
match elseExprOpt with
458+
| Some elseExpr ->
459+
transformExpr elseExpr (fun transformedElse ->
460+
cont (
461+
SynExpr.IfThenElse(
462+
ifExpr,
463+
transformedThen,
464+
Some transformedElse,
465+
spIfToThen,
466+
isFromErrorRecovery,
467+
range,
468+
trivia
469+
)
470+
))
471+
| None -> cont (SynExpr.IfThenElse(ifExpr, transformedThen, None, spIfToThen, isFromErrorRecovery, range, trivia)))
455472
| _ -> cont (``yield`` expr)
456473

457474
let rec loop elems cont =

0 commit comments

Comments
 (0)