From 44676c5b793a26479357ed662237d81bd7a62acb Mon Sep 17 00:00:00 2001 From: Richard Webb Date: Sun, 26 Apr 2026 12:03:09 +0100 Subject: [PATCH] Change String::toLines to use ValueOption instead of Option If reduces memory allocations slightly --- src/FSharpLint.Core/Framework/Utilities.fs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/FSharpLint.Core/Framework/Utilities.fs b/src/FSharpLint.Core/Framework/Utilities.fs index 8973b8ac1..c709e1404 100644 --- a/src/FSharpLint.Core/Framework/Utilities.fs +++ b/src/FSharpLint.Core/Framework/Utilities.fs @@ -150,16 +150,16 @@ module String = open System.IO [] - let rec private iterateLines (lines: ResizeArray) (readLine: unit -> Option) currentLine index = + let rec private iterateLines (lines: ResizeArray) (readLine: unit -> ValueOption) currentLine index = match currentLine with - | Some line -> + | ValueSome line -> let nextLine = readLine () - let isLastLine = Option.isNone nextLine + let isLastLine = ValueOption.isNone nextLine lines.Add(line, index, isLastLine) iterateLines lines readLine nextLine (index + 1) - | None -> () + | ValueNone -> () let toLines input = let lines = ResizeArray() @@ -167,8 +167,8 @@ module String = let readLine () = match reader.ReadLine() with - | null -> None - | line -> Some line + | null -> ValueNone + | line -> ValueSome line iterateLines lines readLine (readLine ()) 0