Build Logs
tmccarthy/tmmutils • 3.8.0-RC6:2026-01-08
Errors
25
Warnings
28
Total Lines
600
1##################################
2Clonning https://github.com/tmccarthy/tmmutils.git into /build/repo using revision v0.10.0
3##################################
4Note: switching to '785b1a72dd52be60aeb9cca60889b39e19e288dc'.
5
6You are in 'detached HEAD' state. You can look around, make experimental
7changes and commit them, and you can discard any commits you make in this
8state without impacting any branches by switching back to a branch.
9
10If you want to create a new branch to retain commits you create, you may
11do so (now or later) by using -c with the switch command. Example:
12
13 git switch -c <new-branch-name>
14
15Or undo this operation with:
16
17 git switch -
18
19Turn off this advice by setting config variable advice.detachedHead to false
20
21----
22Preparing build for 3.8.0-RC6
23Scala binary version found: 3.8
24Implicitly using source version 3.8
25Scala binary version found: 3.8
26Implicitly using source version 3.8
27Would try to apply common scalacOption (best-effort, sbt/mill only):
28Append: ,REQUIRE:-source:3.8
29Remove: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
30
31Try apply source patch:
32Path: build.sbt
33Pattern: ThisBuild / tlFatalWarnings := true
34Replacement:
35Starting compilation server
36Compiling project (Scala 3.7.3, JVM (17))
37Compiled project (Scala 3.7.3, JVM (17))
38Successfully applied pattern 'ThisBuild / tlFatalWarnings := true' in build.sbt
39----
40Starting build for 3.8.0-RC6
41Execute tests: true
42sbt project found:
43Sbt version 1.7.0 is not supported, minimal supported version is 1.11.5
44Enforcing usage of sbt in version 1.11.5
45No prepare script found for project tmccarthy/tmmutils
46##################################
47Scala version: 3.8.0-RC6
48Targets: au.id.tmm.tmm-utils%tmm-utils-cats au.id.tmm.tmm-utils%tmm-utils-cats-effect au.id.tmm.tmm-utils%tmm-utils-circe au.id.tmm.tmm-utils%tmm-utils-errors au.id.tmm.tmm-utils%tmm-utils-syntax au.id.tmm.tmm-utils%tmm-utils-testing-cats au.id.tmm.tmm-utils%tmm-utils-testing-core au.id.tmm.tmm-utils%tmm-utils-testing-scalacheck
49Project projectConfig: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"build.sbt","pattern":"ThisBuild / tlFatalWarnings := true","replaceWith":""}]}
50##################################
51Using extra scalacOptions: ,REQUIRE:-source:3.8
52Filtering out scalacOptions: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
53[sbt_options] declare -a sbt_options=()
54[process_args] java_version = '17'
55[copyRt] java9_rt = '/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8/rt.jar'
56# Executing command line:
57java
58-Dfile.encoding=UTF-8
59-Dcommunitybuild.scala=3.8.0-RC6
60-Dcommunitybuild.project.dependencies.add=
61-Xmx7G
62-Xms4G
63-Xss8M
64-Dsbt.script=/root/.sdkman/candidates/sbt/current/bin/sbt
65-Dscala.ext.dirs=/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8
66-jar
67/root/.sdkman/candidates/sbt/1.11.5/bin/sbt-launch.jar
68"setCrossScalaVersions 3.8.0-RC6"
69"++3.8.0-RC6 -v"
70"mapScalacOptions ",REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s" ",-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e""
71"set every credentials := Nil"
72"excludeLibraryDependency com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}"
73"removeScalacOptionsStartingWith -P:wartremover"
74
75moduleMappings
76"runBuild 3.8.0-RC6 """{"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"build.sbt","pattern":"ThisBuild / tlFatalWarnings := true","replaceWith":""}]}""" au.id.tmm.tmm-utils%tmm-utils-cats au.id.tmm.tmm-utils%tmm-utils-cats-effect au.id.tmm.tmm-utils%tmm-utils-circe au.id.tmm.tmm-utils%tmm-utils-errors au.id.tmm.tmm-utils%tmm-utils-syntax au.id.tmm.tmm-utils%tmm-utils-testing-cats au.id.tmm.tmm-utils%tmm-utils-testing-core au.id.tmm.tmm-utils%tmm-utils-testing-scalacheck"
77
78[info] welcome to sbt 1.11.5 (Eclipse Adoptium Java 17.0.8)
79[info] loading settings for project repo-build from akka.sbt, plugins.sbt...
80[info] loading project definition from /build/repo/project
81[info] compiling 2 Scala sources to /build/repo/project/target/scala-2.12/sbt-1.0/classes ...
82[info] Non-compiled module 'compiler-bridge_2.12' for Scala 2.12.20. Compiling...
83[info] Compilation completed in 8.918s.
84[info] done compiling
85[info] loading settings for project root from build.sbt...
86[info] resolving key references (11737 settings) ...
87[info] set scmInfo to https://github.com/tmccarthy/tmmutils
88[info] set current project to tmm-utils (in build file:/build/repo/)
89Execute setCrossScalaVersions: 3.8.0-RC6
90OpenCB::Changing crossVersion 3.1.1 -> 3.8.0-RC6 in errors/crossScalaVersions
91OpenCB::Changing crossVersion 3.1.1 -> 3.8.0-RC6 in rootNative/crossScalaVersions
92OpenCB::Changing crossVersion 3.1.1 -> 3.8.0-RC6 in rootJS/crossScalaVersions
93OpenCB::Changing crossVersion 3.1.1 -> 3.8.0-RC6 in testingScalacheck/crossScalaVersions
94OpenCB::Changing crossVersion 3.1.1 -> 3.8.0-RC6 in circe/crossScalaVersions
95OpenCB::Changing crossVersion 3.1.1 -> 3.8.0-RC6 in cats/crossScalaVersions
96OpenCB::Changing crossVersion 3.1.1 -> 3.8.0-RC6 in testingCats/crossScalaVersions
97OpenCB::Changing crossVersion 3.1.1 -> 3.8.0-RC6 in root/crossScalaVersions
98OpenCB::Changing crossVersion 3.1.1 -> 3.8.0-RC6 in testingCore/crossScalaVersions
99OpenCB::Changing crossVersion 3.1.1 -> 3.8.0-RC6 in syntax/crossScalaVersions
100OpenCB::Changing crossVersion 3.1.1 -> 3.8.0-RC6 in catsEffect/crossScalaVersions
101OpenCB::Changing crossVersion 3.1.1 -> 3.8.0-RC6 in rootJVM/crossScalaVersions
102[info] set scmInfo to https://github.com/tmccarthy/tmmutils
103[info] set current project to tmm-utils (in build file:/build/repo/)
104[info] Setting Scala version to 3.8.0-RC6 on 12 projects.
105[info] Switching Scala version on:
106[info] * root (2.13.8, 3.8.0-RC6)
107[info] testingCats (2.13.8, 3.8.0-RC6)
108[info] testingCore (2.13.8, 3.8.0-RC6)
109[info] rootJS (2.13.8, 3.8.0-RC6)
110[info] testingScalacheck (2.13.8, 3.8.0-RC6)
111[info] errors (2.13.8, 3.8.0-RC6)
112[info] syntax (2.13.8, 3.8.0-RC6)
113[info] rootJVM (2.13.8, 3.8.0-RC6)
114[info] rootNative (2.13.8, 3.8.0-RC6)
115[info] circe (2.13.8, 3.8.0-RC6)
116[info] catsEffect (2.13.8, 3.8.0-RC6)
117[info] cats (2.13.8, 3.8.0-RC6)
118[info] Excluding projects:
119[info] Reapplying settings...
120[info] set scmInfo to https://github.com/tmccarthy/tmmutils
121[info] set current project to tmm-utils (in build file:/build/repo/)
122Execute mapScalacOptions: ,REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
123[info] Reapplying settings...
124[info] set scmInfo to https://github.com/tmccarthy/tmmutils
125[info] set current project to tmm-utils (in build file:/build/repo/)
126[info] Defining Global / credentials, cats / credentials and 10 others.
127[info] The new values will be used by allCredentials, cats / allCredentials and 69 others.
128[info] Run `last` for details.
129[info] Reapplying settings...
130[info] set scmInfo to https://github.com/tmccarthy/tmmutils
131[info] set current project to tmm-utils (in build file:/build/repo/)
132Execute excludeLibraryDependency: com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}
133[info] Reapplying settings...
134OpenCB::Failed to reapply settings in excludeLibraryDependency: Reference to undefined setting:
135
136 Global / allExcludeDependencies from Global / allExcludeDependencies (CommunityBuildPlugin.scala:331)
137 Did you mean allExcludeDependencies ?
138 , retry without global scopes
139[info] Reapplying settings...
140[info] set scmInfo to https://github.com/tmccarthy/tmmutils
141[info] set current project to tmm-utils (in build file:/build/repo/)
142Execute removeScalacOptionsStartingWith: -P:wartremover
143[info] Reapplying settings...
144[info] set scmInfo to https://github.com/tmccarthy/tmmutils
145[info] set current project to tmm-utils (in build file:/build/repo/)
146[success] Total time: 0 s, completed Jan 8, 2026, 1:37:50 AM
147Build config: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"build.sbt","pattern":"ThisBuild / tlFatalWarnings := true","replaceWith":""}]}
148Parsed config: Success(ProjectBuildConfig(ProjectsConfig(List(),Map()),Full,List()))
149Starting build...
150Projects: Set(testingCats, testingCore, testingScalacheck, errors, syntax, circe, catsEffect, cats)
151Starting build for ProjectRef(file:/build/repo/,circe) (tmm-utils-circe)... [0/8]
152OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.8` in Scala 2.12.20 module Global
153OpenCB::Filter out '-deprecation', matches setting pattern '^-?-deprecation'
154OpenCB::Filter out '-feature', matches setting pattern '^-?-feature'
155OpenCB::Filter out '-source:3.0-migration', matches setting pattern '^-?-source(:.*)?'
156Compile scalacOptions: -encoding, UTF-8, -unchecked, -language:implicitConversions, -Ykind-projector, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
157[info] compiling 3 Scala sources to /build/repo/circe/target/scala-3.8.0-RC6/classes ...
158[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
159[warn] one warning found
160[info] done compiling
161[info] compiling 8 Scala sources to /build/repo/testing/core/target/scala-3.8.0-RC6/classes ...
162[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
163[warn] one warning found
164[info] done compiling
165[info] compiling 8 Scala sources to /build/repo/testing/scalacheck/target/scala-3.8.0-RC6/classes ...
166[info] compiling 8 Scala sources to /build/repo/testing/cats/target/scala-3.8.0-RC6/classes ...
167[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
168[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
169[warn] one warning found
170[info] done compiling
171[warn] one warning found
172[info] done compiling
173[info] compiling 2 Scala sources to /build/repo/circe/target/scala-3.8.0-RC6/test-classes ...
174[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
175[warn] one warning found
176[info] done compiling
177au.id.tmm.utilities.circe.EnumeratedCodecSpec:
178au.id.tmm.utilities.circe.AdtDecoderSpec:
179 + work for a wrapped int 0.102s
180 + decode successfully 0.104s
181 + fail to decode an invalid value 0.005s
182 + work for a wrapped string 0.006s
183 + encode successfully 0.002s
184 + fail to encode 0.001s
185 + not be constructed when there are duplicate keys 0.0s
186 + not be constructed when there are duplicate values 0.001s
187 + fail for an array 0.006s
188Starting build for ProjectRef(file:/build/repo/,errors) (tmm-utils-errors)... [1/8]
189Compile scalacOptions: -encoding, UTF-8, -unchecked, -language:implicitConversions, -Ykind-projector, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
190[info] compiling 10 Scala sources to /build/repo/errors/target/scala-3.8.0-RC6/classes ...
191[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
192[warn] one warning found
193[info] done compiling
194[info] compiling 6 Scala sources to /build/repo/errors/target/scala-3.8.0-RC6/test-classes ...
195[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
196[warn] one warning found
197[info] done compiling
198au.id.tmm.utilities.errors.ExceptionOrSpec:
199au.id.tmm.utilities.errors.syntax.ErrorsSyntaxSpec:
200au.id.tmm.utilities.errors.StructuredExceptionSpec:
201au.id.tmm.utilities.errors.ProductExceptionSpec:
202 + it can be created without a cause 0.008s
203 + an exception that is a product type should have a message from its toString 0.008s
204 + an error message or string can be converted to an exception 0.008s
205 + a throwable or string can wrap an exception with another exception 0.001s
206 + an exception with a cause that is a product type should have a message from its toString 0.001s
207 + an exception with a cause that is a product type should have a cause 0.001s
208 + ExceptionOr.catchIn should return success 0.011s
209 + a throwable or string can wrap an exception with a message 0.003s
210 + ExceptionOr.catchIn should catch exceptions 0.001s
211 + a throwable or string can wrap an exception with a structured exception 0.0s
212 + ExceptionOr.catchIn should not non-exception throwables 0.001s
213 + a throwable or string can get the right value 0.001s
214 + it can be copied to add a cause 0.006s
215 + it should produce a sensible message 0.001s
216 + a throwable or string can throw the left value 0.003s
217 + ExceptionOr.catchOnly should return success 0.003s
218 + it should produce a sensible message when one value is an iterable 0.004s
219 + ExceptionOr.catchOnly should catch the specified exception type 0.001s
220 + it should produce a sensible message when one value is an empty iterable 0.004s
221 + it should produce a sensible message when there are no fields 0.001s
222 + ExceptionOr.catchOnly should catch subtypes of the specified exception type 0.002s
223 + ExceptionOr.flatCatch should return success 0.001s
224 + ExceptionOr.flatCatch should return a returned exception 0.0s
225au.id.tmm.utilities.errors.ThrowableOrSpec:
226 + ThrowableOr.catchNonFatal should return success 0.001s
227 + ExceptionOr.flatCatch should return a thrown exception 0.002s
228 + ExceptionOr.flatCatch should not catch a NonExceptionThrowable 0.001s
229 + ThrowableOr.catchNonFatal should catch non-fatal throwables 0.001s
230 + ThrowableOr.catchNonFatal should not catch fatal throwables 0.0s
231 + ThrowableOr.throwFatal should throw a ControlThrowable 0.001s
232 + ThrowableOr.throwFatal should not throw for a Right 0.0s
233 + ThrowableOr.throwFatal should not throw an exception 0.001s
234 + ThrowableOr.throwErrors should throw a ControlThrowable 0.003s
235 + ThrowableOr.throwErrors should not throw an exception 0.0s
236 + ThrowableOr.throwErrors should not throw for a Right 0.0s
237 + ThrowableOr.throwErrors should narrow the left-hand type for values where the type is not an exception 0.0s
238 + ThrowableOr.throwErrors should not compile where the left-hand type is an exception subtype 0.005s
239Starting build for ProjectRef(file:/build/repo/,syntax) (tmm-utils-syntax)... [2/8]
240Compile scalacOptions: -encoding, UTF-8, -unchecked, -language:implicitConversions, -Ykind-projector, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
241[info] compiling 1 Scala source to /build/repo/syntax/target/scala-3.8.0-RC6/classes ...
242[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
243[warn] one warning found
244[info] done compiling
245[info] compiling 1 Scala source to /build/repo/syntax/target/scala-3.8.0-RC6/test-classes ...
246[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
247[warn] one warning found
248[info] done compiling
249au.id.tmm.utilities.syntax.tuples.TupleSyntaxSpec:
250 + the tuple type syntax should work in a collection 0.005s
251Starting build for ProjectRef(file:/build/repo/,testingCore) (tmm-utils-testing-core)... [3/8]
252Compile scalacOptions: -encoding, UTF-8, -unchecked, -language:implicitConversions, -Ykind-projector, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
253[info] compiling 2 Scala sources to /build/repo/testing/core/target/scala-3.8.0-RC6/test-classes ...
254[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
255[warn] one warning found
256[info] done compiling
257au.id.tmm.utilities.testing.syntax.TestingSyntaxSpec:
258 + get on Either should return the right value 0.008s
259 + get on Either should throw an assertion error if the value is a left 0.001s
260 + get on Either should throw an assertion error with the left value as the cause if the left is throwable 0.001s
261 + getLeft on Either should return the left value 0.0s
262 + getLeft on Either should throw an assertion error if the value is a right 0.001s
263au.id.tmm.utilities.testing.MiniFloatSpec:
264 + allValues contains no duplicates 0.007s
265 + allValues contains MiniFloat(0.0) 0.001s
266 + allValues contains MiniFloat(-1.0) 0.0s
267 + allValues contains MiniFloat(1.0) 0.0s
268 + allValues contains MiniFloat(8.0) 0.001s
269 + allValues contains MiniFloat(-8.0) 0.0s
270 + allValues contains MiniFloat(0.5) 0.0s
271 + allValues contains MiniFloat(Infinity) 0.0s
272 + allValues contains MiniFloat(-Infinity) 0.0s
273 + allValues contains NaN 0.001s
274 + allValues has max 0.003s
275 + allValues has min 0.001s
276 + behaves the same as Float for all operations on some key values 0.281s
277 + MiniFloat.fromFloat(-Infinity) === MiniFloat(-Infinity) 0.001s
278 + MiniFloat.fromFloat(-3.4028235E38) === MiniFloat(-Infinity) 0.0s
279 + MiniFloat.fromFloat(-16.0) === MiniFloat(-Infinity) 0.0s
280 + MiniFloat.fromFloat(-12.000001) === MiniFloat(-Infinity) 0.0s
281 + MiniFloat.fromFloat(-12.0) === -8.0 0.001s
282 + MiniFloat.fromFloat(-6.0000005) === -8.0 0.0s
283 + MiniFloat.fromFloat(-6.0) === -4.0 0.0s
284 + MiniFloat.fromFloat(-3.0000002) === -4.0 0.0s
285 + MiniFloat.fromFloat(-3.0) === -2.0 0.0s
286 + MiniFloat.fromFloat(-1.0) === MiniFloat(-1.0) 0.001s
287 + MiniFloat.fromFloat(1.0) === MiniFloat(1.0) 0.0s
288 + MiniFloat.fromFloat(0.0) === MiniFloat(0.0) 0.0s
289 + MiniFloat.fromFloat(1.4E-45) === MiniFloat(0.0) 0.0s
290 + MiniFloat.fromFloat(-0.0) === MiniFloat(0.0) 0.001s
291 + MiniFloat.fromFloat(0.12499999) === MiniFloat(0.0) 0.0s
292 + MiniFloat.fromFloat(0.125) === MiniFloat(0.0) 0.0s
293 + MiniFloat.fromFloat(0.24999999) === MiniFloat(0.0) 0.0s
294 + MiniFloat.fromFloat(0.25) === MiniFloat(0.0) 0.0s
295 + MiniFloat.fromFloat(0.5) === 0.5 0.001s
296 + MiniFloat.fromFloat(1.0) === 1.0 0.0s
297 + MiniFloat.fromFloat(2.0) === 2.0 0.0s
298 + MiniFloat.fromFloat(2.9999998) === 2.0 0.0s
299 + MiniFloat.fromFloat(3.0) === 4.0 0.0s
300 + MiniFloat.fromFloat(4.0) === 4.0 0.001s
301 + MiniFloat.fromFloat(5.0) === 4.0 0.0s
302 + MiniFloat.fromFloat(6.0) === 8.0 0.0s
303 + MiniFloat.fromFloat(7.0) === 8.0 0.0s
304 + MiniFloat.fromFloat(8.0) === 8.0 0.0s
305 + MiniFloat.fromFloat(11.999999) === 8.0 0.0s
306 + MiniFloat.fromFloat(12.0) === MiniFloat(Infinity) 0.001s
307 + MiniFloat.fromFloat(16.0) === MiniFloat(Infinity) 0.0s
308 + MiniFloat.fromFloat(3.4028235E38) === MiniFloat(Infinity) 0.0s
309 + MiniFloat.fromFloat(Infinity) === MiniFloat(Infinity) 0.0s
310 + MiniFloat.fromFloat(NaN) === MiniFloat(NaN) 0.001s
311 + MiniFloat.fromFloat(-0) is not negative 0.0s
312 + fromDouble consistent with fromFloat 0.075s
313 + toDouble consistent with toFloat 0.017s
314 + MiniFloat(NaN) isNan true 0.002s
315 + MiniFloat(NaN) isFinite false 0.004s
316 + MiniFloat(Infinity) isNan false 0.0s
317 + MiniFloat(Infinity) isFinite false 0.0s
318 + MiniFloat(-Infinity) isNan false 0.0s
319 + MiniFloat(-Infinity) isFinite false 0.0s
320 + MiniFloat(0.0) isNan false 0.0s
321 + MiniFloat(0.0) isFinite true 0.001s
322 + MiniFloat(8.0) isNan false 0.0s
323 + MiniFloat(8.0) isFinite true 0.0s
324 + MiniFloat(-8.0) isNan false 0.001s
325 + MiniFloat(-8.0) isFinite true 0.0s
326 + MiniFloat(0.5) isNan false 0.0s
327 + MiniFloat(0.5) isFinite true 0.001s
328 + NaN != all MiniFloat 0.022s
329 + negate zero is zero 0.001s
330 + negate one is one 0.001s
331 + negate ∞ is -∞ 0.001s
332 + negate -∞ is ∞ 0.001s
333 + negate NaN is NaN 0.001s
334 + negation inverse 0.019s
335 + add commutative 0.025s
336 + zero addition identity 0.012s
337 + max plus 1 0.0s
338 + max plus max 0.001s
339 + ∞ + ∞ 0.0s
340 + ∞ + 1 0.001s
341 + ∞ + (-∞) 0.0s
342 + NaN addition 0.009s
343 + subtract consistent with addition 0.022s
344 + NaN subtraction 0.014s
345 + ∞ - ∞ 0.001s
346 + multiplication commutative 0.016s
347 + one multiplicative identity 0.013s
348 + max * 1 0.001s
349 + max * max 0.0s
350 + ∞ * ∞ 0.001s
351 + ∞ * 1 0.0s
352 + ∞ * (-∞) 0.001s
353 + NaN multiplication 0.012s
354 + divide by zero 0.01s
355 + division consistent with float division 0.012s
356 + ordering consistent with float 0.013s
357Starting build for ProjectRef(file:/build/repo/,testingScalacheck) (tmm-utils-testing-scalacheck)... [4/8]
358Compile scalacOptions: -encoding, UTF-8, -unchecked, -language:implicitConversions, -Ykind-projector, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
359Starting build for ProjectRef(file:/build/repo/,cats) (tmm-utils-cats)... [5/8]
360Compile scalacOptions: -encoding, UTF-8, -unchecked, -language:implicitConversions, -Ykind-projector, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
361[info] compiling 6 Scala sources to /build/repo/cats/cats-core/target/scala-3.8.0-RC6/classes ...
362[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
363[warn] one warning found
364[info] done compiling
365[info] compiling 4 Scala sources to /build/repo/cats/cats-core/target/scala-3.8.0-RC6/test-classes ...
366[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
367[warn] one warning found
368[info] done compiling
369au.id.tmm.utilities.cats.syntax.ThrowableMonadErrorOpsSpec:
370au.id.tmm.utilities.cats.instances.NumericInstancesSpec:
371 + the fractional instance should be resolved correctly 0.011s
372 + the monad error syntax should allow wrapping an exception with a message 0.013s
373au.id.tmm.utilities.cats.classes.InvariantKSpec:
374 + Monad for InvariantK[MonadError[WrappedOption]]: monad.ap consistent with product + map 0.034s
375 + Monad for InvariantK[MonadError[WrappedOption]]: monad.applicative homomorphism 0.011s
376 + Monad for InvariantK[MonadError[WrappedOption]]: monad.applicative identity 0.005s
377 + Monad for InvariantK[MonadError[WrappedOption]]: monad.applicative interchange 0.006s
378 + Monad for InvariantK[MonadError[WrappedOption]]: monad.applicative map 0.009s
379 + Monad for InvariantK[MonadError[WrappedOption]]: monad.applicative unit 0.004s
380 + Monad for InvariantK[MonadError[WrappedOption]]: monad.apply composition 0.009s
381 + Monad for InvariantK[MonadError[WrappedOption]]: monad.covariant composition 0.006s
382 + Monad for InvariantK[MonadError[WrappedOption]]: monad.covariant identity 0.003s
383 + Monad for InvariantK[MonadError[WrappedOption]]: monad.flatMap associativity 0.007s
384 + Monad for InvariantK[MonadError[WrappedOption]]: monad.flatMap consistent apply 0.003s
385 + Monad for InvariantK[MonadError[WrappedOption]]: monad.flatMap from tailRecM consistency 0.004s
386 + Monad for InvariantK[MonadError[WrappedOption]]: monad.invariant composition 0.007s
387 + Monad for InvariantK[MonadError[WrappedOption]]: monad.invariant identity 0.003s
388 + Monad for InvariantK[MonadError[WrappedOption]]: monad.map flatMap coherence 0.093s
389 + Monad for InvariantK[MonadError[WrappedOption]]: monad.map2/map2Eval consistency 0.006s
390 + Monad for InvariantK[MonadError[WrappedOption]]: monad.map2/product-map consistency 0.004s
391 + Monad for InvariantK[MonadError[WrappedOption]]: monad.monad left identity 0.003s
392 + Monad for InvariantK[MonadError[WrappedOption]]: monad.monad right identity 0.002s
393 + Monad for InvariantK[MonadError[WrappedOption]]: monad.monoidal left identity 0.003s
394 + Monad for InvariantK[MonadError[WrappedOption]]: monad.monoidal right identity 0.003s
395 + Monad for InvariantK[MonadError[WrappedOption]]: monad.mproduct consistent flatMap 0.004s
396 + Monad for InvariantK[MonadError[WrappedOption]]: monad.productL consistent map2 0.003s
397 + Monad for InvariantK[MonadError[WrappedOption]]: monad.productR consistent map2 0.002s
398 + Monad for InvariantK[MonadError[WrappedOption]]: monad.semigroupal associativity 0.005s
399 + Monad for InvariantK[MonadError[WrappedOption]]: monad.tailRecM consistent flatMap 0.005s
400 + Monad for InvariantK[MonadError[WrappedOption]]: monad.tailRecM stack safety 0.018s
401 + Traverse for InvariantK[Traverse[WrappedList]]: traverse.collectFirst reference 0.044s
402 + Traverse for InvariantK[Traverse[WrappedList]]: traverse.collectFirstSome reference 0.021s
403 + Traverse for InvariantK[Traverse[WrappedList]]: traverse.covariant composition 0.054s
404 + Traverse for InvariantK[Traverse[WrappedList]]: traverse.covariant identity 0.008s
405 + Traverse for InvariantK[Traverse[WrappedList]]: traverse.dropWhile_ reference 0.006s
406 + Traverse for InvariantK[Traverse[WrappedList]]: traverse.exists consistent with find 0.005s
407 + Traverse for InvariantK[Traverse[WrappedList]]: traverse.exists is lazy 0.004s
408 + Traverse for InvariantK[Traverse[WrappedList]]: traverse.filter_ reference 0.008s
409 + Traverse for InvariantK[Traverse[WrappedList]]: traverse.fold reference 0.012s
410 + Traverse for InvariantK[Traverse[WrappedList]]: traverse.foldLeft consistent with foldMap 0.209s
411 + Traverse for InvariantK[Traverse[WrappedList]]: traverse.foldM identity 0.178s
412 + Traverse for InvariantK[Traverse[WrappedList]]: traverse.foldRight consistent with foldMap 0.159s
413 + Traverse for InvariantK[Traverse[WrappedList]]: traverse.foldRight is lazy 0.003s
414 + Traverse for InvariantK[Traverse[WrappedList]]: traverse.foldRightDefer consistency 0.113s
415 + Traverse for InvariantK[Traverse[WrappedList]]: traverse.forall consistent with exists 0.003s
416 + Traverse for InvariantK[Traverse[WrappedList]]: traverse.forall is lazy 0.003s
417 + Traverse for InvariantK[Traverse[WrappedList]]: traverse.forall true if empty 0.002s
418 + Traverse for InvariantK[Traverse[WrappedList]]: traverse.get reference 0.014s
419 + Traverse for InvariantK[Traverse[WrappedList]]: traverse.invariant composition 0.02s
420 + Traverse for InvariantK[Traverse[WrappedList]]: traverse.invariant identity 0.005s
421 + Traverse for InvariantK[Traverse[WrappedList]]: traverse.nonEmpty reference 0.003s
422 + Traverse for InvariantK[Traverse[WrappedList]]: traverse.ordered consistency 0.004s
423 + Traverse for InvariantK[Traverse[WrappedList]]: traverse.reduceLeftOption consistent with reduceLeftToOption 0.007s
424 + Traverse for InvariantK[Traverse[WrappedList]]: traverse.reduceRightOption consistent with reduceRightToOption 0.018s
425 + Traverse for InvariantK[Traverse[WrappedList]]: traverse.takeWhile_ reference 0.004s
426 + Traverse for InvariantK[Traverse[WrappedList]]: traverse.toList reference 0.003s
427 + Traverse for InvariantK[Traverse[WrappedList]]: traverse.traverse derive foldMap 0.18s
428 + Traverse for InvariantK[Traverse[WrappedList]]: traverse.traverse identity 0.005s
429 + Traverse for InvariantK[Traverse[WrappedList]]: traverse.traverse order consistency 0.009s
430 + Traverse for InvariantK[Traverse[WrappedList]]: traverse.traverse parallel composition 0.025s
431 + Traverse for InvariantK[Traverse[WrappedList]]: traverse.traverse ref mapWithIndex 0.061s
432 + Traverse for InvariantK[Traverse[WrappedList]]: traverse.traverse ref traverseWithIndexM 0.021s
433 + Traverse for InvariantK[Traverse[WrappedList]]: traverse.traverse ref zipWithIndex 0.032s
434 + Traverse for InvariantK[Traverse[WrappedList]]: traverse.traverse sequential composition 0.035s
435 + Traverse for InvariantK[Traverse[WrappedList]]: traverse.traverse traverseTap 0.04s
436 + Traverse for InvariantK[Traverse[WrappedList]]: traverse.unordered traverse consistent with sequence 0.014s
437 + Traverse for InvariantK[Traverse[WrappedList]]: traverse.unordered traverse parallel composition 0.048s
438 + Traverse for InvariantK[Traverse[WrappedList]]: traverse.unordered traverse sequential composition 0.044s
439 + Traverse for InvariantK[Traverse[WrappedList]]: traverse.unorderedFold consistent with unorderedFoldMap 0.006s
440 + Alternative for InvariantK[Alternative[WrappedList]]: alternative.ap consistent with product + map 0.06s
441 + Alternative for InvariantK[Alternative[WrappedList]]: alternative.applicative homomorphism 0.002s
442 + Alternative for InvariantK[Alternative[WrappedList]]: alternative.applicative identity 0.003s
443 + Alternative for InvariantK[Alternative[WrappedList]]: alternative.applicative interchange 0.004s
444 + Alternative for InvariantK[Alternative[WrappedList]]: alternative.applicative map 0.003s
445 + Alternative for InvariantK[Alternative[WrappedList]]: alternative.applicative unit 0.001s
446 + Alternative for InvariantK[Alternative[WrappedList]]: alternative.apply composition 2.106s
447 + Alternative for InvariantK[Alternative[WrappedList]]: alternative.covariant composition 0.004s
448 + Alternative for InvariantK[Alternative[WrappedList]]: alternative.covariant identity 0.001s
449 + Alternative for InvariantK[Alternative[WrappedList]]: alternative.invariant composition 0.004s
450 + Alternative for InvariantK[Alternative[WrappedList]]: alternative.invariant identity 0.001s
451 + Alternative for InvariantK[Alternative[WrappedList]]: alternative.left distributivity 0.008s
452 + Alternative for InvariantK[Alternative[WrappedList]]: alternative.map2/map2Eval consistency 0.064s
453 + Alternative for InvariantK[Alternative[WrappedList]]: alternative.map2/product-map consistency 0.042s
454 + Alternative for InvariantK[Alternative[WrappedList]]: alternative.monoidK left identity 0.002s
455 + Alternative for InvariantK[Alternative[WrappedList]]: alternative.monoidK right identity 0.001s
456 + Alternative for InvariantK[Alternative[WrappedList]]: alternative.monoidal left identity 0.002s
457 + Alternative for InvariantK[Alternative[WrappedList]]: alternative.monoidal right identity 0.002s
458 + Alternative for InvariantK[Alternative[WrappedList]]: alternative.productL consistent map2 0.009s
459 + Alternative for InvariantK[Alternative[WrappedList]]: alternative.productR consistent map2 0.006s
460 + Alternative for InvariantK[Alternative[WrappedList]]: alternative.right absorption 0.002s
461 + Alternative for InvariantK[Alternative[WrappedList]]: alternative.right distributivity 0.073s
462 + Alternative for InvariantK[Alternative[WrappedList]]: alternative.semigroupK associative 0.004s
463 + Alternative for InvariantK[Alternative[WrappedList]]: alternative.semigroupal associativity 0.208s
464 + InvariantK for Functor: invariantK.invariant composition 0.042s
465 + InvariantK for Functor: invariantK.invariantK identity 0.014s
466Starting build for ProjectRef(file:/build/repo/,testingCats) (tmm-utils-testing-cats)... [6/8]
467Compile scalacOptions: -encoding, UTF-8, -unchecked, -language:implicitConversions, -Ykind-projector, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
468[info] compiling 2 Scala sources to /build/repo/testing/cats/target/scala-3.8.0-RC6/test-classes ...
469[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
470[warn] one warning found
471[info] done compiling
472au.id.tmm.utilities.testing.cats.instances.MiniFloatInstancesSpec:
473au.id.tmm.utilities.testing.cats.instances.WrappedInstancesSpec:
474 + MiniFloat Order: order.antisymmetry 0.041s
475 + MiniFloat Order: order.antisymmetry eq 0.009s
476 + Wrapped Invariant: invariant.invariant composition 0.048s
477 + MiniFloat Order: order.compare 0.008s
478 + MiniFloat Order: order.gt 0.004s
479 + Wrapped Invariant: invariant.invariant identity 0.007s
480 + MiniFloat Order: order.gteqv 0.004s
481 + MiniFloat Order: order.lt 0.003s
482 + MiniFloat Order: order.max 0.006s
483 + MiniFloat Order: order.min 0.003s
484 + WrappedK Invariant: invariant.invariant composition 0.016s
485 + WrappedK Invariant: invariant.invariant identity 0.003s
486 + MiniFloat Order: order.partialCompare 0.005s
487 + MiniFloat Order: order.pmax 0.004s
488 + MiniFloat Order: order.pmin 0.004s
489 + MiniFloat Order: order.reflexivity eq 0.001s
490 + MiniFloat Order: order.reflexivity gt 0.002s
491 + MiniFloat Order: order.reflexivity lt 0.001s
492 + MiniFloat Order: order.symmetry eq 0.002s
493 + MiniFloat Order: order.totality 0.001s
494 + MiniFloat Order: order.transitivity 0.003s
495 + MiniFloat Order: order.transitivity eq 0.002s
496 + MiniFloat Hash: hash.antisymmetry eq 0.002s
497 + MiniFloat Hash: hash.hash compatibility 0.003s
498 + MiniFloat Hash: hash.reflexivity eq 0.001s
499 + MiniFloat Hash: hash.same as scala hashing 0.003s
500 + MiniFloat Hash: hash.same as universal hash 0.002s
501 + MiniFloat Hash: hash.symmetry eq 0.002s
502 + MiniFloat Hash: hash.transitivity eq 0.002s
503Starting build for ProjectRef(file:/build/repo/,catsEffect) (tmm-utils-cats-effect)... [7/8]
504Compile scalacOptions: -encoding, UTF-8, -unchecked, -language:implicitConversions, -Ykind-projector, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
505[info] compiling 1 Scala source to /build/repo/cats/cats-effect/target/scala-3.8.0-RC6/classes ...
506[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
507[warn] one warning found
508[info] done compiling
509
510************************
511Build summary:
512[{
513 "module": "tmm-utils-circe",
514 "compile": {"status": "ok", "tookMs": 5402, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
515 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
516 "test-compile": {"status": "ok", "tookMs": 5898, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
517 "test": {"status": "ok", "tookMs": 765, "passed": 9, "failed": 0, "ignored": 0, "skipped": 0, "total": 9, "byFramework": [{"framework": "munit", "stats": {"passed": 9, "failed": 0, "ignored": 0, "skipped": 0, "total": 9}}]},
518 "publish": {"status": "skipped", "tookMs": 0},
519 "metadata": {
520 "crossScalaVersions": ["2.13.8", "3.1.1"]
521}
522},{
523 "module": "tmm-utils-errors",
524 "compile": {"status": "ok", "tookMs": 943, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
525 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
526 "test-compile": {"status": "ok", "tookMs": 2018, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
527 "test": {"status": "ok", "tookMs": 241, "passed": 36, "failed": 0, "ignored": 0, "skipped": 0, "total": 36, "byFramework": [{"framework": "munit", "stats": {"passed": 36, "failed": 0, "ignored": 0, "skipped": 0, "total": 36}}]},
528 "publish": {"status": "skipped", "tookMs": 0},
529 "metadata": {
530 "crossScalaVersions": ["2.13.8", "3.1.1"]
531}
532},{
533 "module": "tmm-utils-syntax",
534 "compile": {"status": "ok", "tookMs": 227, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
535 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
536 "test-compile": {"status": "ok", "tookMs": 453, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
537 "test": {"status": "ok", "tookMs": 141, "passed": 1, "failed": 0, "ignored": 0, "skipped": 0, "total": 1, "byFramework": [{"framework": "munit", "stats": {"passed": 1, "failed": 0, "ignored": 0, "skipped": 0, "total": 1}}]},
538 "publish": {"status": "skipped", "tookMs": 0},
539 "metadata": {
540 "crossScalaVersions": ["2.13.8", "3.1.1"]
541}
542},{
543 "module": "tmm-utils-testing-core",
544 "compile": {"status": "ok", "tookMs": 62, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
545 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
546 "test-compile": {"status": "ok", "tookMs": 1522, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
547 "test": {"status": "ok", "tookMs": 812, "passed": 98, "failed": 0, "ignored": 0, "skipped": 0, "total": 98, "byFramework": [{"framework": "munit", "stats": {"passed": 98, "failed": 0, "ignored": 0, "skipped": 0, "total": 98}}]},
548 "publish": {"status": "skipped", "tookMs": 0},
549 "metadata": {
550 "crossScalaVersions": ["2.13.8", "3.1.1"]
551}
552},{
553 "module": "tmm-utils-testing-scalacheck",
554 "compile": {"status": "ok", "tookMs": 113, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
555 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
556 "test-compile": {"status": "ok", "tookMs": 137, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
557 "test": {"status": "ok", "tookMs": 125, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
558 "publish": {"status": "skipped", "tookMs": 0},
559 "metadata": {
560 "crossScalaVersions": ["2.13.8", "3.1.1"]
561}
562},{
563 "module": "tmm-utils-cats",
564 "compile": {"status": "ok", "tookMs": 1488, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
565 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
566 "test-compile": {"status": "ok", "tookMs": 2019, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
567 "test": {"status": "ok", "tookMs": 5009, "passed": 94, "failed": 0, "ignored": 0, "skipped": 0, "total": 94, "byFramework": [{"framework": "munit", "stats": {"passed": 94, "failed": 0, "ignored": 0, "skipped": 0, "total": 94}}]},
568 "publish": {"status": "skipped", "tookMs": 0},
569 "metadata": {
570 "crossScalaVersions": ["2.13.8", "3.1.1"]
571}
572},{
573 "module": "tmm-utils-testing-cats",
574 "compile": {"status": "ok", "tookMs": 124, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
575 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
576 "test-compile": {"status": "ok", "tookMs": 753, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
577 "test": {"status": "ok", "tookMs": 456, "passed": 29, "failed": 0, "ignored": 0, "skipped": 0, "total": 29, "byFramework": [{"framework": "munit", "stats": {"passed": 29, "failed": 0, "ignored": 0, "skipped": 0, "total": 29}}]},
578 "publish": {"status": "skipped", "tookMs": 0},
579 "metadata": {
580 "crossScalaVersions": ["2.13.8", "3.1.1"]
581}
582},{
583 "module": "tmm-utils-cats-effect",
584 "compile": {"status": "ok", "tookMs": 227, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
585 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
586 "test-compile": {"status": "ok", "tookMs": 262, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
587 "test": {"status": "ok", "tookMs": 223, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
588 "publish": {"status": "skipped", "tookMs": 0},
589 "metadata": {
590 "crossScalaVersions": ["2.13.8", "3.1.1"]
591}
592}]
593************************
594[success] Total time: 37 s, completed Jan 8, 2026, 1:38:27 AM
595[0JChecking patch project/plugins.sbt...
596Checking patch project/build.properties...
597Checking patch build.sbt...
598Applied patch project/plugins.sbt cleanly.
599Applied patch project/build.properties cleanly.
600Applied patch build.sbt cleanly.