Skip to content

Commit 35ba66b

Browse files
Edgar GonzalezEdgar Gonzalez
Edgar Gonzalez
authored and
Edgar Gonzalez
committed
Use a more accurate range for ce Combine methods
1 parent f007405 commit 35ba66b

File tree

3 files changed

+395
-1
lines changed

3 files changed

+395
-1
lines changed

src/Compiler/Checking/Expressions/CheckComputationExpressions.fs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1624,7 +1624,7 @@ let rec TryTranslateComputationExpression
16241624
ceenv.builderTy
16251625
)
16261626
then
1627-
error (Error(FSComp.SR.tcRequireBuilderMethod ("Combine"), m))
1627+
error (Error(FSComp.SR.tcRequireBuilderMethod ("Combine"), innerComp2.RangeOfFirstPortion))
16281628

16291629
if
16301630
isNil (

src/Compiler/SyntaxTree/SyntaxTree.fs

+2
Original file line numberDiff line numberDiff line change
@@ -861,6 +861,8 @@ type SynExpr =
861861
| SynExpr.Sequential(expr1 = e1)
862862
| SynExpr.SequentialOrImplicitYield(expr1 = e1)
863863
| SynExpr.App(funcExpr = e1) -> e1.RangeOfFirstPortion
864+
| SynExpr.YieldOrReturn(trivia = synExprYieldOrReturnTrivia) -> synExprYieldOrReturnTrivia.YieldOrReturnKeyword
865+
| SynExpr.YieldOrReturnFrom(trivia = synExprYieldOrReturnFromTrivia) -> synExprYieldOrReturnFromTrivia.YieldOrReturnFromKeyword
864866
| SynExpr.ForEach(pat = pat; range = r) ->
865867
let e = (pat.Range: range).Start
866868
withEnd e r

0 commit comments

Comments
 (0)