From cef7c861bb38e0da91a4da7083649c48060b8434 Mon Sep 17 00:00:00 2001 From: Gustavo Leon <1261319+gusty@users.noreply.github.com> Date: Sat, 16 Sep 2023 21:34:43 +0200 Subject: [PATCH] + StructuredFormatDisplay to NonEmptyList --- src/FSharpPlus/Data/NonEmptyList.fs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/FSharpPlus/Data/NonEmptyList.fs b/src/FSharpPlus/Data/NonEmptyList.fs index 38281c520..226c34991 100644 --- a/src/FSharpPlus/Data/NonEmptyList.fs +++ b/src/FSharpPlus/Data/NonEmptyList.fs @@ -8,6 +8,7 @@ open FSharpPlus.Control /// A type-safe list that contains at least one element. +[] type NonEmptyList<'t> = {Head: 't; Tail: 't list} with interface IEnumerable<'t> with member x.GetEnumerator () = (let {Head = x; Tail = xs} = x in seq (x::xs)).GetEnumerator () interface System.Collections.IEnumerable with member x.GetEnumerator () = (let {Head = x; Tail = xs} = x in seq (x::xs)).GetEnumerator () :> System.Collections.IEnumerator @@ -15,6 +16,8 @@ type NonEmptyList<'t> = {Head: 't; Tail: 't list} with interface IReadOnlyList<'t> with member s.Item with get index = s.Item index interface NonEmptySeq<'t> with member s.First = s.Head + member private this.StructuredFormatDisplay = "nelist {" + (sprintf "%A" (this.Head::this.Tail)).[1..^1] + "}" + [] member this.head = let {Head = a; Tail = _} = this in a