Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
f4710e3
Versioning for 17.14 and 9.0.300 (#18222)
vzarytovskii Jan 9, 2025
a4aacd7
Merge branch 'release/dev17.14' into merges/main-to-release/dev17.14
psfinaki Jan 20, 2025
3981d81
Merge pull request #18244 from dotnet/merges/main-to-release/dev17.14
psfinaki Jan 20, 2025
f759d6d
Merge pull request #18249 from dotnet/merges/main-to-release/dev17.14
psfinaki Jan 20, 2025
60e8032
Merge branch 'release/dev17.14' into merges/main-to-release/dev17.14
vzarytovskii Jan 20, 2025
4c4ddfd
Merge pull request #18251 from dotnet/merges/main-to-release/dev17.14
0101 Jan 21, 2025
7abe97c
Merge pull request #18258 from dotnet/merges/main-to-release/dev17.14
psfinaki Jan 22, 2025
54dcdf1
Merge branch 'release/dev17.14' into merges/main-to-release/dev17.14
KevinRansom Jan 23, 2025
2722fa8
Merge branch 'release/dev17.14' into merge/main-to-release/dev17.14
T-Gro Jan 28, 2025
387f04c
Merge pull request #18264 from dotnet/merges/main-to-release/dev17.14
0101 Jan 29, 2025
d8d06ed
Merge branch 'release/dev17.14' into merge/main-to-release/dev17.14
ViktorHofer Feb 18, 2025
41926ec
Merge pull request #18272 from dotnet/merge/main-to-release/dev17.14
T-Gro Feb 18, 2025
f7ee577
Merge branch 'release/dev17.14' into merge/main-to-release/dev17.14
T-Gro Feb 21, 2025
e4889bb
Merge pull request #18332 from dotnet/merge/main-to-release/dev17.14
T-Gro Feb 24, 2025
25edc45
Merge branch 'release/dev17.14' into merge/main-to-release/dev17.14
T-Gro Feb 25, 2025
345742d
Merge pull request #18339 from dotnet/merge/main-to-release/dev17.14
T-Gro Mar 10, 2025
4e1fd37
more code flow
KevinRansom Mar 24, 2025
e92bb80
Update fantomas to 7.0.1 (#18400)
KevinRansom Mar 24, 2025
734e8a5
Investigate.nuget (#18393)
KevinRansom Mar 24, 2025
f8a550b
Update dependencies from https://github.com/dotnet/source-build-refer…
dotnet-maestro[bot] Mar 25, 2025
8359ec6
Fantomas (#18404)
KevinRansom Mar 25, 2025
561a5eb
Fix false negative [<TailCall>] warning (#18399)
dawedawe Mar 25, 2025
a305ccd
Update dependencies from https://github.com/dotnet/msbuild build 2025…
dotnet-maestro[bot] Mar 25, 2025
31fdf7b
Fix GC test that is flaky on Linux (#18408)
majocha Mar 25, 2025
c549ebf
update runtime to 9.0.3 (#18406)
majocha Mar 25, 2025
127fd83
Merge pull request #18376 from dotnet/merge/main-to-release/dev17.14
T-Gro Mar 25, 2025
6f34f38
Merge branch 'release/dev18.0' into merge/release/dev17.14-to-release…
T-Gro Mar 26, 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
2 changes: 1 addition & 1 deletion .config/dotnet-tools.json
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@
"rollForward": true
},
"fantomas": {
"version": "6.2.3",
"version": "7.0.1",
"commands": [
"fantomas"
],
Expand Down
4 changes: 4 additions & 0 deletions .config/service-branch-merge.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,10 @@
"MergeToBranch": "main",
"ExtraSwitches": "-QuietComments"
},
"release/dev17.14": {
"MergeToBranch": "release/dev18.0",
"ExtraSwitches": "-QuietComments"
},
"main": {
"MergeToBranch": "release/dev17.14",
"ExtraSwitches": "-QuietComments"
Expand Down
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -134,4 +134,6 @@ positive.exe
/tests/FSharp.Compiler.ComponentTests/FSharpChecker/StandardOutput.txt

# ilverify baseline result files
*.bsl.actual
*.bsl.actual
/src/FSharp.DependencyManager.Nuget/StandardError.txt
/src/FSharp.DependencyManager.Nuget/StandardOutput.txt
2 changes: 1 addition & 1 deletion NuGet.config
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
<clear />
<!--Begin: Package sources managed by Dependency Flow automation. Do not edit the sources below.-->
<!-- Begin: Package sources from DotNet-msbuild-Trusted -->
<add key="darc-pub-DotNet-msbuild-Trusted-0586a3f" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-DotNet-msbuild-Trusted-0586a3f9/nuget/v3/index.json" />
<add key="darc-pub-DotNet-msbuild-Trusted-0ca03f8" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-DotNet-msbuild-Trusted-0ca03f84/nuget/v3/index.json" />
<!-- End: Package sources from DotNet-msbuild-Trusted -->
<!--End: Package sources managed by Dependency Flow automation. Do not edit the sources above.-->
<add key="dotnet-eng" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-eng/nuget/v3/index.json" />
Expand Down
3 changes: 2 additions & 1 deletion docs/release-notes/.FSharp.Compiler.Service/9.0.300.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
### Fixed
* Fix missing TailCall warning in TOp.IntegerForLoop ([PR #18399](https://github.com/dotnet/fsharp/pull/18399))
* Fix classification of `nameof` in `nameof<'T>`, `match … with nameof ident -> …`. ([Issue #10026](https://github.com/dotnet/fsharp/issues/10026), [PR #18300](https://github.com/dotnet/fsharp/pull/18300))
* Fix Realsig+ generates nested closures with incorrect Generic ([Issue #17797](https://github.com/dotnet/fsharp/issues/17797), [PR #17877](https://github.com/dotnet/fsharp/pull/17877))
* Fix optimizer internal error for records with static fields ([Issue #18165](https://github.com/dotnet/fsharp/issues/18165), [PR #18280](https://github.com/dotnet/fsharp/pull/18280))
Expand All @@ -18,6 +19,7 @@
* Miscellanous parentheses analyzer fixes. ([PR #18350](https://github.com/dotnet/fsharp/pull/18350))
* Fix duplicate parse error reporting for GetBackgroundCheckResultsForFileInProject ([Issue #18379](https://github.com/dotnet/fsharp/issues/18379) [PR #18380](https://github.com/dotnet/fsharp/pull/18380))
* Fix MethodDefNotFound when compiling code invoking delegate with option parameter ([Issue #5171](https://github.com/dotnet/fsharp/issues/5171), [PR #18385](https://github.com/dotnet/fsharp/pull/18385))
* Fix #r nuget ..." downloads unneeded packages ([Issue #18231](https://github.com/dotnet/fsharp/issues/18231), [PR #18393](https://github.com/dotnet/fsharp/pull/18393))

### Added
* Added missing type constraints in FCS. ([PR #18241](https://github.com/dotnet/fsharp/pull/18241))
Expand All @@ -30,7 +32,6 @@


### Changed

* FSharpCheckFileResults.ProjectContext.ProjectOptions will not be available when using the experimental Transparent Compiler feature. ([PR #18205](https://github.com/dotnet/fsharp/pull/18205))
* Update `Obsolete` attribute checking to account for `DiagnosticId` and `UrlFormat` properties. ([PR #18224](https://github.com/dotnet/fsharp/pull/18224))
* Remove `Cancellable.UsingToken` from tests ([PR #18276](https://github.com/dotnet/fsharp/pull/18276))
Expand Down
1 change: 1 addition & 0 deletions docs/release-notes/.VisualStudio/17.14.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
### Fixed
* Fix #r nuget ..." downloads unneeded packages ([Issue #18231](https://github.com/dotnet/fsharp/issues/18231), [PR #18393](https://github.com/dotnet/fsharp/pull/18393))

### Added
* Add a switch to determine whether to generate a default implementation body for overridden method when completing. [PR #18341](https://github.com/dotnet/fsharp/pull/18341)
Expand Down
24 changes: 12 additions & 12 deletions eng/Version.Details.xml
Original file line number Diff line number Diff line change
@@ -1,32 +1,32 @@
<?xml version="1.0" encoding="utf-8"?>
<Dependencies>
<ProductDependencies>
<Dependency Name="Microsoft.SourceBuild.Intermediate.source-build-reference-packages" Version="9.0.0-alpha.1.25163.3">
<Dependency Name="Microsoft.SourceBuild.Intermediate.source-build-reference-packages" Version="9.0.0-alpha.1.25170.3">
<Uri>https://github.com/dotnet/source-build-reference-packages</Uri>
<Sha>27dfbb8d8a0344d845948109a5a1f0d9c7f17fa9</Sha>
<Sha>6968f7059f4418e985febe704a3b1320f9e5887d</Sha>
<SourceBuild RepoName="source-build-reference-packages" ManagedOnly="true" />
</Dependency>
<!-- Intermediate is necessary for source build. -->
<Dependency Name="Microsoft.SourceBuild.Intermediate.msbuild" Version="17.13.21-preview-25169-06">
<Dependency Name="Microsoft.SourceBuild.Intermediate.msbuild" Version="17.13.22-preview-25174-08">
<Uri>https://github.com/dotnet/msbuild</Uri>
<Sha>0586a3f904d83c5f77f8407661429caadcbdc5f9</Sha>
<Sha>0ca03f84b7848ce9d7d3e5d1f68c5e090efa4f30</Sha>
<SourceBuild RepoName="msbuild" ManagedOnly="true" />
</Dependency>
<Dependency Name="Microsoft.Build" Version="17.13.21">
<Dependency Name="Microsoft.Build" Version="17.13.22">
<Uri>https://github.com/dotnet/msbuild</Uri>
<Sha>0586a3f904d83c5f77f8407661429caadcbdc5f9</Sha>
<Sha>0ca03f84b7848ce9d7d3e5d1f68c5e090efa4f30</Sha>
</Dependency>
<Dependency Name="Microsoft.Build.Framework" Version="17.13.21">
<Dependency Name="Microsoft.Build.Framework" Version="17.13.22">
<Uri>https://github.com/dotnet/msbuild</Uri>
<Sha>0586a3f904d83c5f77f8407661429caadcbdc5f9</Sha>
<Sha>0ca03f84b7848ce9d7d3e5d1f68c5e090efa4f30</Sha>
</Dependency>
<Dependency Name="Microsoft.Build.Tasks.Core" Version="17.13.21">
<Dependency Name="Microsoft.Build.Tasks.Core" Version="17.13.22">
<Uri>https://github.com/dotnet/msbuild</Uri>
<Sha>0586a3f904d83c5f77f8407661429caadcbdc5f9</Sha>
<Sha>0ca03f84b7848ce9d7d3e5d1f68c5e090efa4f30</Sha>
</Dependency>
<Dependency Name="Microsoft.Build.Utilities.Core" Version="17.13.21">
<Dependency Name="Microsoft.Build.Utilities.Core" Version="17.13.22">
<Uri>https://github.com/dotnet/msbuild</Uri>
<Sha>0586a3f904d83c5f77f8407661429caadcbdc5f9</Sha>
<Sha>0ca03f84b7848ce9d7d3e5d1f68c5e090efa4f30</Sha>
</Dependency>
<Dependency Name="System.Reflection.Metadata" Version="8.0.0">
<Uri>https://github.com/dotnet/runtime</Uri>
Expand Down
8 changes: 4 additions & 4 deletions eng/Versions.props
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@
<MicrosoftVisualStudioShellPackagesVersion>17.10.40152</MicrosoftVisualStudioShellPackagesVersion>
<VisualStudioProjectSystemPackagesVersion>17.10.526-pre-g1b474069f5</VisualStudioProjectSystemPackagesVersion>
<MicrosoftVisualStudioThreadingPackagesVersion>17.10.41</MicrosoftVisualStudioThreadingPackagesVersion>
<MicrosoftBuildVersion>17.13.21</MicrosoftBuildVersion>
<MicrosoftBuildVersion>17.13.22</MicrosoftBuildVersion>
<!-- Roslyn packages -->
<MicrosoftCodeAnalysisEditorFeaturesVersion>$(RoslynVersion)</MicrosoftCodeAnalysisEditorFeaturesVersion>
<MicrosoftCodeAnalysisEditorFeaturesTextVersion>$(RoslynVersion)</MicrosoftCodeAnalysisEditorFeaturesTextVersion>
Expand Down Expand Up @@ -130,9 +130,9 @@
<MicrosoftVisualStudioShellImmutable150Version>15.0.25123-Dev15Preview</MicrosoftVisualStudioShellImmutable150Version>
<!-- -->
<!-- Microsoft Build packages -->
<MicrosoftBuildFrameworkVersion>17.13.21</MicrosoftBuildFrameworkVersion>
<MicrosoftBuildTasksCoreVersion>17.13.21</MicrosoftBuildTasksCoreVersion>
<MicrosoftBuildUtilitiesCoreVersion>17.13.21</MicrosoftBuildUtilitiesCoreVersion>
<MicrosoftBuildFrameworkVersion>17.13.22</MicrosoftBuildFrameworkVersion>
<MicrosoftBuildTasksCoreVersion>17.13.22</MicrosoftBuildTasksCoreVersion>
<MicrosoftBuildUtilitiesCoreVersion>17.13.22</MicrosoftBuildUtilitiesCoreVersion>
<!-- -->
<!-- Visual Studio Editor packages -->
<MicrosoftVisualStudioCoreUtilityVersion>$(VisualStudioEditorPackagesVersion)</MicrosoftVisualStudioCoreUtilityVersion>
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.200",
"version": "9.0.202",
"allowPrerelease": true
},
"tools": {
"dotnet": "9.0.200",
"dotnet": "9.0.202",
"vs": {
"version": "17.8",
"components": [
Expand Down
56 changes: 28 additions & 28 deletions src/Compiler/AbstractIL/ilnativeres.fs
Original file line number Diff line number Diff line change
Expand Up @@ -83,15 +83,15 @@ type CvtResFile() =
pAdditional.DataSize <- cbData
pAdditional.pstringType <- CvtResFile.ReadStringOrID reader
pAdditional.pstringName <- CvtResFile.ReadStringOrID reader
stream.Position <- stream.Position + 3L &&& ~~~ 3L
stream.Position <- stream.Position + 3L &&& ~~~3L
pAdditional.DataVersion <- reader.ReadUInt32()
pAdditional.MemoryFlags <- reader.ReadUInt16()
pAdditional.LanguageId <- reader.ReadUInt16()
pAdditional.Version <- reader.ReadUInt32()
pAdditional.Characteristics <- reader.ReadUInt32()
pAdditional.data <- Array.zeroCreate (int pAdditional.DataSize)
reader.Read(pAdditional.data, 0, pAdditional.data.Length) |> ignore<int>
stream.Position <- stream.Position + 3L &&& ~~~ 3L
stream.Position <- stream.Position + 3L &&& ~~~3L

if
pAdditional.pstringType.theString = Unchecked.defaultof<_>
Expand Down Expand Up @@ -174,6 +174,7 @@ type SectionCharacteristics =
type ResourceSection() =
new(sectionBytes: byte[], relocations: uint32[]) as this =
(ResourceSection())

then
Debug.Assert(sectionBytes :> obj <> Unchecked.defaultof<_>)
Debug.Assert(relocations :> obj <> Unchecked.defaultof<_>)
Expand Down Expand Up @@ -374,13 +375,8 @@ type VersionHelper() =
///
/// <returns>True when parsing succeeds completely (i.e. every character in the string was consumed), false otherwise.</returns>
static member private TryParse
(
s: string,
allowWildcard: bool,
maxValue: uint16,
allowPartialParse: bool,
[<Out>] version: byref<Version>
) =
(s: string, allowWildcard: bool, maxValue: uint16, allowPartialParse: bool, [<Out>] version: byref<Version>)
=
Debug.Assert(not allowWildcard || maxValue < UInt16.MaxValue)

if String.IsNullOrWhiteSpace s then
Expand Down Expand Up @@ -520,20 +516,24 @@ type VersionResourceSerializer() =

member val private _isDll = Unchecked.defaultof<bool> with get, set

new(isDll: bool,
comments: string,
companyName: string,
fileDescription: string,
fileVersion: string,
internalName: string,
legalCopyright: string,
legalTrademark: string,
originalFileName: string,
productName: string,
productVersion: string,
assemblyVersion: Version) as this =
new
(
isDll: bool,
comments: string,
companyName: string,
fileDescription: string,
fileVersion: string,
internalName: string,
legalCopyright: string,
legalTrademark: string,
originalFileName: string,
productName: string,
productVersion: string,
assemblyVersion: Version
) as this =

VersionResourceSerializer()

then
this._isDll <- isDll
this._commentsContents <- comments
Expand Down Expand Up @@ -620,7 +620,7 @@ type VersionResourceSerializer() =
static member private PadKeyLen(cb: int) =
VersionResourceSerializer.PadToDword(cb + 3 * sizeof<WORD>) - 3 * sizeof<WORD>

static member private PadToDword(cb: int) = cb + 3 &&& ~~~ 3
static member private PadToDword(cb: int) = cb + 3 &&& ~~~3

static member val private HDRSIZE = (int (3 * sizeof<uint16>)) with get, set

Expand Down Expand Up @@ -667,7 +667,7 @@ type VersionResourceSerializer() =
let mutable (sum: int) = 0

for verString in this.GetVerStrings() do
sum <- sum + 3 &&& ~~~ 3
sum <- sum + 3 &&& ~~~3
sum <- sum + VersionResourceSerializer.SizeofVerString(verString.Key, verString.Value)

sum
Expand Down Expand Up @@ -801,7 +801,7 @@ type VersionResourceSerializer() =

for entry in this.GetVerStrings() do
let mutable writerPos = writer.BaseStream.Position
writer.Write(Array.zeroCreate (int ((writerPos + 3L) &&& ~~~ 3L - writerPos)): byte[])
writer.Write(Array.zeroCreate (int ((writerPos + 3L) &&& ~~~3L - writerPos)): byte[])
Debug.Assert(entry.Value <> Unchecked.defaultof<_>)
VersionResourceSerializer.WriteVersionString(entry, writer)

Expand Down Expand Up @@ -861,7 +861,7 @@ type Win32ResourceConversions() =
let mutable (i: uint16) = 0us

while (i < count) do
resStream.Position <- resStream.Position + 3L &&& ~~~ 3L
resStream.Position <- resStream.Position + 3L &&& ~~~3L
resWriter.Write iconDirEntries[(int i)].dwBytesInRes
resWriter.Write 0x00000020u
resWriter.Write 0xFFFFus
Expand All @@ -878,7 +878,7 @@ type Win32ResourceConversions() =
i <- i + 1us

let mutable (RT_GROUP_ICON: WORD) = (RT_ICON + 11us)
resStream.Position <- resStream.Position + 3L &&& ~~~ 3L
resStream.Position <- resStream.Position + 3L &&& ~~~3L
resWriter.Write(uint32 (3 * sizeof<WORD> + int count * 14))
resWriter.Write 0x00000020u
resWriter.Write 0xFFFFus
Expand Down Expand Up @@ -933,7 +933,7 @@ type Win32ResourceConversions() =
let comments = (defaultArg comments) Unchecked.defaultof<_>
let companyName = (defaultArg companyName) Unchecked.defaultof<_>
let mutable resWriter = new BinaryWriter(resStream, Encoding.Unicode)
resStream.Position <- resStream.Position + 3L &&& ~~~ 3L
resStream.Position <- resStream.Position + 3L &&& ~~~3L
let mutable (RT_VERSION: DWORD) = 16u

let mutable ver =
Expand Down Expand Up @@ -970,7 +970,7 @@ type Win32ResourceConversions() =
Debug.Assert(resStream.Position - startPos = int64 dataSize + int64 headerSize)

static member AppendManifestToResourceStream(resStream: Stream, manifestStream: Stream, isDll: bool) =
resStream.Position <- resStream.Position + 3L &&& ~~~ 3L (* ERROR UnknownPrefixOperator "~" *)
resStream.Position <- resStream.Position + 3L &&& ~~~3L (* ERROR UnknownPrefixOperator "~" *)
let mutable (RT_MANIFEST: WORD) = 24us
let mutable resWriter = new BinaryWriter(resStream)
resWriter.Write(uint32 manifestStream.Length)
Expand Down
12 changes: 2 additions & 10 deletions src/Compiler/AbstractIL/ilread.fs
Original file line number Diff line number Diff line change
Expand Up @@ -4180,16 +4180,8 @@ and seekReadTopExportedTypes (ctxt: ILMetadataReader) =

// Note, pectxtEager and pevEager must not be captured by the results of this function
let openMetadataReader
(
fileName,
mdfile: BinaryFile,
metadataPhysLoc,
peinfo,
pectxtEager: PEReader,
pevEager,
pectxtCaptured,
reduceMemoryUsage
) =
(fileName, mdfile: BinaryFile, metadataPhysLoc, peinfo, pectxtEager: PEReader, pevEager, pectxtCaptured, reduceMemoryUsage)
=
let mdv = mdfile.GetView()
let magic = seekReadUInt16AsInt32 mdv metadataPhysLoc

Expand Down
13 changes: 5 additions & 8 deletions src/Compiler/AbstractIL/ilreflect.fs
Original file line number Diff line number Diff line change
Expand Up @@ -290,10 +290,7 @@ type OpCode with
member opcode.RefEmitName =
match opcode.Name with
| null -> ""
| name ->
(string (Char.ToUpper(name[0])) + name[1..])
.Replace(".", "_")
.Replace("_i4", "_I4")
| name -> (string (Char.ToUpper(name[0])) + name[1..]).Replace(".", "_").Replace("_i4", "_I4")

type ILGenerator with

Expand Down Expand Up @@ -713,7 +710,7 @@ let rec convTypeSpec cenv emEnv preferCreated (tspec: ILTypeSpec) =

and convTypeAux cenv emEnv preferCreated ty =
match ty with
| ILType.Void -> !! Type.GetType("System.Void")
| ILType.Void -> !!Type.GetType("System.Void")
| ILType.Array(shape, eltType) ->
let baseT = convTypeAux cenv emEnv preferCreated eltType
let nDims = shape.Rank
Expand Down Expand Up @@ -1491,7 +1488,7 @@ let rec emitInstr cenv (modB: ModuleBuilder) emEnv (ilG: ILGenerator) instr =
ilG.EmitAndLog(OpCodes.Ldelema, convType cenv emEnv ty)
else
let arrayTy = convType cenv emEnv (ILType.Array(shape, ty))
let elemTy = !! arrayTy.GetElementType()
let elemTy = !!arrayTy.GetElementType()
let argTys = Array.create shape.Rank typeof<int>
let retTy = elemTy.MakeByRefType()

Expand All @@ -1517,7 +1514,7 @@ let rec emitInstr cenv (modB: ModuleBuilder) emEnv (ilG: ILGenerator) instr =
ilG.EmitAndLog(OpCodes.Stelem, convType cenv emEnv ty)
else
let arrayTy = convType cenv emEnv (ILType.Array(shape, ty))
let elemTy = !! arrayTy.GetElementType()
let elemTy = !!arrayTy.GetElementType()

let meth =
modB.GetArrayMethodAndLog(
Expand Down Expand Up @@ -2497,7 +2494,7 @@ let mkDynamicAssemblyAndModule (assemblyName: string, optimize, collectible) =
let daType = typeof<System.Diagnostics.DebuggableAttribute>

let daCtor =
!! daType.GetConstructor([| typeof<System.Diagnostics.DebuggableAttribute.DebuggingModes> |])
!!daType.GetConstructor([| typeof<System.Diagnostics.DebuggableAttribute.DebuggingModes> |])

let daBuilder =
CustomAttributeBuilder(
Expand Down
6 changes: 2 additions & 4 deletions src/Compiler/AbstractIL/ilsupp.fs
Original file line number Diff line number Diff line change
Expand Up @@ -653,8 +653,7 @@ let unlinkResource (ulLinkedResourceBaseRVA: int32) (pbLinkedResource: byte[]) =
for i = 0 to (nResNodes - 1) do
size <-
size
+ pResNodes[i]
.Save(ulLinkedResourceBaseRVA, pbLinkedResource, Unchecked.defaultof<byte[]>, 0)
+ pResNodes[i].Save(ulLinkedResourceBaseRVA, pbLinkedResource, Unchecked.defaultof<byte[]>, 0)

let pResBuffer = Bytes.zeroCreate size

Expand All @@ -670,7 +669,6 @@ let unlinkResource (ulLinkedResourceBaseRVA: int32) (pbLinkedResource: byte[]) =
for i = 0 to (nResNodes - 1) do
resBufferOffset <-
resBufferOffset
+ pResNodes[i]
.Save(ulLinkedResourceBaseRVA, pbLinkedResource, pResBuffer, resBufferOffset)
+ pResNodes[i].Save(ulLinkedResourceBaseRVA, pbLinkedResource, pResBuffer, resBufferOffset)

pResBuffer
Original file line number Diff line number Diff line change
Expand Up @@ -3083,9 +3083,7 @@ let TcComputationExpression (cenv: TcFileState) env (overallTy: OverallTy) tpenv
TranslateComputationExpression ceenv CompExprTranslationPass.Initial hasCustomOperations (LazyWithContext.NotLazy([], env)) comp id

let mDelayOrQuoteOrRun =
mBuilderVal
.NoteSourceConstruct(NotedSourceConstruct.DelayOrQuoteOrRun)
.MakeSynthetic()
mBuilderVal.NoteSourceConstruct(NotedSourceConstruct.DelayOrQuoteOrRun).MakeSynthetic()

// Add a call to 'Delay' if the method is present
let delayedExpr =
Expand Down
7 changes: 6 additions & 1 deletion src/Compiler/Checking/TailCallChecks.fs
Original file line number Diff line number Diff line change
Expand Up @@ -792,7 +792,12 @@ let CheckModuleBinding cenv (isRec: bool) (TBind _ as bind) =
// warn for recursive calls in TryWith/TryFinally operations
exprs |> Seq.iter (checkTailCall true)
| Expr.Op(args = exprs) -> exprs |> Seq.iter (checkTailCall insideSubBindingOrTry)
| Expr.Sequential(expr2 = expr2) -> checkTailCall insideSubBindingOrTry expr2
| Expr.Sequential(expr1 = expr1; expr2 = expr2) ->
match expr1 with
| Expr.Op(args = exprs; op = TOp.IntegerForLoop _) -> checkTailCall insideSubBindingOrTry expr1
| _ -> ()

checkTailCall insideSubBindingOrTry expr2
| _ -> ()

checkTailCall false bodyExpr
Expand Down
Loading
Loading