From 8502e80b1b82c5f0328e95b9c4cda2758ce38315 Mon Sep 17 00:00:00 2001 From: Rick van Voorden Date: Mon, 15 Jan 2024 12:24:52 -0800 Subject: [PATCH] timer measure generic return value --- Sources/CollectionsBenchmark/Basics/Timer.swift | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Sources/CollectionsBenchmark/Basics/Timer.swift b/Sources/CollectionsBenchmark/Basics/Timer.swift index 2917140..61fc690 100644 --- a/Sources/CollectionsBenchmark/Basics/Timer.swift +++ b/Sources/CollectionsBenchmark/Basics/Timer.swift @@ -61,14 +61,15 @@ public struct Timer { } @inline(never) - public mutating func measure(_ body: () -> Void) { + public mutating func measure(_ body: () -> T) -> T { precondition(_expectNested != false, "Inconsistent timer use: Unexpected call to Timer.measure") let start = Tick.now - body() + let result = body() let end = Tick.now elapsedTime = end.elapsedTime(since: start) _expectNested = false + return result } }