Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/main'
Browse files Browse the repository at this point in the history
  • Loading branch information
vzarytovskii committed Oct 16, 2024
2 parents e7239b5 + 7ebe5c5 commit d4933a1
Show file tree
Hide file tree
Showing 104 changed files with 1,322 additions and 848 deletions.
2 changes: 1 addition & 1 deletion .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// For format details, see https://aka.ms/vscode-remote/devcontainer.json or this file's README at:
{
"name": "F#",
"image": "mcr.microsoft.com/dotnet/sdk:9.0.100-rc.1",
"image": "mcr.microsoft.com/dotnet/sdk:9.0.100-rc.2",
"features": {
"ghcr.io/devcontainers/features/common-utils:2.5.1": {},
"ghcr.io/devcontainers/features/git:1.3.2": {},
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ about: Create a report to help us improve F#
title: ''
labels: [Bug, Needs-Triage]
assignees: ''

type: 'Bug'
---

Please provide a succinct description of the issue.
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ about: Suggest an idea for the F# tools or compiler
title: ''
labels: [Feature Request, Needs-Triage]
assignees: ''

type: 'Feature'
---

**Is your feature request related to a problem? Please describe.**
Expand Down
8 changes: 6 additions & 2 deletions Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,11 @@
<IgnoreMibc Condition="'$(IgnoreMibc)' == ''">$(DotNetBuildSourceOnly)</IgnoreMibc>
</PropertyGroup>

<PropertyGroup>
<!-- TODO: These need to be removed once we merge/release the new SDK with noward and line fixes. -->
<NoWarn>$(NoWarn);FS0064;FS1182</NoWarn>
</PropertyGroup>

<!--
When developers load the FSharp.Compiler.Service solution we set FSHARPCORE_USE_PACKAGE to true if it hasn't already been set to a value.
This option ensures that building and testing uses the specified FSharp.Core nuget package instead of the local FSharp.Core project.
Expand Down Expand Up @@ -47,8 +52,7 @@
<PropertyGroup Condition="'$(BUILDING_USING_DOTNET)' == 'true'">
<DisableAutoSetFscCompilerPath>false</DisableAutoSetFscCompilerPath>

<!-- TODO(vlza): This probably should be `true` once fslib with nullness ships, since shipped library is preferred by default when building this solution. -->
<FSHARPCORE_USE_PACKAGE Condition="'$(FSHARPCORE_USE_PACKAGE)' == ''">false</FSHARPCORE_USE_PACKAGE>
<FSHARPCORE_USE_PACKAGE Condition="'$(FSHARPCORE_USE_PACKAGE)' == ''">true</FSHARPCORE_USE_PACKAGE>

<DISABLE_ARCADE Condition="'$(DISABLE_ARCADE)' == ''">true</DISABLE_ARCADE>
<ArtifactsDir>$(MSBuildThisFileDirectory)artifacts/</ArtifactsDir>
Expand Down
6 changes: 6 additions & 0 deletions azure-pipelines-PR.yml
Original file line number Diff line number Diff line change
Expand Up @@ -488,6 +488,8 @@ stages:
displayName: Publish Test Results
inputs:
testResultsFormat: 'XUnit'
testRunTitle: WindowsCompressedMetadata $(_testKind)
mergeTestResults: true
testResultsFiles: '*.xml'
searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_configuration)'
continueOnError: true
Expand Down Expand Up @@ -558,7 +560,9 @@ stages:
displayName: Publish Test Results
inputs:
testResultsFormat: 'XUnit'
testRunTitle: Linux
testResultsFiles: '*.xml'
mergeTestResults: true
searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)'
continueOnError: true
condition: always()
Expand Down Expand Up @@ -602,6 +606,8 @@ stages:
inputs:
testResultsFormat: 'XUnit'
testResultsFiles: '*.xml'
testRunTitle: MacOS
mergeTestResults: true
searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)'
continueOnError: true
condition: always()
Expand Down
2 changes: 1 addition & 1 deletion docs/release-notes/.FSharp.Compiler.Service/9.0.100.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
* Allow access modifies to auto properties getters and setters ([Language suggestion #430](https://github.com/fsharp/fslang-suggestions/issues/430), [PR 16687](https://github.com/dotnet/fsharp/pull/16687), [PR 16861](https://github.com/dotnet/fsharp/pull/16861), [PR 17522](https://github.com/dotnet/fsharp/pull/17522))
* Render C# nullable-analysis attributes in tooltips ([PR #17485](https://github.com/dotnet/fsharp/pull/17485))
* Allow object expression without overrides. ([Language suggestion #632](https://github.com/fsharp/fslang-suggestions/issues/632), [PR #17387](https://github.com/dotnet/fsharp/pull/17387))
* Enable FSharp 9.0 Language Version ([Issue #17497](https://github.com/dotnet/fsharp/issues/17438)), [PR](https://github.com/dotnet/fsharp/pull/17500)))
* Enable FSharp 9.0 Language Version ([Issue #17497](https://github.com/dotnet/fsharp/issues/17497)), [PR](https://github.com/dotnet/fsharp/pull/17500)))
* Enable LanguageFeature.EnforceAttributeTargets in F# 9.0. ([Issue #17514](https://github.com/dotnet/fsharp/issues/17558), [PR #17516](https://github.com/dotnet/fsharp/pull/17558))
* Parser: better recovery for unfinished patterns ([PR #17231](https://github.com/dotnet/fsharp/pull/17231), [PR #17232](https://github.com/dotnet/fsharp/pull/17232)))
* Enable consuming generic arguments defined as `allows ref struct` in C# ([Issue #17597](https://github.com/dotnet/fsharp/issues/17597), display them in tooltips [PR #17706](https://github.com/dotnet/fsharp/pull/17706))
Expand Down
3 changes: 3 additions & 0 deletions docs/release-notes/.FSharp.Compiler.Service/9.0.200.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
* Fix extension methods support for non-reference system assemblies ([PR #17799](https://github.com/dotnet/fsharp/pull/17799))
* Ensure `frameworkTcImportsCache` mutations are thread-safe. ([PR #17795](https://github.com/dotnet/fsharp/pull/17795))
* Fix concurrency issue in `ILPreTypeDefImpl` ([PR #17812](https://github.com/dotnet/fsharp/pull/17812))
* Fix nullness inference for member val and other OO scenarios ([PR #17845](https://github.com/dotnet/fsharp/pull/17845))

### Added

Expand All @@ -18,5 +19,7 @@
* Better ranges for CE `do!` error reporting. ([PR #17779](https://github.com/dotnet/fsharp/pull/17779))
* Better ranges for CE `return, yield, return! and yield!` error reporting. ([PR #17792](https://github.com/dotnet/fsharp/pull/17792))
* Better ranges for CE `match!`. ([PR #17789](https://github.com/dotnet/fsharp/pull/17789))
* Better ranges for CE `use` error reporting. ([PR #17811](https://github.com/dotnet/fsharp/pull/17811))
* Better ranges for `inherit` error reporting. ([PR #17879](https://github.com/dotnet/fsharp/pull/17879))

### Breaking Changes
2 changes: 1 addition & 1 deletion eng/TSAConfig.gdntsa
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"codebaseName": "FSharp-GitHub",
"notificationAliases": [
"mlinfraswat@microsoft.com"
"fsharp@microsoft.com"
],
"codebaseAdmins": [
"EUROPE\\vlza",
Expand Down
4 changes: 2 additions & 2 deletions eng/Version.Details.xml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<Dependencies>
<ProductDependencies>
<Dependency Name="Microsoft.SourceBuild.Intermediate.source-build-reference-packages" Version="10.0.0-alpha.1.24459.1">
<Dependency Name="Microsoft.SourceBuild.Intermediate.source-build-reference-packages" Version="10.0.0-alpha.1.24507.1">
<Uri>https://github.com/dotnet/source-build-reference-packages</Uri>
<Sha>08649fed58d668737a54913f7d4c649a8da5dc6e</Sha>
<Sha>fd609e3b427601180d23633e2f1a4cdac6c42c20</Sha>
<SourceBuild RepoName="source-build-reference-packages" ManagedOnly="true" />
</Dependency>
<!-- Intermediate is necessary for source build. -->
Expand Down
2 changes: 1 addition & 1 deletion eng/Versions.props
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
<FSharpLibrariesChangelogVersion>$(FSMajorVersion).$(FSMinorVersion).$(FSBuildVersion)</FSharpLibrariesChangelogVersion>
<!-- -->
<!-- The current published nuget package -->
<FSharpCoreShippedPackageVersionValue>8.0.400</FSharpCoreShippedPackageVersionValue>
<FSharpCoreShippedPackageVersionValue>9.0.100-beta.24466.6</FSharpCoreShippedPackageVersionValue>
<!-- -->
<!-- The pattern for specifying the preview package -->
<FSharpCorePreviewPackageVersionValue>$(FSCorePackageVersionValue)-$(PreReleaseVersionLabel).*</FSharpCorePreviewPackageVersionValue>
Expand Down
4 changes: 2 additions & 2 deletions global.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
{
"sdk": {
"version": "9.0.100-rc.1.24452.12",
"version": "9.0.100-rc.2.24474.11",
"allowPrerelease": true
},
"tools": {
"dotnet": "9.0.100-rc.1.24452.12",
"dotnet": "9.0.100-rc.2.24474.11",
"vs": {
"version": "17.8",
"components": [
Expand Down
10 changes: 7 additions & 3 deletions src/Compiler/Checking/CheckDeclarations.fs
Original file line number Diff line number Diff line change
Expand Up @@ -3622,7 +3622,11 @@ module EstablishTypeDefinitionCores =
// Note: for a mutually recursive set we can't check this condition
// until "isSealedTy" and "isClassTy" give reliable results.
superTy |> Option.iter (fun ty ->
let m = match inherits with | [] -> m | (_, m, _) :: _ -> m
let m =
match inherits with
| [] -> m
| (synType, _, _) :: _ -> synType.Range

if isSealedTy g ty then
errorR(Error(FSComp.SR.tcCannotInheritFromSealedType(), m))
elif not (isClassTy g ty) then
Expand Down Expand Up @@ -4292,7 +4296,7 @@ module TcDeclarations =
| SynMemberDefn.AutoProperty (range=m) :: _ -> errorR(InternalError("List.takeUntil is wrong, have auto property", m))
| SynMemberDefn.ImplicitInherit (range=m) :: _ -> errorR(Error(FSComp.SR.tcTypeDefinitionsWithImplicitConstructionMustHaveOneInherit(), m))
| SynMemberDefn.LetBindings (range=m) :: _ -> errorR(Error(FSComp.SR.tcTypeDefinitionsWithImplicitConstructionMustHaveLocalBindingsBeforeMembers(), m))
| SynMemberDefn.Inherit (range=m) :: _ -> errorR(Error(FSComp.SR.tcInheritDeclarationMissingArguments(), m))
| SynMemberDefn.Inherit (trivia= { InheritKeyword = m }) :: _ -> errorR(Error(FSComp.SR.tcInheritDeclarationMissingArguments(), m))
| SynMemberDefn.NestedType (range=m) :: _ -> errorR(Error(FSComp.SR.tcTypesCannotContainNestedTypes(), m))
| _ -> ()
| ds ->
Expand Down Expand Up @@ -4464,7 +4468,7 @@ module TcDeclarations =
let implements2 = members |> List.choose (function SynMemberDefn.Interface (interfaceType=ty) -> Some(ty, ty.Range) | _ -> None)
let inherits =
members |> List.choose (function
| SynMemberDefn.Inherit (ty, idOpt, m) -> Some(ty, m, idOpt)
| SynMemberDefn.Inherit (ty, idOpt, m, _) -> Some(ty, m, idOpt)
| SynMemberDefn.ImplicitInherit (ty, _, idOpt, m) -> Some(ty, m, idOpt)
| _ -> None)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1805,11 +1805,8 @@ let rec TryTranslateComputationExpression
| SynExpr.LetOrUse(
isUse = true
bindings = [ SynBinding(kind = SynBindingKind.Normal; headPat = pat; expr = rhsExpr; debugPoint = spBind) ]
body = innerComp) ->
let mBind =
match spBind with
| DebugPointAtBinding.Yes m -> m
| _ -> rhsExpr.Range
body = innerComp
trivia = { LetOrUseKeyword = mBind }) ->

if ceenv.isQuery then
error (Error(FSComp.SR.tcUseMayNotBeUsedInQueries (), mBind))
Expand Down
10 changes: 3 additions & 7 deletions src/Compiler/Checking/Expressions/CheckSequenceExpressions.fs
Original file line number Diff line number Diff line change
Expand Up @@ -232,9 +232,10 @@ let TcSequenceExpression (cenv: TcFileState) env tpenv comp (overallTy: OverallT
// 'use x = expr in expr'
| SynExpr.LetOrUse(
isUse = true
bindings = [ SynBinding(kind = SynBindingKind.Normal; headPat = pat; expr = rhsExpr; debugPoint = spBind) ]
bindings = [ SynBinding(kind = SynBindingKind.Normal; headPat = pat; expr = rhsExpr) ]
body = innerComp
range = wholeExprMark) ->
range = wholeExprMark
trivia = { LetOrUseKeyword = mBind }) ->

let bindPatTy = NewInferenceType g
let inputExprTy = NewInferenceType g
Expand All @@ -252,11 +253,6 @@ let TcSequenceExpression (cenv: TcFileState) env tpenv comp (overallTy: OverallT
let envinner = { envinner with eIsControlFlow = true }
tcSequenceExprBody envinner genOuterTy tpenv innerComp

let mBind =
match spBind with
| DebugPointAtBinding.Yes m -> m.NoteSourceConstruct(NotedSourceConstruct.Binding)
| _ -> inputExpr.Range

let inputExprMark = inputExpr.Range

let matchv, matchExpr =
Expand Down
2 changes: 1 addition & 1 deletion src/Compiler/Driver/GraphChecking/FileContentMapping.fs
Original file line number Diff line number Diff line change
Expand Up @@ -220,7 +220,7 @@ let visitSynMemberDefn (md: SynMemberDefn) : FileContentEntry list =
| SynMemberDefn.Interface(interfaceType, _, members, _) ->
yield! visitSynType interfaceType
yield! collectFromOption (List.collect visitSynMemberDefn) members
| SynMemberDefn.Inherit(baseType, _, _) -> yield! visitSynType baseType
| SynMemberDefn.Inherit(baseType = t) -> yield! visitSynType t
| SynMemberDefn.ValField(fieldInfo, _) -> yield! visitSynField fieldInfo
| SynMemberDefn.NestedType _ -> ()
| SynMemberDefn.AutoProperty(attributes = attributes; typeOpt = typeOpt; synExpr = synExpr) ->
Expand Down
5 changes: 4 additions & 1 deletion src/Compiler/FSharp.Compiler.Service.fsproj
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,11 @@
<TargetFrameworks Condition=" '$(OfficialBuildId)' == '' AND '$(FSharpNetCoreProductDefaultTargetFramework)' != '' AND '$(Configuration)' != 'Proto' AND '$(SKIP_NETCURRENT_FSC_BUILD)' != 'true' ">$(FSharpNetCoreProductDefaultTargetFramework);$(TargetFrameworks)</TargetFrameworks>
<DefineConstants Condition="'$(FSHARPCORE_USE_PACKAGE)' == 'true'">$(DefineConstants);FSHARPCORE_USE_PACKAGE</DefineConstants>
<OtherFlags>$(OtherFlags) --extraoptimizationloops:1</OtherFlags>

<!-- TODO: This needs to be re-enabled once we merge/release the new SDK with noward and line fixes. -->
<!-- 1182: Unused variables -->
<OtherFlags>$(OtherFlags) --warnon:1182</OtherFlags>
<OtherFlags>$(OtherFlags) --nowarn:1182</OtherFlags>

<!-- 3218: ArgumentsInSigAndImplMismatch -->
<OtherFlags>$(OtherFlags) --warnon:3218</OtherFlags>
<!-- 3390: xmlDocBadlyFormed -->
Expand Down
14 changes: 6 additions & 8 deletions src/Compiler/Facilities/prim-parsing.fs
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,10 @@ module internal Implementation =
//-------------------------------------------------------------------------
// Read the tables written by FSYACC.

type AssocTable(elemTab: uint16[], offsetTab: uint16[], cache: int[], cacheSize: int) =
type AssocTable(elemTab: uint16[], offsetTab: uint16[], cache: int[]) =

do Array.fill cache 0 cache.Length -1
let cacheSize = cache.Length / 2

member t.ReadAssoc(minElemNum, maxElemNum, defaultValueOfAssoc, keyToFind) =
// do a binary chop on the table
Expand Down Expand Up @@ -273,13 +276,8 @@ module internal Implementation =
let lhsPos = (Array.zeroCreate 2: Position[])
let reductions = tables.reductions
let cacheSize = 7919 // the 1000'th prime
// Use a simpler hash table with faster lookup, but only one
// hash bucket per key.
let actionTableCache = ArrayPool<int>.Shared.Rent(cacheSize * 2)
let gotoTableCache = ArrayPool<int>.Shared.Rent(cacheSize * 2)
// Clear the arrays since ArrayPool does not
Array.Clear(actionTableCache, 0, actionTableCache.Length)
Array.Clear(gotoTableCache, 0, gotoTableCache.Length)

use _cacheDisposal =
{ new IDisposable with
Expand All @@ -289,10 +287,10 @@ module internal Implementation =
}

let actionTable =
AssocTable(tables.actionTableElements, tables.actionTableRowOffsets, actionTableCache, cacheSize)
AssocTable(tables.actionTableElements, tables.actionTableRowOffsets, actionTableCache)

let gotoTable =
AssocTable(tables.gotos, tables.sparseGotoTableRowOffsets, gotoTableCache, cacheSize)
AssocTable(tables.gotos, tables.sparseGotoTableRowOffsets, gotoTableCache)

let stateToProdIdxsTable =
IdxToIdxListTable(tables.stateToProdIdxsTableElements, tables.stateToProdIdxsTableRowOffsets)
Expand Down
2 changes: 1 addition & 1 deletion src/Compiler/Service/FSharpParseFileResults.fs
Original file line number Diff line number Diff line change
Expand Up @@ -814,7 +814,7 @@ type FSharpParseFileResults(diagnostics: FSharpDiagnostic[], input: ParsedInput,
| SynMemberDefn.Interface(members = Some membs) ->
for m in membs do
yield! walkMember m
| SynMemberDefn.Inherit(_, _, m) ->
| SynMemberDefn.Inherit(range = m) ->
// can break on the "inherit" clause
yield! checkRange m
| SynMemberDefn.ImplicitInherit(_, arg, _, m) ->
Expand Down
4 changes: 2 additions & 2 deletions src/Compiler/Service/ServiceLexing.fs
Original file line number Diff line number Diff line change
Expand Up @@ -734,7 +734,7 @@ module internal LexerStateEncoding =
)
| LexCont.EndLine(ifdefs, stringNest, econt) ->
match econt with
| LexerEndlineContinuation.Skip(n, m) ->
| LexerEndlineContinuation.IfdefSkip(n, m) ->
encodeLexCont (
FSharpTokenizerColorState.EndLineThenSkip,
int64 n,
Expand Down Expand Up @@ -834,7 +834,7 @@ module internal LexerStateEncoding =
| FSharpTokenizerColorState.ExtendedInterpolatedString ->
LexCont.String(ifdefs, stringNest, LexerStringStyle.ExtendedInterpolated, stringKind, delimLen, mkRange "file" p1 p1)
| FSharpTokenizerColorState.EndLineThenSkip ->
LexCont.EndLine(ifdefs, stringNest, LexerEndlineContinuation.Skip(n1, mkRange "file" p1 p1))
LexCont.EndLine(ifdefs, stringNest, LexerEndlineContinuation.IfdefSkip(n1, mkRange "file" p1 p1))
| FSharpTokenizerColorState.EndLineThenToken -> LexCont.EndLine(ifdefs, stringNest, LexerEndlineContinuation.Token)
| _ -> LexCont.Token([], stringNest)

Expand Down
2 changes: 1 addition & 1 deletion src/Compiler/Service/ServiceParseTreeWalk.fs
Original file line number Diff line number Diff line change
Expand Up @@ -996,7 +996,7 @@ module SyntaxTraversal =

|> pick x
| ok -> ok
| SynMemberDefn.Inherit(synType, _identOption, range) -> traverseInherit (synType, range)
| SynMemberDefn.Inherit(synType, _identOption, range, _) -> traverseInherit (synType, range)
| SynMemberDefn.ValField _ -> None
| SynMemberDefn.NestedType(synTypeDefn, _synAccessOption, _range) -> traverseSynTypeDefn path synTypeDefn

Expand Down
4 changes: 2 additions & 2 deletions src/Compiler/Service/ServiceParsedInputOps.fs
Original file line number Diff line number Diff line change
Expand Up @@ -913,7 +913,7 @@ module ParsedInput =
walkType t
|> Option.orElseWith (fun () -> members |> Option.bind (List.tryPick walkMember))

| SynMemberDefn.Inherit(t, _, _) -> walkType t
| SynMemberDefn.Inherit(baseType = t) -> walkType t

| SynMemberDefn.ValField(fieldInfo = field) -> walkField field

Expand Down Expand Up @@ -2240,7 +2240,7 @@ module ParsedInput =
| SynMemberDefn.Interface(interfaceType = t; members = members) ->
walkType t
members |> Option.iter (List.iter walkMember)
| SynMemberDefn.Inherit(t, _, _) -> walkType t
| SynMemberDefn.Inherit(baseType = t) -> walkType t
| SynMemberDefn.ValField(fieldInfo = field) -> walkField field
| SynMemberDefn.NestedType(tdef, _, _) -> walkTypeDefn tdef
| SynMemberDefn.AutoProperty(attributes = Attributes attrs; typeOpt = t; synExpr = e) ->
Expand Down
4 changes: 2 additions & 2 deletions src/Compiler/Service/service.fs
Original file line number Diff line number Diff line change
Expand Up @@ -72,10 +72,10 @@ module CompileHelpers =

try
f exiter
0
None
with e ->
stopProcessingRecovery e range0
1
Some e

/// Compile using the given flags. Source files names are resolved via the FileSystem API. The output file must be given by a -o flag.
let compileFromArgs (ctok, argv: string[], legacyReferenceResolver, tcImportsCapture, dynamicAssemblyCreator) =
Expand Down
3 changes: 2 additions & 1 deletion src/Compiler/Service/service.fsi
Original file line number Diff line number Diff line change
Expand Up @@ -400,11 +400,12 @@ type public FSharpChecker =
/// Compile using the given flags. Source files names are resolved via the FileSystem API.
/// The output file must be given by a -o flag.
/// The first argument is ignored and can just be "fsc.exe".
/// The method returns the collected diagnostics, and (possibly) a terminating exception.
/// </summary>
///
/// <param name="argv">The command line arguments for the project build.</param>
/// <param name="userOpName">An optional string used for tracing compiler operations associated with this request.</param>
member Compile: argv: string[] * ?userOpName: string -> Async<FSharpDiagnostic[] * int>
member Compile: argv: string[] * ?userOpName: string -> Async<FSharpDiagnostic[] * exn option>

/// <summary>
/// Try to get type check results for a file. This looks up the results of recent type checks of the
Expand Down
2 changes: 1 addition & 1 deletion src/Compiler/SyntaxTree/LexHelpers.fs
Original file line number Diff line number Diff line change
Expand Up @@ -249,7 +249,7 @@ let errorsInByteStringBuffer (buf: ByteBuffer) =
else
None

let newline (lexbuf: LexBuffer<_>) = lexbuf.EndPos <- lexbuf.EndPos.NextLine
let incrLine (lexbuf: LexBuffer<_>) = lexbuf.EndPos <- lexbuf.EndPos.NextLine

let advanceColumnBy (lexbuf: LexBuffer<_>) n =
lexbuf.EndPos <- lexbuf.EndPos.ShiftColumnBy(n)
Expand Down
Loading

0 comments on commit d4933a1

Please sign in to comment.