Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
1799aaf
make attribute targets mismatches a warning and not an error.
edgarfgp Apr 23, 2025
55507e9
release notes
edgarfgp Apr 23, 2025
1738018
update tests
edgarfgp Apr 23, 2025
65f5bb6
Merge branch 'main' into fix-attr-targets
edgarfgp Apr 24, 2025
0c97b9d
Merge branch 'main' into fix-attr-targets
edgarfgp Apr 27, 2025
6f2b706
update baselines
edgarfgp Apr 29, 2025
e8f1bb0
Merge branch 'main' into fix-attr-targets
edgarfgp Apr 29, 2025
75d8f5e
Update baselines
edgarfgp Apr 29, 2025
4f2e97e
Merge branch 'fix-attr-targets' of github.com:edgarfgp/fsharp into fi…
edgarfgp Apr 29, 2025
63be5d5
Merge branch 'main' into fix-attr-targets
edgarfgp Apr 30, 2025
4248f2a
Move attribute form logic to an AP
edgarfgp Apr 30, 2025
cc96217
Merge branch 'main' into fix-attr-targets
edgarfgp May 1, 2025
e270b88
Merge branch 'main' into fix-attr-targets
edgarfgp May 1, 2025
e0cc65a
Merge branch 'main' into fix-attr-targets
edgarfgp May 2, 2025
1e29d58
Merge branch 'main' into fix-attr-targets
edgarfgp May 5, 2025
1470bf9
Merge branch 'main' into fix-attr-targets
edgarfgp May 6, 2025
8988215
Merge branch 'main' into fix-attr-targets
edgarfgp May 7, 2025
74712e8
Merge branch 'main' into fix-attr-targets
edgarfgp May 12, 2025
967c4a9
Merge branch 'main' of github.com:edgarfgp/fsharp
edgarfgp May 13, 2025
a30cef4
Merge branch 'dotnet:main' into main
edgarfgp May 22, 2025
5fa0480
Merge branch 'dotnet:main' into main
edgarfgp May 24, 2025
4efc034
Add range to SynExprRecordField
edgarfgp May 27, 2025
b37bc52
Update SyntaxTree tests
edgarfgp May 27, 2025
3c09257
fix last test
edgarfgp May 27, 2025
9ef3baf
refactor to avoid duplication
edgarfgp May 27, 2025
a4d3d79
update baselines
edgarfgp May 27, 2025
d8245db
format code
edgarfgp May 27, 2025
cad668c
Merge branch 'main' into fix-13274
edgarfgp May 27, 2025
2751b2b
Release notes
edgarfgp May 27, 2025
350d0d9
more tests
edgarfgp May 27, 2025
09b736d
Merge branch 'fix-13274' of github.com:edgarfgp/fsharp into fix-13274
edgarfgp May 27, 2025
da0387e
Merge branch 'main' into fix-13274
edgarfgp May 28, 2025
5151289
Merge branch 'main' into fix-13274
edgarfgp May 28, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/release-notes/.FSharp.Compiler.Service/10.0.100.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

* Fix parsing errors using anonymous records and units of measures ([PR #18543](https://github.com/dotnet/fsharp/pull/18543))
* Fixed: Allow `return`, `return!`, `yield`, `yield!` type annotations without parentheses ([PR #18533](https://github.com/dotnet/fsharp/pull/18533))
* Range of `SynExprRecordField` should include the expression ([PR #18617](https://github.com/dotnet/fsharp/pull/18617))
* Allow `let!` and `use!` type annotations without requiring parentheses ([PR #18508](https://github.com/dotnet/fsharp/pull/18508))
* Fix find all references for F# exceptions ([PR #18565](https://github.com/dotnet/fsharp/pull/18565))
* Shorthand lambda: fix completion for chained calls and analysis for unfinished expression ([PR #18560](https://github.com/dotnet/fsharp/pull/18560))
Expand Down
8 changes: 7 additions & 1 deletion src/Compiler/Checking/CheckRecordSyntaxHelpers.fs
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,13 @@ let TransformAstForNestedUpdates (cenv: TcFileState) (env: TcEnv) overallTy (lid
| _ ->
let fields =
[
SynExprRecordField((LongIdentWithDots([ fieldId ], []), true), None, Some nestedField, None)
SynExprRecordField(
(LongIdentWithDots([ fieldId ], []), true),
None,
Some nestedField,
unionRanges fieldId.idRange nestedField.Range,
None
)
]

SynExpr.Record(None, copyInfo outerFieldId, fields, outerFieldId.idRange)
Expand Down
27 changes: 24 additions & 3 deletions src/Compiler/SyntaxTree/ParseHelpers.fs
Original file line number Diff line number Diff line change
Expand Up @@ -704,10 +704,31 @@ let patFromParseError (e: SynPat) = SynPat.FromParseError(e, e.Range)
// to form
// binding1*sep1, binding2*sep2
let rebindRanges first fields lastSep =
let rec run (name, mEquals, value) l acc =
let calculateFieldRange (lidwd: SynLongIdent) (mEquals: range option) (value: SynExpr option) =
match lidwd with
| SynLongIdent([], _, _) ->
// Special case used in inherit clause
match mEquals, value with
| Some mEq, Some expr -> unionRanges mEq expr.Range
| Some mEq, None -> mEq
| None, Some expr -> expr.Range
| None, None -> range0
| _ ->
// Normal case
match value with
| Some expr -> unionRanges lidwd.Range expr.Range
| None ->
match mEquals with
| Some mEq -> unionRanges lidwd.Range mEq
| None -> lidwd.Range

let rec run (name, mEquals, value: SynExpr option) l acc =
let lidwd, _ = name
let fieldRange = calculateFieldRange lidwd mEquals value

match l with
| [] -> List.rev (SynExprRecordField(name, mEquals, value, lastSep) :: acc)
| (f, m) :: xs -> run f xs (SynExprRecordField(name, mEquals, value, m) :: acc)
| [] -> List.rev (SynExprRecordField(name, mEquals, value, fieldRange, lastSep) :: acc)
| (f, m) :: xs -> run f xs (SynExprRecordField(name, mEquals, value, fieldRange, m) :: acc)

run first fields []

Expand Down
1 change: 1 addition & 0 deletions src/Compiler/SyntaxTree/SyntaxTree.fs
Original file line number Diff line number Diff line change
Expand Up @@ -896,6 +896,7 @@ type SynExprRecordField =
fieldName: RecordFieldName *
equalsRange: range option *
expr: SynExpr option *
range: range *
blockSeparator: BlockSeparator option

[<NoEquality; NoComparison; RequireQualifiedAccess>]
Expand Down
1 change: 1 addition & 0 deletions src/Compiler/SyntaxTree/SyntaxTree.fsi
Original file line number Diff line number Diff line change
Expand Up @@ -999,6 +999,7 @@ type SynExprRecordField =
fieldName: RecordFieldName *
equalsRange: range option *
expr: SynExpr option *
range: range *
blockSeparator: BlockSeparator option

[<NoEquality; NoComparison; RequireQualifiedAccess>]
Expand Down
16 changes: 8 additions & 8 deletions src/Compiler/pars.fsy
Original file line number Diff line number Diff line change
Expand Up @@ -5624,7 +5624,7 @@ recdExpr:
let l = List.rev $5
let dummyField = mkRecdField (SynLongIdent([], [], [])) // dummy identifier, it will be discarded
let l = rebindRanges (dummyField, None, None) l $6
let (SynExprRecordField(_, _, _, inheritsSep)) = List.head l
let (SynExprRecordField(_, _, _, _, inheritsSep)) = List.head l
let bindings = List.tail l
(Some($2, arg, rhs2 parseState 2 4, inheritsSep, rhs parseState 1), None, bindings) }

Expand Down Expand Up @@ -5666,7 +5666,7 @@ recdExprCore:
reportParseErrorAt m (FSComp.SR.parsUnderscoreInvalidFieldName())
reportParseErrorAt m (FSComp.SR.parsFieldBinding())
let f = mkUnderscoreRecdField m
(None, [ SynExprRecordField(f, None, None, None) ]) }
(None, [ SynExprRecordField(f, None, None, m, None) ]) }

| UNDERSCORE EQUALS
{ let m = rhs parseState 1
Expand All @@ -5675,7 +5675,7 @@ recdExprCore:
let mEquals = rhs parseState 2
reportParseErrorAt (rhs2 parseState 1 2) (FSComp.SR.parsFieldBinding())

(None, [ SynExprRecordField(f, Some mEquals, None, None) ]) }
(None, [ SynExprRecordField(f, Some mEquals, None, (rhs2 parseState 1 2), None) ]) }

| UNDERSCORE EQUALS declExprBlock recdExprBindings opt_seps_recd
{ reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsUnderscoreInvalidFieldName())
Expand Down Expand Up @@ -5860,9 +5860,9 @@ braceBarExprCore:
{ let orig, flds = $2
let flds =
flds |> List.choose (function
| SynExprRecordField((synLongIdent, _), mEquals, Some e, _) when orig.IsSome -> Some(synLongIdent, mEquals, e) // copy-and-update, long identifier signifies nesting
| SynExprRecordField((SynLongIdent([ _id ], _, _) as synLongIdent, _), mEquals, Some e, _) -> Some(synLongIdent, mEquals, e) // record construction, long identifier not valid
| SynExprRecordField((synLongIdent, _), mEquals, None, _) -> Some(synLongIdent, mEquals, arbExpr ("anonField", synLongIdent.Range))
| SynExprRecordField((synLongIdent, _), mEquals, Some e, _, _) when orig.IsSome -> Some(synLongIdent, mEquals, e) // copy-and-update, long identifier signifies nesting
| SynExprRecordField((SynLongIdent([ _id ], _, _) as synLongIdent, _), mEquals, Some e, _, _) -> Some(synLongIdent, mEquals, e) // record construction, long identifier not valid
| SynExprRecordField((synLongIdent, _), mEquals, None, _, _) -> Some(synLongIdent, mEquals, arbExpr ("anonField", synLongIdent.Range))
| _ -> reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsInvalidAnonRecdType()); None)
let mLeftBrace = rhs parseState 1
let mRightBrace = rhs parseState 3
Expand All @@ -5875,8 +5875,8 @@ braceBarExprCore:
let orig, flds = $2
let flds =
flds |> List.map (function
| SynExprRecordField((synLongIdent, _), mEquals, Some e, _) -> (synLongIdent, mEquals, e)
| SynExprRecordField((synLongIdent, _), mEquals, None, _) -> (synLongIdent, mEquals, arbExpr ("anonField", synLongIdent.Range)))
| SynExprRecordField((synLongIdent, _), mEquals, Some e, _, _) -> (synLongIdent, mEquals, e)
| SynExprRecordField((synLongIdent, _), mEquals, None, _, _) -> (synLongIdent, mEquals, arbExpr ("anonField", synLongIdent.Range)))
let mLeftBrace = rhs parseState 1
let mExpr = rhs parseState 2
(fun (mStruct: range option) ->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7888,7 +7888,9 @@ FSharp.Compiler.Syntax.SynExprAndBang: Int32 Tag
FSharp.Compiler.Syntax.SynExprAndBang: Int32 get_Tag()
FSharp.Compiler.Syntax.SynExprAndBang: System.String ToString()
FSharp.Compiler.Syntax.SynExprModule: Boolean shouldBeParenthesizedInContext(Microsoft.FSharp.Core.FSharpFunc`2[System.Int32,System.String], Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.SyntaxNode], FSharp.Compiler.Syntax.SynExpr)
FSharp.Compiler.Syntax.SynExprRecordField: FSharp.Compiler.Syntax.SynExprRecordField NewSynExprRecordField(System.Tuple`2[FSharp.Compiler.Syntax.SynLongIdent,System.Boolean], Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Text.Range], Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Syntax.SynExpr], Microsoft.FSharp.Core.FSharpOption`1[System.Tuple`2[FSharp.Compiler.Text.Range,Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Text.Position]]])
FSharp.Compiler.Syntax.SynExprRecordField: FSharp.Compiler.Syntax.SynExprRecordField NewSynExprRecordField(System.Tuple`2[FSharp.Compiler.Syntax.SynLongIdent,System.Boolean], Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Text.Range], Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Syntax.SynExpr], FSharp.Compiler.Text.Range, Microsoft.FSharp.Core.FSharpOption`1[System.Tuple`2[FSharp.Compiler.Text.Range,Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Text.Position]]])
FSharp.Compiler.Syntax.SynExprRecordField: FSharp.Compiler.Text.Range get_range()
FSharp.Compiler.Syntax.SynExprRecordField: FSharp.Compiler.Text.Range range
FSharp.Compiler.Syntax.SynExprRecordField: Int32 Tag
FSharp.Compiler.Syntax.SynExprRecordField: Int32 get_Tag()
FSharp.Compiler.Syntax.SynExprRecordField: Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Syntax.SynExpr] expr
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7888,7 +7888,9 @@ FSharp.Compiler.Syntax.SynExprAndBang: Int32 Tag
FSharp.Compiler.Syntax.SynExprAndBang: Int32 get_Tag()
FSharp.Compiler.Syntax.SynExprAndBang: System.String ToString()
FSharp.Compiler.Syntax.SynExprModule: Boolean shouldBeParenthesizedInContext(Microsoft.FSharp.Core.FSharpFunc`2[System.Int32,System.String], Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.SyntaxNode], FSharp.Compiler.Syntax.SynExpr)
FSharp.Compiler.Syntax.SynExprRecordField: FSharp.Compiler.Syntax.SynExprRecordField NewSynExprRecordField(System.Tuple`2[FSharp.Compiler.Syntax.SynLongIdent,System.Boolean], Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Text.Range], Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Syntax.SynExpr], Microsoft.FSharp.Core.FSharpOption`1[System.Tuple`2[FSharp.Compiler.Text.Range,Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Text.Position]]])
FSharp.Compiler.Syntax.SynExprRecordField: FSharp.Compiler.Syntax.SynExprRecordField NewSynExprRecordField(System.Tuple`2[FSharp.Compiler.Syntax.SynLongIdent,System.Boolean], Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Text.Range], Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Syntax.SynExpr], FSharp.Compiler.Text.Range, Microsoft.FSharp.Core.FSharpOption`1[System.Tuple`2[FSharp.Compiler.Text.Range,Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Text.Position]]])
FSharp.Compiler.Syntax.SynExprRecordField: FSharp.Compiler.Text.Range get_range()
FSharp.Compiler.Syntax.SynExprRecordField: FSharp.Compiler.Text.Range range
FSharp.Compiler.Syntax.SynExprRecordField: Int32 Tag
FSharp.Compiler.Syntax.SynExprRecordField: Int32 get_Tag()
FSharp.Compiler.Syntax.SynExprRecordField: Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Syntax.SynExpr] expr
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ ImplFile
(None, Some (Ident foo, ((2,6--2,10), None)),
[SynExprRecordField
((SynLongIdent ([X], [], [None]), true), Some (4,12--4,13),
Some (Const (Int32 12, (5,16--5,18))), None)], (2,0--5,20)),
(2,0--5,20))], PreXmlDocEmpty, [], None, (2,0--5,20),
{ LeadingKeyword = None })], (true, true),
Some (Const (Int32 12, (5,16--5,18))), (3,8--5,18), None)],
(2,0--5,20)), (2,0--5,20))], PreXmlDocEmpty, [], None,
(2,0--5,20), { LeadingKeyword = None })], (true, true),
{ ConditionalDirectives = []
WarnDirectives = []
CodeComments = [] }, set []))
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
module Foo

{ inherit Exception(
"This is a " +
"multiline " +
"message"
)
X = 42
Y = "test"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
ImplFile
(ParsedImplFileInput
("/root/Expression/InheritRecord - Field 1.fs", false,
QualifiedNameOfFile Foo, [],
[SynModuleOrNamespace
([Foo], false, NamedModule,
[Expr
(Record
(Some
(LongIdent (SynLongIdent ([Exception], [], [None])),
Paren
(App
(NonAtomic, false,
App
(NonAtomic, true,
LongIdent
(false,
SynLongIdent
([op_Addition], [],
[Some (OriginalNotation "+")]), None,
(5,17--5,18)),
App
(NonAtomic, false,
App
(NonAtomic, true,
LongIdent
(false,
SynLongIdent
([op_Addition], [],
[Some (OriginalNotation "+")]), None,
(4,17--4,18)),
Const
(String
("This is a ", Regular, (4,4--4,16)),
(4,4--4,16)), (4,4--4,18)),
Const
(String ("multiline ", Regular, (5,4--5,16)),
(5,4--5,16)), (4,4--5,16)), (4,4--5,18)),
Const
(String ("message", Regular, (6,4--6,13)),
(6,4--6,13)), (4,4--6,13)), (3,19--3,20),
Some (7,2--7,3), (3,19--7,3)), (3,10--7,3),
Some ((7,4--8,2), None), (3,2--3,9)), None,
[SynExprRecordField
((SynLongIdent ([X], [], [None]), true), Some (8,4--8,5),
Some (Const (Int32 42, (8,6--8,8))), (8,2--8,8),
Some ((8,9--9,2), None));
SynExprRecordField
((SynLongIdent ([Y], [], [None]), true), Some (9,4--9,5),
Some
(Const
(String ("test", Regular, (9,6--9,12)), (9,6--9,12))),
(9,2--9,12), None)], (3,0--10,1)), (3,0--10,1))],
PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None,
(1,0--10,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true),
{ ConditionalDirectives = []
WarnDirectives = []
CodeComments = [] }, set []))
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
module Foo

{
inherit Exception("test")
Field1 = 1
Field2 = "two"
Field3 = 3.0
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
ImplFile
(ParsedImplFileInput
("/root/Expression/InheritRecord - Field 2.fs", false,
QualifiedNameOfFile Foo, [],
[SynModuleOrNamespace
([Foo], false, NamedModule,
[Expr
(Record
(Some
(LongIdent (SynLongIdent ([Exception], [], [None])),
Paren
(Const
(String ("test", Regular, (4,22--4,28)), (4,22--4,28)),
(4,21--4,22), Some (4,28--4,29), (4,21--4,29)),
(4,12--4,29), Some ((4,30--5,4), None), (4,4--4,11)), None,
[SynExprRecordField
((SynLongIdent ([Field1], [], [None]), true),
Some (5,11--5,12), Some (Const (Int32 1, (5,13--5,14))),
(5,4--5,14), Some ((5,15--6,4), None));
SynExprRecordField
((SynLongIdent ([Field2], [], [None]), true),
Some (6,11--6,12),
Some
(Const
(String ("two", Regular, (6,13--6,18)), (6,13--6,18))),
(6,4--6,18), Some ((6,19--7,4), None));
SynExprRecordField
((SynLongIdent ([Field3], [], [None]), true),
Some (7,11--7,12), Some (Const (Double 3.0, (7,13--7,16))),
(7,4--7,16), None)], (3,0--8,1)), (3,0--8,1))],
PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None,
(1,0--8,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true),
{ ConditionalDirectives = []
WarnDirectives = []
CodeComments = [] }, set []))
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ ImplFile
None,
[SynExprRecordField
((SynLongIdent ([X], [], [None]), true), Some (2,28--2,29),
Some (Const (Int32 1, (2,30--2,31))),
Some (Const (Int32 1, (2,30--2,31))), (2,26--2,31),
Some ((2,31--2,32), Some (2,32)))], (2,0--2,34)),
(2,0--2,34))], PreXmlDocEmpty, [], None, (2,0--2,34),
{ LeadingKeyword = None })], (true, true),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ ImplFile
(None, None,
[SynExprRecordField
((SynLongIdent ([A], [(3,3--3,4)], [None]), true),
Some (3,5--3,6), Some (Const (Int32 1, (3,7--3,8))), None)],
(3,0--3,10)), (3,0--3,10))],
Some (3,5--3,6), Some (Const (Int32 1, (3,7--3,8))),
(3,2--3,8), None)], (3,0--3,10)), (3,0--3,10))],
PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None,
(1,0--3,10), { LeadingKeyword = Module (1,0--1,6) })], (true, true),
{ ConditionalDirectives = []
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ ImplFile
[SynExprRecordField
((SynLongIdent
([A; B], [(3,3--3,4); (3,5--3,6)], [None; None]), true),
Some (3,7--3,8), Some (Const (Int32 1, (3,9--3,10))), None)],
(3,0--3,12)), (3,0--3,12))],
Some (3,7--3,8), Some (Const (Int32 1, (3,9--3,10))),
(3,2--3,10), None)], (3,0--3,12)), (3,0--3,12))],
PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None,
(1,0--3,12), { LeadingKeyword = Module (1,0--1,6) })], (true, true),
{ ConditionalDirectives = []
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ ImplFile
(None, None,
[SynExprRecordField
((SynLongIdent ([A], [], [None]), true), Some (3,4--3,5),
Some (Const (Int32 1, (3,6--3,7))), None)], (3,0--3,9)),
(3,0--3,9))],
Some (Const (Int32 1, (3,6--3,7))), (3,2--3,7), None)],
(3,0--3,9)), (3,0--3,9))],
PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None,
(1,0--3,9), { LeadingKeyword = Module (1,0--1,6) })], (true, true),
{ ConditionalDirectives = []
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ ImplFile
(None, None,
[SynExprRecordField
((SynLongIdent ([A; B], [(3,3--3,4)], [None; None]), true),
Some (3,6--3,7), Some (Const (Int32 1, (3,8--3,9))), None)],
(3,0--3,11)), (3,0--3,11))],
Some (3,6--3,7), Some (Const (Int32 1, (3,8--3,9))),
(3,2--3,9), None)], (3,0--3,11)), (3,0--3,11))],
PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None,
(1,0--3,11), { LeadingKeyword = Module (1,0--1,6) })], (true, true),
{ ConditionalDirectives = []
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,11 @@ ImplFile
(None, None,
[SynExprRecordField
((SynLongIdent ([A], [], [None]), true), Some (3,4--3,5),
Some (Const (Int32 1, (3,6--3,7))), Some ((3,8--4,2), None));
Some (Const (Int32 1, (3,6--3,7))), (3,2--3,7),
Some ((3,8--4,2), None));
SynExprRecordField
((SynLongIdent ([B], [(4,3--4,4)], [None]), true), None,
None, None)], (3,0--4,6)), (3,0--4,6))],
None, (4,2--4,4), None)], (3,0--4,6)), (3,0--4,6))],
PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None,
(1,0--4,6), { LeadingKeyword = Module (1,0--1,6) })], (true, true),
{ ConditionalDirectives = []
Expand Down
Loading