Build Logs

tmccarthy/tmm-scala-collections • 3.8.0-RC3:2025-12-04

Errors

0

Warnings

42

Total Lines

1337

1##################################
2Clonning https://github.com/tmccarthy/tmm-scala-collections.git into /build/repo using revision v0.2.0
3##################################
4Note: switching to '9e995bb834fd10cb2a926289be197a7e1a502de3'.
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
21Using target Scala version for migration: 3.7.4
22Migrating project for -source:3.4 using Scala 3.7.4
23----
24Preparing build for 3.7.4
25Would try to apply common scalacOption (best-effort, sbt/mill only):
26Append: -rewrite,REQUIRE:-source:3.4-migration
27Remove: -indent,-no-indent,-new-syntax,,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
28
29Try apply source patch:
30Path: build.sbt
31Pattern: ThisBuild / tlFatalWarnings := true
32Replacement:
33Starting compilation server
34Compiling project (Scala 3.7.3, JVM (17))
35Compiled project (Scala 3.7.3, JVM (17))
36Successfully applied pattern 'ThisBuild / tlFatalWarnings := true' in build.sbt
37----
38Starting build for 3.7.4
39Execute tests: false
40sbt project found:
41Sbt version 1.7.0 is not supported, minimal supported version is 1.11.5
42Enforcing usage of sbt in version 1.11.5
43No prepare script found for project tmccarthy/tmm-scala-collections
44##################################
45Scala version: 3.7.4
46Targets: au.id.tmm.tmm-scala-collections%tmm-scala-collections-cats au.id.tmm.tmm-scala-collections%tmm-scala-collections-circe au.id.tmm.tmm-scala-collections%tmm-scala-collections-core au.id.tmm.tmm-scala-collections%tmm-scala-collections-scalacheck
47Project projectConfig: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"compile-only","migrationVersions":["3.4"],"sourcePatches":[{"path":"build.sbt","pattern":"ThisBuild / tlFatalWarnings := true","replaceWith":""}]}
48##################################
49Using extra scalacOptions: -rewrite,REQUIRE:-source:3.4-migration
50Filtering out scalacOptions: -indent,-no-indent,-new-syntax,,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
51[sbt_options] declare -a sbt_options=()
52[process_args] java_version = '17'
53[copyRt] java9_rt = '/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8/rt.jar'
54# Executing command line:
55java
56-Dfile.encoding=UTF-8
57-Dcommunitybuild.scala=3.7.4
58-Dcommunitybuild.project.dependencies.add=
59-Xmx7G
60-Xms4G
61-Xss8M
62-Dsbt.script=/root/.sdkman/candidates/sbt/current/bin/sbt
63-Dscala.ext.dirs=/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8
64-jar
65/root/.sdkman/candidates/sbt/1.11.5/bin/sbt-launch.jar
66"setCrossScalaVersions 3.7.4"
67"++3.7.4 -v"
68"mapScalacOptions "-rewrite,REQUIRE:-source:3.4-migration,-Wconf:msg=can be rewritten automatically under:s" "-indent,-no-indent,-new-syntax,,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e""
69"set every credentials := Nil"
70"excludeLibraryDependency com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}"
71"removeScalacOptionsStartingWith -P:wartremover"
72
73moduleMappings
74"runBuild 3.7.4 """{"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"compile-only","migrationVersions":["3.4"],"sourcePatches":[{"path":"build.sbt","pattern":"ThisBuild / tlFatalWarnings := true","replaceWith":""}]}""" au.id.tmm.tmm-scala-collections%tmm-scala-collections-cats au.id.tmm.tmm-scala-collections%tmm-scala-collections-circe au.id.tmm.tmm-scala-collections%tmm-scala-collections-core au.id.tmm.tmm-scala-collections%tmm-scala-collections-scalacheck"
75
76[info] welcome to sbt 1.11.5 (Eclipse Adoptium Java 17.0.8)
77[info] loading settings for project repo-build from akka.sbt, plugins.sbt...
78[info] loading project definition from /build/repo/project
79[info] compiling 2 Scala sources to /build/repo/project/target/scala-2.12/sbt-1.0/classes ...
80[info] Non-compiled module 'compiler-bridge_2.12' for Scala 2.12.20. Compiling...
81[info] Compilation completed in 8.338s.
82[info] done compiling
83[info] loading settings for project root from build.sbt...
84[info] set scmInfo to https://github.com/tmccarthy/tmm-scala-collections
85[info] set current project to tmm-scala-collections (in build file:/build/repo/)
86Execute setCrossScalaVersions: 3.7.4
87OpenCB::Changing crossVersion 3.1.3 -> 3.7.4 in rootNative/crossScalaVersions
88OpenCB::Changing crossVersion 3.1.3 -> 3.7.4 in rootJS/crossScalaVersions
89OpenCB::Changing crossVersion 3.1.3 -> 3.7.4 in core/crossScalaVersions
90OpenCB::Changing crossVersion 3.1.3 -> 3.7.4 in circe/crossScalaVersions
91OpenCB::Changing crossVersion 3.1.3 -> 3.7.4 in cats/crossScalaVersions
92OpenCB::Changing crossVersion 3.1.3 -> 3.7.4 in rootJVM/crossScalaVersions
93OpenCB::Changing crossVersion 3.1.3 -> 3.7.4 in root/crossScalaVersions
94[info] set scmInfo to https://github.com/tmccarthy/tmm-scala-collections
95OpenCB::Changing crossVersion 3.1.3 -> 3.7.4 in scalaCheck/crossScalaVersions
96[info] set current project to tmm-scala-collections (in build file:/build/repo/)
97[info] Setting Scala version to 3.7.4 on 8 projects.
98[info] Switching Scala version on:
99[info] * root (2.13.8, 3.7.4)
100[info] rootJS (2.13.8, 3.7.4)
101[info] rootJVM (2.13.8, 3.7.4)
102[info] rootNative (2.13.8, 3.7.4)
103[info] circe (2.13.8, 3.7.4)
104[info] cats (2.13.8, 3.7.4)
105[info] core (2.13.8, 3.7.4)
106[info] scalaCheck (2.13.8, 3.7.4)
107[info] Excluding projects:
108[info] Reapplying settings...
109[info] set scmInfo to https://github.com/tmccarthy/tmm-scala-collections
110[info] set current project to tmm-scala-collections (in build file:/build/repo/)
111Execute mapScalacOptions: -rewrite,REQUIRE:-source:3.4-migration,-Wconf:msg=can be rewritten automatically under:s -indent,-no-indent,-new-syntax,,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
112[info] Reapplying settings...
113[info] set scmInfo to https://github.com/tmccarthy/tmm-scala-collections
114[info] set current project to tmm-scala-collections (in build file:/build/repo/)
115[info] Defining Global / credentials, cats / credentials and 6 others.
116[info] The new values will be used by allCredentials, cats / allCredentials and 45 others.
117[info] Run `last` for details.
118[info] Reapplying settings...
119[info] set scmInfo to https://github.com/tmccarthy/tmm-scala-collections
120[info] set current project to tmm-scala-collections (in build file:/build/repo/)
121Execute excludeLibraryDependency: com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}
122[info] Reapplying settings...
123OpenCB::Failed to reapply settings in excludeLibraryDependency: Reference to undefined setting:
124
125 Global / allExcludeDependencies from Global / allExcludeDependencies (CommunityBuildPlugin.scala:331)
126 Did you mean allExcludeDependencies ?
127 , retry without global scopes
128[info] Reapplying settings...
129[info] set scmInfo to https://github.com/tmccarthy/tmm-scala-collections
130[info] set current project to tmm-scala-collections (in build file:/build/repo/)
131Execute removeScalacOptionsStartingWith: -P:wartremover
132[info] Reapplying settings...
133[info] set scmInfo to https://github.com/tmccarthy/tmm-scala-collections
134[info] set current project to tmm-scala-collections (in build file:/build/repo/)
135[success] Total time: 0 s, completed Dec 4, 2025, 12:44:49 PM
136Build config: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"compile-only","migrationVersions":["3.4"],"sourcePatches":[{"path":"build.sbt","pattern":"ThisBuild / tlFatalWarnings := true","replaceWith":""}]}
137Parsed config: Success(ProjectBuildConfig(ProjectsConfig(List(),Map()),CompileOnly,List()))
138Starting build...
139Projects: Set(cats, circe, core, scalaCheck)
140Starting build for ProjectRef(file:/build/repo/,cats) (tmm-scala-collections-cats)... [0/4]
141OpenCB::Exclude Scala3 specific scalacOption `-rewrite` in Scala 2.12.20 module Global
142OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.4-migration` in Scala 2.12.20 module Global
143OpenCB::Filter out '-deprecation', matches setting pattern '^-?-deprecation'
144OpenCB::Filter out '-feature', matches setting pattern '^-?-feature'
145OpenCB::Filter out '-source:3.0-migration', matches setting pattern '^-?-source(:.*)?'
146Compile scalacOptions: -encoding, UTF-8, -unchecked, -language:implicitConversions, -Ykind-projector, -rewrite, -Wconf:msg=can be rewritten automatically under:s, -source:3.4-migration
147[info] compiling 15 Scala sources to /build/repo/core/target/scala-3.7.4/classes ...
148[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
149[info] [patched file /build/repo/core/src/main/scala/au/id/tmm/collections/DupelessSeq.scala]
150[info] [patched file /build/repo/core/src/main/scala/au/id/tmm/collections/NonEmptySeqOps.scala]
151[info] [patched file /build/repo/core/src/main/scala/au/id/tmm/collections/NonEmptyMap.scala]
152[warn] one warning found
153[info] done compiling
154[info] compiling 6 Scala sources to /build/repo/scalacheck/target/scala-3.7.4/classes ...
155[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
156[warn] one warning found
157[info] done compiling
158[info] compiling 21 Scala sources to /build/repo/cats/target/scala-3.7.4/classes ...
159[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
160[info] [patched file /build/repo/cats/src/main/scala/au/id/tmm/collections/cats/instances/NonEmptySetInstances.scala]
161[info] [patched file /build/repo/cats/src/main/scala/au/id/tmm/collections/cats/instances/NonEmptyMapInstances.scala]
162[info] [patched file /build/repo/cats/src/main/scala/au/id/tmm/collections/cats/instances/NonEmptyDupelessSeqInstances.scala]
163[info] [patched file /build/repo/cats/src/main/scala/au/id/tmm/collections/cats/instances/DupelessSeqInstances.scala]
164[info] [patched file /build/repo/cats/src/main/scala/au/id/tmm/collections/cats/instances/unlawful/NonEmptySetUnlawfulInstances.scala]
165[info] [patched file /build/repo/cats/src/main/scala/au/id/tmm/collections/cats/instances/NonEmptyArraySeqInstances.scala]
166[warn] one warning found
167[info] done compiling
168[info] compiling 3 Scala sources to /build/repo/core/target/scala-3.7.4/classes ...
169[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
170[warn] one warning found
171[info] done compiling
172[info] compiling 4 Scala sources to /build/repo/core/target/scala-3.7.4/classes ...
173[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
174[warn] two warnings found
175[info] done compiling
176[info] compiling 6 Scala sources to /build/repo/cats/target/scala-3.7.4/classes ...
177[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
178[warn] one warning found
179[info] done compiling
180[info] compiling 3 Scala sources to /build/repo/cats/target/scala-3.7.4/classes ...
181[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
182[warn] two warnings found
183[info] done compiling
184[info] compiling 17 Scala sources to /build/repo/cats/target/scala-3.7.4/test-classes ...
185[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
186[info] [patched file /build/repo/cats/src/test/scala/au/id/tmm/collections/cats/instances/unlawful/MapUnlawfulInstancesSpec.scala]
187[info] [patched file /build/repo/cats/src/test/scala/au/id/tmm/collections/cats/instances/NonEmptySetInstancesLawsSpec.scala]
188[info] [patched file /build/repo/cats/src/test/scala/au/id/tmm/collections/cats/instances/NonEmptyDupelessSeqInstancesLawsSpec.scala]
189[warn] one warning found
190[info] done compiling
191[info] compiling 3 Scala sources to /build/repo/cats/target/scala-3.7.4/test-classes ...
192[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
193[warn] one warning found
194[info] done compiling
195Starting build for ProjectRef(file:/build/repo/,circe) (tmm-scala-collections-circe)... [1/4]
196Compile scalacOptions: -encoding, UTF-8, -unchecked, -language:implicitConversions, -Ykind-projector, -rewrite, -Wconf:msg=can be rewritten automatically under:s, -source:3.4-migration
197[info] compiling 8 Scala sources to /build/repo/circe/target/scala-3.7.4/classes ...
198[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
199[warn] one warning found
200[info] done compiling
201[info] compiling 7 Scala sources to /build/repo/circe/target/scala-3.7.4/test-classes ...
202[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
203[info] [patched file /build/repo/circe/src/test/scala/au/id/tmm/collections/circe/codecs/ArraySeqDecodersSpec.scala]
204[info] [patched file /build/repo/circe/src/test/scala/au/id/tmm/collections/circe/codecs/NonEmptyMapCodecsSpec.scala]
205[warn] one warning found
206[info] done compiling
207[info] compiling 2 Scala sources to /build/repo/circe/target/scala-3.7.4/test-classes ...
208[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
209[warn] one warning found
210[info] done compiling
211Starting build for ProjectRef(file:/build/repo/,core) (tmm-scala-collections-core)... [2/4]
212Compile scalacOptions: -encoding, UTF-8, -unchecked, -language:implicitConversions, -Ykind-projector, -rewrite, -Wconf:msg=can be rewritten automatically under:s, -source:3.4-migration
213[info] compiling 11 Scala sources to /build/repo/core/target/scala-3.7.4/test-classes ...
214[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
215[info] [patched file /build/repo/core/src/test/scala/au/id/tmm/collections/syntax/IteratorOpsSpec.scala]
216[info] [patched file /build/repo/core/src/test/scala/au/id/tmm/collections/DupelessSeqSpec.scala]
217[info] [patched file /build/repo/core/src/test/scala/au/id/tmm/collections/NonEmptyArraySeqSpec.scala]
218[warn] one warning found
219[info] done compiling
220[info] compiling 3 Scala sources to /build/repo/core/target/scala-3.7.4/test-classes ...
221[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
222[warn] one warning found
223[info] done compiling
224Starting build for ProjectRef(file:/build/repo/,scalaCheck) (tmm-scala-collections-scalacheck)... [3/4]
225Compile scalacOptions: -encoding, UTF-8, -unchecked, -language:implicitConversions, -Ykind-projector, -rewrite, -Wconf:msg=can be rewritten automatically under:s, -source:3.4-migration
226
227************************
228Build summary:
229[{
230 "module": "tmm-scala-collections-cats",
231 "compile": {"status": "ok", "tookMs": 12428, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
232 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
233 "test-compile": {"status": "ok", "tookMs": 8190, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
234 "test": {"status": "skipped", "tookMs": 0, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
235 "publish": {"status": "skipped", "tookMs": 0},
236 "metadata": {
237 "crossScalaVersions": ["2.13.8", "3.1.3"]
238}
239},{
240 "module": "tmm-scala-collections-circe",
241 "compile": {"status": "ok", "tookMs": 865, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
242 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
243 "test-compile": {"status": "ok", "tookMs": 1486, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
244 "test": {"status": "skipped", "tookMs": 0, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
245 "publish": {"status": "skipped", "tookMs": 0},
246 "metadata": {
247 "crossScalaVersions": ["2.13.8", "3.1.3"]
248}
249},{
250 "module": "tmm-scala-collections-core",
251 "compile": {"status": "ok", "tookMs": 39, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
252 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
253 "test-compile": {"status": "ok", "tookMs": 1428, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
254 "test": {"status": "skipped", "tookMs": 0, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
255 "publish": {"status": "skipped", "tookMs": 0},
256 "metadata": {
257 "crossScalaVersions": ["2.13.8", "3.1.3"]
258}
259},{
260 "module": "tmm-scala-collections-scalacheck",
261 "compile": {"status": "ok", "tookMs": 75, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
262 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
263 "test-compile": {"status": "ok", "tookMs": 117, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
264 "test": {"status": "skipped", "tookMs": 0, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
265 "publish": {"status": "skipped", "tookMs": 0},
266 "metadata": {
267 "crossScalaVersions": ["2.13.8", "3.1.3"]
268}
269}]
270************************
271[success] Total time: 59 s, completed Dec 4, 2025, 12:45:48 PM
272[0JChecking patch project/plugins.sbt...
273Checking patch project/build.properties...
274Checking patch build.sbt...
275Applied patch project/plugins.sbt cleanly.
276Applied patch project/build.properties cleanly.
277Applied patch build.sbt cleanly.
278Commit migration rewrites
279Switched to a new branch 'opencb/migrate-source-3.4'
280[opencb/migrate-source-3.4 703a059] Apply Scala compiler rewrites using -source:3.4-migration using Scala 3.7.4
281 17 files changed, 32 insertions(+), 32 deletions(-)
282----
283Preparing build for 3.8.0-RC3
284Scala binary version found: 3.8
285Implicitly using source version 3.8
286Scala binary version found: 3.8
287Implicitly using source version 3.8
288Would try to apply common scalacOption (best-effort, sbt/mill only):
289Append: ,REQUIRE:-source:3.8
290Remove: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
291
292Try apply source patch:
293Path: build.sbt
294Pattern: ThisBuild / tlFatalWarnings := true
295Replacement:
296Successfully applied pattern 'ThisBuild / tlFatalWarnings := true' in build.sbt
297----
298Starting build for 3.8.0-RC3
299Execute tests: true
300sbt project found:
301Sbt version 1.7.0 is not supported, minimal supported version is 1.11.5
302Enforcing usage of sbt in version 1.11.5
303No prepare script found for project tmccarthy/tmm-scala-collections
304##################################
305Scala version: 3.8.0-RC3
306Targets: au.id.tmm.tmm-scala-collections%tmm-scala-collections-cats au.id.tmm.tmm-scala-collections%tmm-scala-collections-circe au.id.tmm.tmm-scala-collections%tmm-scala-collections-core au.id.tmm.tmm-scala-collections%tmm-scala-collections-scalacheck
307Project projectConfig: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":["3.4"],"sourcePatches":[{"path":"build.sbt","pattern":"ThisBuild / tlFatalWarnings := true","replaceWith":""}]}
308##################################
309Using extra scalacOptions: ,REQUIRE:-source:3.8
310Filtering out scalacOptions: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
311[sbt_options] declare -a sbt_options=()
312[process_args] java_version = '17'
313[copyRt] java9_rt = '/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8/rt.jar'
314# Executing command line:
315java
316-Dfile.encoding=UTF-8
317-Dcommunitybuild.scala=3.8.0-RC3
318-Dcommunitybuild.project.dependencies.add=
319-Xmx7G
320-Xms4G
321-Xss8M
322-Dsbt.script=/root/.sdkman/candidates/sbt/current/bin/sbt
323-Dscala.ext.dirs=/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8
324-jar
325/root/.sdkman/candidates/sbt/1.11.5/bin/sbt-launch.jar
326"setCrossScalaVersions 3.8.0-RC3"
327"++3.8.0-RC3 -v"
328"mapScalacOptions ",REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s" ",-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e""
329"set every credentials := Nil"
330"excludeLibraryDependency com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}"
331"removeScalacOptionsStartingWith -P:wartremover"
332
333moduleMappings
334"runBuild 3.8.0-RC3 """{"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":["3.4"],"sourcePatches":[{"path":"build.sbt","pattern":"ThisBuild / tlFatalWarnings := true","replaceWith":""}]}""" au.id.tmm.tmm-scala-collections%tmm-scala-collections-cats au.id.tmm.tmm-scala-collections%tmm-scala-collections-circe au.id.tmm.tmm-scala-collections%tmm-scala-collections-core au.id.tmm.tmm-scala-collections%tmm-scala-collections-scalacheck"
335
336[info] welcome to sbt 1.11.5 (Eclipse Adoptium Java 17.0.8)
337[info] loading settings for project repo-build from akka.sbt, plugins.sbt...
338[info] loading project definition from /build/repo/project
339[info] loading settings for project root from build.sbt...
340[info] set scmInfo to https://github.com/tmccarthy/tmm-scala-collections
341[info] set current project to tmm-scala-collections (in build file:/build/repo/)
342Execute setCrossScalaVersions: 3.8.0-RC3
343OpenCB::Changing crossVersion 3.1.3 -> 3.8.0-RC3 in rootJS/crossScalaVersions
344OpenCB::Changing crossVersion 3.1.3 -> 3.8.0-RC3 in rootNative/crossScalaVersions
345OpenCB::Changing crossVersion 3.1.3 -> 3.8.0-RC3 in core/crossScalaVersions
346OpenCB::Changing crossVersion 3.1.3 -> 3.8.0-RC3 in circe/crossScalaVersions
347OpenCB::Changing crossVersion 3.1.3 -> 3.8.0-RC3 in root/crossScalaVersions
348OpenCB::Changing crossVersion 3.1.3 -> 3.8.0-RC3 in cats/crossScalaVersions
349[info] set scmInfo to https://github.com/tmccarthy/tmm-scala-collections
350OpenCB::Changing crossVersion 3.1.3 -> 3.8.0-RC3 in rootJVM/crossScalaVersions
351OpenCB::Changing crossVersion 3.1.3 -> 3.8.0-RC3 in scalaCheck/crossScalaVersions
352[info] set current project to tmm-scala-collections (in build file:/build/repo/)
353[info] Setting Scala version to 3.8.0-RC3 on 8 projects.
354[info] Switching Scala version on:
355[info] * root (2.13.8, 3.8.0-RC3)
356[info] rootJS (2.13.8, 3.8.0-RC3)
357[info] rootJVM (2.13.8, 3.8.0-RC3)
358[info] rootNative (2.13.8, 3.8.0-RC3)
359[info] circe (2.13.8, 3.8.0-RC3)
360[info] cats (2.13.8, 3.8.0-RC3)
361[info] core (2.13.8, 3.8.0-RC3)
362[info] scalaCheck (2.13.8, 3.8.0-RC3)
363[info] Excluding projects:
364[info] Reapplying settings...
365[info] set scmInfo to https://github.com/tmccarthy/tmm-scala-collections
366[info] set current project to tmm-scala-collections (in build file:/build/repo/)
367Execute mapScalacOptions: ,REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
368[info] Reapplying settings...
369[info] set scmInfo to https://github.com/tmccarthy/tmm-scala-collections
370[info] set current project to tmm-scala-collections (in build file:/build/repo/)
371[info] Defining Global / credentials, cats / credentials and 6 others.
372[info] The new values will be used by allCredentials, cats / allCredentials and 45 others.
373[info] Run `last` for details.
374[info] Reapplying settings...
375[info] set scmInfo to https://github.com/tmccarthy/tmm-scala-collections
376[info] set current project to tmm-scala-collections (in build file:/build/repo/)
377Execute excludeLibraryDependency: com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}
378[info] Reapplying settings...
379OpenCB::Failed to reapply settings in excludeLibraryDependency: Reference to undefined setting:
380
381 Global / allExcludeDependencies from Global / allExcludeDependencies (CommunityBuildPlugin.scala:331)
382 Did you mean allExcludeDependencies ?
383 , retry without global scopes
384[info] Reapplying settings...
385[info] set scmInfo to https://github.com/tmccarthy/tmm-scala-collections
386[info] set current project to tmm-scala-collections (in build file:/build/repo/)
387Execute removeScalacOptionsStartingWith: -P:wartremover
388[info] Reapplying settings...
389[info] set scmInfo to https://github.com/tmccarthy/tmm-scala-collections
390[info] set current project to tmm-scala-collections (in build file:/build/repo/)
391[success] Total time: 0 s, completed Dec 4, 2025, 12:46:00 PM
392Build config: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":["3.4"],"sourcePatches":[{"path":"build.sbt","pattern":"ThisBuild / tlFatalWarnings := true","replaceWith":""}]}
393Parsed config: Success(ProjectBuildConfig(ProjectsConfig(List(),Map()),Full,List()))
394Starting build...
395Projects: Set(cats, circe, core, scalaCheck)
396Starting build for ProjectRef(file:/build/repo/,cats) (tmm-scala-collections-cats)... [0/4]
397OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.8` in Scala 2.12.20 module Global
398OpenCB::Filter out '-deprecation', matches setting pattern '^-?-deprecation'
399OpenCB::Filter out '-feature', matches setting pattern '^-?-feature'
400OpenCB::Filter out '-source:3.0-migration', matches setting pattern '^-?-source(:.*)?'
401Compile scalacOptions: -encoding, UTF-8, -unchecked, -language:implicitConversions, -Ykind-projector, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
402[info] compiling 15 Scala sources to /build/repo/core/target/scala-3.8.0-RC3/classes ...
403[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
404[warn] one warning found
405[info] done compiling
406[info] compiling 6 Scala sources to /build/repo/scalacheck/target/scala-3.8.0-RC3/classes ...
407[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
408[warn] one warning found
409[info] done compiling
410[info] compiling 21 Scala sources to /build/repo/cats/target/scala-3.8.0-RC3/classes ...
411[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
412[warn] one warning found
413[info] done compiling
414[info] compiling 17 Scala sources to /build/repo/cats/target/scala-3.8.0-RC3/test-classes ...
415[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
416[warn] one warning found
417[info] done compiling
418au.id.tmm.collections.cats.instances.DupelessSeqInstancesSpec:
419 + combineN work for an empty DupelessSeq 0.057s
420au.id.tmm.collections.cats.instances.NonEmptyDupelessSeqInstancesSpec:
421 + the semigroup instance for NonEmptyDupelessSeq can be found with a simple import 0.032s
422 + the show instance for NonEmptyDupelessSeq should produce a sensible string 0.015s
423au.id.tmm.collections.cats.instances.unlawful.MapUnlawfulInstancesSpec:
424au.id.tmm.collections.cats.instances.unlawful.NonEmptyMapUnlawfulInstancesSpec:
425au.id.tmm.collections.cats.instances.NonEmptyDupelessSeqInstancesLawsSpec:
426au.id.tmm.collections.cats.instances.NonEmptySetInstancesLawsSpec:
427==> i au.id.tmm.collections.cats.instances.NonEmptySetInstancesLawsSpec.Eq for tmmUtils NonEmptySet: eq.antisymmetry eq ignored 0.0s
428 + Eq for tmmUtils NonEmptySet: eq.reflexivity eq 0.108s
429 + the group for map should subtract elements as appropriate 0.239s
430 + Eq for NonEmptyDupelessSeq: eq.antisymmetry eq 0.18s
431 + Eq for NonEmptyDupelessSeq: eq.reflexivity eq 0.044s
432 + Eq for tmmUtils NonEmptySet: eq.symmetry eq 0.12s
433 + Eq for NonEmptyDupelessSeq: eq.symmetry eq 0.066s
434 + Eq for tmmUtils NonEmptySet: eq.transitivity eq 0.064s
435 + Hash for tmmUtils NonEmptySet: hash.antisymmetry eq 0.03s
436 + Traverse for NonEmptyMap: traverse.collectFirst reference 0.383s
437 + Eq for NonEmptyDupelessSeq: eq.transitivity eq 0.065s
438 + Hash for tmmUtils NonEmptySet: hash.hash compatibility 0.036s
439 + Hash for tmmUtils NonEmptySet: hash.reflexivity eq 0.016s
440 + Hash for NonEmptyDupelessSeq: hash.antisymmetry eq 0.049s
441 + Traverse for NonEmptyMap: traverse.collectFirstSome reference 0.084s
442 + Hash for tmmUtils NonEmptySet: hash.same as scala hashing 0.059s
443 + Hash for NonEmptyDupelessSeq: hash.hash compatibility 0.052s
444 + Unlawful Group for Map: group.associative 0.339s
445 + Hash for NonEmptyDupelessSeq: hash.reflexivity eq 0.021s
446 + Hash for tmmUtils NonEmptySet: hash.same as universal hash 0.045s
447 + Hash for tmmUtils NonEmptySet: hash.symmetry eq 0.011s
448 + Unlawful Group for Map: group.collect0 0.058s
449 + Hash for tmmUtils NonEmptySet: hash.transitivity eq 0.024s
450 + Hash for NonEmptyDupelessSeq: hash.same as scala hashing 0.048s
451 + Hash for NonEmptyDupelessSeq: hash.same as universal hash 0.04s
452 + Semilattice for tmmUtils NonEmptySet: semilattice.associative 0.061s
453 + Hash for NonEmptyDupelessSeq: hash.symmetry eq 0.023s
454 + Hash for NonEmptyDupelessSeq: hash.transitivity eq 0.021s
455 + Band for NonEmptyDupelessSeq: band.associative 0.053s
456 + Traverse for NonEmptyMap: traverse.contains all elements from itself 0.387s
457 + Traverse for NonEmptyMap: traverse.contains consistent with exists 0.064s
458 + Semilattice for tmmUtils NonEmptySet: semilattice.combineAllOption 0.299s
459 + Semilattice for tmmUtils NonEmptySet: semilattice.commutative 0.011s
460 + Semilattice for tmmUtils NonEmptySet: semilattice.idempotency 0.008s
461 + Traverse for NonEmptyMap: traverse.contains consistent with forall 0.053s
462 + Traverse for NonEmptyMap: traverse.covariant composition 0.168s
463 + Traverse for NonEmptyMap: traverse.covariant identity 0.05s
464 + Traverse for NonEmptyMap: traverse.dropWhile_ reference 0.046s
465 + Traverse for NonEmptyMap: traverse.exists consistent with find 0.026s
466 + Traverse for NonEmptyMap: traverse.exists is lazy 0.023s
467 + Traverse for NonEmptyMap: traverse.filter_ reference 0.044s
468 + Traverse for NonEmptyMap: traverse.fold reference 0.055s
469 + Semilattice for tmmUtils NonEmptySet: semilattice.intercalateCombineAllOption 0.477s
470 + Semilattice for tmmUtils NonEmptySet: semilattice.intercalateIntercalates 0.015s
471 + Semilattice for tmmUtils NonEmptySet: semilattice.intercalateRepeat1 0.008s
472 + Traverse for NonEmptyMap: traverse.foldLeft consistent with foldMap 0.072s
473 + Semilattice for tmmUtils NonEmptySet: semilattice.intercalateRepeat2 0.017s
474 + Semilattice for tmmUtils NonEmptySet: semilattice.repeat1 0.005s
475 + Semilattice for tmmUtils NonEmptySet: semilattice.repeat2 0.006s
476 + Unlawful Group for Map: group.combine all 0.971s
477 + Traverse for NonEmptyMap: traverse.foldM identity 0.08s
478 + Traverse for NonEmptyMap: traverse.foldRight consistent with foldMap 0.055s
479 + Traverse for NonEmptyMap: traverse.foldRight is lazy 0.038s
480 + Band for NonEmptyDupelessSeq: band.combineAllOption 0.966s
481 + Band for NonEmptyDupelessSeq: band.idempotency 0.005s
482 + Traverse for NonEmptyMap: traverse.foldRightDefer consistency 0.058s
483 + Semilattice for tmmUtils NonEmptySet: semilattice.reverseCombineAllOption 0.219s
484 + Semilattice for tmmUtils NonEmptySet: semilattice.reverseRepeat1 0.002s
485 + Semilattice for tmmUtils NonEmptySet: semilattice.reverseRepeat2 0.006s
486 + Semilattice for tmmUtils NonEmptySet: semilattice.reverseReverses 0.01s
487 + SemigroupK for tmmUtils NonEmptySet: semigroupK.semigroupK associative 0.019s
488 + Traverse for NonEmptyMap: traverse.forall consistent with exists 0.045s
489 + Traverse for NonEmptyMap: traverse.forall is lazy 0.035s
490 + UnorderedTraverse for tmmUtils NonEmptySet: unorderedTraverse.contains all elements from itself 0.056s
491 + UnorderedTraverse for tmmUtils NonEmptySet: unorderedTraverse.contains consistent with exists 0.01s
492 + Traverse for NonEmptyMap: traverse.forall true if empty 0.035s
493 + UnorderedTraverse for tmmUtils NonEmptySet: unorderedTraverse.contains consistent with forall 0.015s
494 + UnorderedTraverse for tmmUtils NonEmptySet: unorderedTraverse.exists is lazy 0.008s
495 + UnorderedTraverse for tmmUtils NonEmptySet: unorderedTraverse.forall consistent with exists 0.007s
496 + UnorderedTraverse for tmmUtils NonEmptySet: unorderedTraverse.forall is lazy 0.014s
497 + UnorderedTraverse for tmmUtils NonEmptySet: unorderedTraverse.forall true if empty 0.014s
498 + UnorderedTraverse for tmmUtils NonEmptySet: unorderedTraverse.nonEmpty reference 0.021s
499 + UnorderedTraverse for tmmUtils NonEmptySet: unorderedTraverse.unordered traverse consistent with sequence 0.04s
500 + Traverse for NonEmptyMap: traverse.get reference 0.119s
501 + UnorderedTraverse for tmmUtils NonEmptySet: unorderedTraverse.unordered traverse parallel composition 0.047s
502 + UnorderedTraverse for tmmUtils NonEmptySet: unorderedTraverse.unordered traverse sequential composition 0.046s
503 + UnorderedTraverse for tmmUtils NonEmptySet: unorderedTraverse.unorderedFold consistent with unorderedFoldMap 0.007s
504 + Traverse for NonEmptyMap: traverse.invariant composition 0.128s
505 + Traverse for NonEmptyMap: traverse.invariant identity 0.052s
506 + Traverse for NonEmptyMap: traverse.nonEmpty reference 0.051s
507 + Traverse for NonEmptyMap: traverse.ordered consistency 0.074s
508 + Traverse for NonEmptyMap: traverse.reduceLeftOption consistent with reduceLeftToOption 0.034s
509 + Traverse for NonEmptyMap: traverse.reduceRightOption consistent with reduceRightToOption 0.109s
510 + Traverse for NonEmptyMap: traverse.takeWhile_ reference 0.051s
511 + Traverse for NonEmptyMap: traverse.toList reference 0.037s
512 + Traverse for NonEmptyMap: traverse.traverse derive foldMap 0.083s
513 + Unlawful Group for Map: group.combineAllOption 1.076s
514 + Traverse for NonEmptyMap: traverse.traverse identity 0.061s
515 + Monad for NonEmptySet: monad.ap consistent with product + map 0.625s
516 + Monad for NonEmptySet: monad.applicative homomorphism 0.005s
517 + Monad for NonEmptySet: monad.applicative identity 0.008s
518 + Traverse for NonEmptyMap: traverse.traverse order consistency 0.056s
519 + Unlawful Group for Map: group.consistent inverse 0.082s
520 + Monad for NonEmptySet: monad.applicative interchange 0.019s
521 + Monad for NonEmptySet: monad.applicative map 0.011s
522 + Monad for NonEmptySet: monad.applicative unit 0.002s
523 + Traverse for NonEmptyMap: traverse.traverse parallel composition 0.084s
524 + Traverse for NonEmptyMap: traverse.traverse ref mapAccumulate 0.218s
525 + Band for NonEmptyDupelessSeq: band.intercalateCombineAllOption 1.378s
526 + Band for NonEmptyDupelessSeq: band.intercalateIntercalates 0.02s
527 + Band for NonEmptyDupelessSeq: band.intercalateRepeat1 0.009s
528 + Traverse for NonEmptyMap: traverse.traverse ref mapWithIndex 0.106s
529 + Band for NonEmptyDupelessSeq: band.intercalateRepeat2 0.015s
530 + Band for NonEmptyDupelessSeq: band.repeat1 0.01s
531 + Band for NonEmptyDupelessSeq: band.repeat2 0.002s
532 + Traverse for NonEmptyMap: traverse.traverse ref traverseWithIndexM 0.053s
533 + Traverse for NonEmptyMap: traverse.traverse ref zipWithIndex 0.098s
534 + Traverse for NonEmptyMap: traverse.traverse sequential composition 0.098s
535 + Traverse for NonEmptyMap: traverse.traverse traverseTap 0.037s
536 + Traverse for NonEmptyMap: traverse.unordered traverse consistent with sequence 0.036s
537 + Unlawful Group for Map: group.intercalateCombineAllOption 0.73s
538 + Unlawful Group for Map: group.intercalateIntercalates 0.035s
539 + Traverse for NonEmptyMap: traverse.unordered traverse parallel composition 0.045s
540 + Unlawful Group for Map: group.intercalateRepeat1 0.022s
541 + Unlawful Group for Map: group.intercalateRepeat2 0.027s
542 + Traverse for NonEmptyMap: traverse.unordered traverse sequential composition 0.047s
543 + Unlawful Group for Map: group.is id 0.01s
544 + Unlawful Group for Map: group.left identity 0.011s
545==> i au.id.tmm.collections.cats.instances.unlawful.MapUnlawfulInstancesSpec.Unlawful Group for Map: group.left inverse ignored 0.001s
546 + Unlawful Group for Map: group.repeat0 0.011s
547 + Traverse for NonEmptyMap: traverse.unorderedFold consistent with unorderedFoldMap 0.032s
548 + Unlawful Group for Map: group.repeat1 0.013s
549 + Unlawful Group for Map: group.repeat2 0.02s
550au.id.tmm.collections.cats.instances.NonEmptySetInstancesSpec:
551 + the show for a NonEmptySet should produce a sensible string 0.004s
552 + the traverse for a NonEmptySet should traverse the set 0.002s
553au.id.tmm.collections.cats.instances.DupelessSeqInstancesLawsSpec:
554 + Eq for DupelessSeq: eq.antisymmetry eq 0.012s
555 + Eq for DupelessSeq: eq.reflexivity eq 0.005s
556 + Eq for DupelessSeq: eq.symmetry eq 0.007s
557 + Eq for DupelessSeq: eq.transitivity eq 0.009s
558 + Hash for DupelessSeq: hash.antisymmetry eq 0.007s
559 + Hash for DupelessSeq: hash.hash compatibility 0.006s
560 + Hash for DupelessSeq: hash.reflexivity eq 0.005s
561 + Hash for DupelessSeq: hash.same as scala hashing 0.011s
562 + Hash for DupelessSeq: hash.same as universal hash 0.009s
563 + Hash for DupelessSeq: hash.symmetry eq 0.003s
564 + Hash for DupelessSeq: hash.transitivity eq 0.004s
565 + Monoid for DupelessSeq: monoid.associative 0.016s
566 + Monoid for DupelessSeq: monoid.collect0 0.001s
567 + Unlawful Group for Map: group.reverseCombineAllOption 0.503s
568 + Unlawful Group for Map: group.reverseRepeat1 0.014s
569 + Unlawful Group for Map: group.reverseRepeat2 0.012s
570 + Band for NonEmptyDupelessSeq: band.reverseCombineAllOption 0.987s
571 + Band for NonEmptyDupelessSeq: band.reverseRepeat1 0.004s
572 + Band for NonEmptyDupelessSeq: band.reverseRepeat2 0.003s
573 + Band for NonEmptyDupelessSeq: band.reverseReverses 0.006s
574 + Unlawful Group for Map: group.reverseReverses 0.029s
575 + SemigroupK for NonEmptyDupelessSeq: semigroupK.semigroupK associative 0.02s
576 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.collectFirst reference 0.006s
577 + Unlawful Group for Map: group.right identity 0.017s
578==> i au.id.tmm.collections.cats.instances.unlawful.MapUnlawfulInstancesSpec.Unlawful Group for Map: group.right inverse ignored 0.001s
579 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.collectFirstSome reference 0.006s
580 + Unlawful CommutativeGroup for Map: group.associative 0.037s
581 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.contains all elements from itself 0.03s
582 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.contains consistent with exists 0.009s
583 + Unlawful CommutativeGroup for Map: group.collect0 0.013s
584 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.contains consistent with forall 0.008s
585 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.covariant composition 0.051s
586 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.covariant identity 0.008s
587 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.dropWhile_ reference 0.005s
588 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.exists consistent with find 0.002s
589 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.exists is lazy 0.002s
590 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.filter_ reference 0.005s
591 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.fold reference 0.002s
592 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.foldLeft consistent with foldMap 0.007s
593 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.foldM identity 0.01s
594 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.foldRight consistent with foldMap 0.007s
595 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.foldRight is lazy 0.001s
596 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.foldRightDefer consistency 0.014s
597 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.forall consistent with exists 0.006s
598 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.forall is lazy 0.003s
599 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.forall true if empty 0.002s
600 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.get reference 0.006s
601 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.invariant composition 0.023s
602 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.invariant identity 0.007s
603 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.nonEmpty reference 0.004s
604 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.nonEmptySequence_ consistent with sequence_ 0.026s
605 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.nonEmptyTraverse derive reduceMap 0.037s
606 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.nonEmptyTraverse identity 0.024s
607 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.nonEmptyTraverse parallel composition 0.031s
608 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.nonEmptyTraverse sequential composition 0.035s
609 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.nonEmptyTraverse_ consistent with traverse_ 0.014s
610 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.ordered consistency 0.012s
611 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.reduce consistent with reduceLeft 0.013s
612 + Monoid for DupelessSeq: monoid.combine all 0.88s
613 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.reduceLeftOption consistent with reduceLeftToOption 0.02s
614 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.reduceLeftTo consistent with reduceMap 0.008s
615 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.reduceRight consistent with reduceRightOption 0.014s
616 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.reduceRightOption consistent with reduceRightToOption 0.011s
617 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.reduceRightTo consistent with reduceMap 0.009s
618 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.reduceRightTo consistent with reduceRightToOption 0.016s
619 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.size consistent with reduceMap 0.011s
620 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.takeWhile_ reference 0.006s
621 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.toList reference 0.002s
622 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.traverse derive foldMap 0.009s
623 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.traverse identity 0.011s
624 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.traverse order consistency 0.009s
625 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.traverse parallel composition 0.018s
626 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.traverse ref mapAccumulate 0.023s
627 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.traverse ref mapWithIndex 0.025s
628 + Unlawful CommutativeGroup for Map: group.combine all 0.617s
629 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.traverse ref traverseWithIndexM 0.017s
630 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.traverse ref zipWithIndex 0.033s
631 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.traverse sequential composition 0.018s
632 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.traverse traverseTap 0.015s
633 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.unordered traverse consistent with sequence 0.008s
634 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.unordered traverse parallel composition 0.017s
635 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.unordered traverse sequential composition 0.013s
636 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.unorderedFold consistent with unorderedFoldMap 0.005s
637 + Monad for NonEmptyDupelessSeq: monad.ap consistent with product + map 0.249s
638 + Monad for NonEmptyDupelessSeq: monad.applicative homomorphism 0.004s
639 + Monad for NonEmptyDupelessSeq: monad.applicative identity 0.006s
640 + Monad for NonEmptyDupelessSeq: monad.applicative interchange 0.017s
641 + Monad for NonEmptyDupelessSeq: monad.applicative map 0.009s
642 + Monad for NonEmptyDupelessSeq: monad.applicative unit 0.001s
643 + Unlawful CommutativeGroup for Map: group.combineAllOption 0.505s
644 + Unlawful CommutativeGroup for Map: group.consistent inverse 0.036s
645 + Monoid for DupelessSeq: monoid.combineAllOption 0.914s
646 + Unlawful CommutativeGroup for Map: group.intercalateCombineAllOption 0.632s
647 + Unlawful CommutativeGroup for Map: group.intercalateIntercalates 0.032s
648 + Unlawful CommutativeGroup for Map: group.intercalateRepeat1 0.024s
649 + Unlawful CommutativeGroup for Map: group.intercalateRepeat2 0.025s
650 + Unlawful CommutativeGroup for Map: group.is id 0.011s
651 + Unlawful CommutativeGroup for Map: group.left identity 0.013s
652==> i au.id.tmm.collections.cats.instances.unlawful.MapUnlawfulInstancesSpec.Unlawful CommutativeGroup for Map: group.left inverse ignored 0.0s
653 + Unlawful CommutativeGroup for Map: group.repeat0 0.013s
654 + Unlawful CommutativeGroup for Map: group.repeat1 0.01s
655 + Unlawful CommutativeGroup for Map: group.repeat2 0.015s
656 + Monoid for DupelessSeq: monoid.intercalateCombineAllOption 0.786s
657 + Monoid for DupelessSeq: monoid.intercalateIntercalates 0.007s
658 + Monoid for DupelessSeq: monoid.intercalateRepeat1 0.003s
659 + Monoid for DupelessSeq: monoid.intercalateRepeat2 0.006s
660 + Monoid for DupelessSeq: monoid.is id 0.002s
661 + Monoid for DupelessSeq: monoid.left identity 0.002s
662 + Monoid for DupelessSeq: monoid.repeat0 0.002s
663 + Monoid for DupelessSeq: monoid.repeat1 0.002s
664 + Monoid for DupelessSeq: monoid.repeat2 0.004s
665 + Unlawful CommutativeGroup for Map: group.reverseCombineAllOption 0.426s
666 + Unlawful CommutativeGroup for Map: group.reverseRepeat1 0.013s
667 + Unlawful CommutativeGroup for Map: group.reverseRepeat2 0.017s
668 + Unlawful CommutativeGroup for Map: group.reverseReverses 0.023s
669 + Unlawful CommutativeGroup for Map: group.right identity 0.01s
670==> i au.id.tmm.collections.cats.instances.unlawful.MapUnlawfulInstancesSpec.Unlawful CommutativeGroup for Map: group.right inverse ignored 0.0s
671au.id.tmm.collections.cats.syntax.ArraySeqConversionsSpec:
672 + a non-empty arrayseq can be converted to a non-empty vector 0.013s
673 + a non-empty vector can be converted to a non-empty arrayseq 0.0s
674 + a non-empty vector can be converted to a specialised non-empty arraySeq 0.0s
675au.id.tmm.collections.cats.instances.MapOverKeysInstancesSpec:
676 + the monoid for a map over keys should combine values 0.002s
677au.id.tmm.collections.cats.instances.MapOverKeysInstancesLawsSpec:
678 + Functor for Map over keys: functor.covariant composition 0.144s
679 + Functor for Map over keys: functor.covariant identity 0.015s
680 + Monad for NonEmptySet: monad.apply composition 4.163s
681 + Monad for NonEmptySet: monad.covariant composition 0.005s
682 + Monad for NonEmptySet: monad.covariant identity 0.002s
683 + Functor for Map over keys: functor.invariant composition 0.095s
684 + Functor for Map over keys: functor.invariant identity 0.013s
685 + MonoidK for Map over keys: monoidK.monoidK left identity 0.012s
686 + MonoidK for Map over keys: monoidK.monoidK right identity 0.016s
687 + MonoidK for Map over keys: monoidK.semigroupK associative 0.04s
688au.id.tmm.collections.cats.instances.NonEmptyMapInstancesLawsSpec:
689 + Eq for tmmUtils NonEmptyMap: eq.antisymmetry eq 0.025s
690 + Eq for tmmUtils NonEmptyMap: eq.reflexivity eq 0.01s
691 + Eq for tmmUtils NonEmptyMap: eq.symmetry eq 0.023s
692 + Monoid for DupelessSeq: monoid.reverseCombineAllOption 0.789s
693 + Monoid for DupelessSeq: monoid.reverseRepeat1 0.002s
694 + Monoid for DupelessSeq: monoid.reverseRepeat2 0.003s
695 + Monoid for DupelessSeq: monoid.reverseReverses 0.004s
696 + Monoid for DupelessSeq: monoid.right identity 0.004s
697 + Band for DupelessSeq: band.associative 0.01s
698 + Eq for tmmUtils NonEmptyMap: eq.transitivity eq 0.033s
699 + Hash for tmmUtils NonEmptyMap: hash.antisymmetry eq 0.036s
700 + Hash for tmmUtils NonEmptyMap: hash.hash compatibility 0.041s
701 + Hash for tmmUtils NonEmptyMap: hash.reflexivity eq 0.018s
702 + Hash for tmmUtils NonEmptyMap: hash.same as scala hashing 0.048s
703 + Hash for tmmUtils NonEmptyMap: hash.same as universal hash 0.045s
704 + Hash for tmmUtils NonEmptyMap: hash.symmetry eq 0.036s
705 + Hash for tmmUtils NonEmptyMap: hash.transitivity eq 0.042s
706 + UnorderedTraverse for tmmUtils NonEmptyMap: unorderedTraverse.contains all elements from itself 0.068s
707 + UnorderedTraverse for tmmUtils NonEmptyMap: unorderedTraverse.contains consistent with exists 0.016s
708 + UnorderedTraverse for tmmUtils NonEmptyMap: unorderedTraverse.contains consistent with forall 0.016s
709 + UnorderedTraverse for tmmUtils NonEmptyMap: unorderedTraverse.exists is lazy 0.02s
710 + UnorderedTraverse for tmmUtils NonEmptyMap: unorderedTraverse.forall consistent with exists 0.015s
711 + UnorderedTraverse for tmmUtils NonEmptyMap: unorderedTraverse.forall is lazy 0.017s
712 + UnorderedTraverse for tmmUtils NonEmptyMap: unorderedTraverse.forall true if empty 0.012s
713 + UnorderedTraverse for tmmUtils NonEmptyMap: unorderedTraverse.nonEmpty reference 0.014s
714 + UnorderedTraverse for tmmUtils NonEmptyMap: unorderedTraverse.unordered traverse consistent with sequence 0.02s
715 + UnorderedTraverse for tmmUtils NonEmptyMap: unorderedTraverse.unordered traverse parallel composition 0.054s
716 + UnorderedTraverse for tmmUtils NonEmptyMap: unorderedTraverse.unordered traverse sequential composition 0.039s
717 + UnorderedTraverse for tmmUtils NonEmptyMap: unorderedTraverse.unorderedFold consistent with unorderedFoldMap 0.031s
718 + Functor for tmmUtils NonEmptyMap: functor.covariant composition 0.027s
719 + Functor for tmmUtils NonEmptyMap: functor.covariant identity 0.023s
720 + Functor for tmmUtils NonEmptyMap: functor.invariant composition 0.022s
721 + Functor for tmmUtils NonEmptyMap: functor.invariant identity 0.012s
722 + Align for tmmUtils NonEmptyMap: align.align associativity 0.146s
723 + Align for tmmUtils NonEmptyMap: align.align homomorphism 0.085s
724 + Align for tmmUtils NonEmptyMap: align.alignWith consistent 0.08s
725 + Band for DupelessSeq: band.combineAllOption 1.025s
726 + Band for DupelessSeq: band.idempotency 0.006s
727 + CommutativeSemigroup for tmmUtils NonEmptyMap: commutativeSemigroup.associative 0.038s
728 + Monad for NonEmptySet: monad.flatMap associativity 1.417s
729 + Monad for NonEmptySet: monad.flatMap consistent apply 0.085s
730 + Monad for NonEmptySet: monad.flatMap from tailRecM consistency 0.105s
731 + Monad for NonEmptySet: monad.invariant composition 0.008s
732 + Monad for NonEmptySet: monad.invariant identity 0.002s
733 + Monad for NonEmptySet: monad.map flatMap coherence 0.012s
734 + Monad for NonEmptySet: monad.map2/map2Eval consistency 0.075s
735 + CommutativeSemigroup for tmmUtils NonEmptyMap: commutativeSemigroup.combineAllOption 0.427s
736 + CommutativeSemigroup for tmmUtils NonEmptyMap: commutativeSemigroup.commutative 0.025s
737 + Monad for NonEmptySet: monad.map2/product-map consistency 0.087s
738 + Monad for NonEmptySet: monad.monad left identity 0.003s
739 + Monad for NonEmptySet: monad.monad right identity 0.003s
740 + Monad for NonEmptySet: monad.monoidal left identity 0.007s
741 + Monad for NonEmptySet: monad.monoidal right identity 0.01s
742 + Monad for NonEmptySet: monad.mproduct consistent flatMap 0.133s
743 + Monad for NonEmptySet: monad.productL consistent map2 0.021s
744 + Monad for NonEmptySet: monad.productR consistent map2 0.019s
745 + Monad for NonEmptySet: monad.replicateA_ consistent with replicateA.void 0.077s
746 + Band for DupelessSeq: band.intercalateCombineAllOption 0.901s
747 + Band for DupelessSeq: band.intercalateIntercalates 0.026s
748 + Band for DupelessSeq: band.intercalateRepeat1 0.006s
749 + Band for DupelessSeq: band.intercalateRepeat2 0.008s
750 + Band for DupelessSeq: band.repeat1 0.002s
751 + Band for DupelessSeq: band.repeat2 0.001s
752 + CommutativeSemigroup for tmmUtils NonEmptyMap: commutativeSemigroup.intercalateCombineAllOption 0.546s
753 + CommutativeSemigroup for tmmUtils NonEmptyMap: commutativeSemigroup.intercalateIntercalates 0.036s
754 + Monad for NonEmptyDupelessSeq: monad.apply composition 4.003s
755 + CommutativeSemigroup for tmmUtils NonEmptyMap: commutativeSemigroup.intercalateRepeat1 0.023s
756 + Monad for NonEmptyDupelessSeq: monad.covariant composition 0.006s
757 + Monad for NonEmptyDupelessSeq: monad.covariant identity 0.003s
758 + CommutativeSemigroup for tmmUtils NonEmptyMap: commutativeSemigroup.intercalateRepeat2 0.032s
759 + CommutativeSemigroup for tmmUtils NonEmptyMap: commutativeSemigroup.repeat1 0.011s
760 + CommutativeSemigroup for tmmUtils NonEmptyMap: commutativeSemigroup.repeat2 0.011s
761 + CommutativeSemigroup for tmmUtils NonEmptyMap: commutativeSemigroup.reverseCombineAllOption 0.44s
762 + CommutativeSemigroup for tmmUtils NonEmptyMap: commutativeSemigroup.reverseRepeat1 0.011s
763 + Band for DupelessSeq: band.reverseCombineAllOption 0.637s
764 + Band for DupelessSeq: band.reverseRepeat1 0.002s
765 + Band for DupelessSeq: band.reverseRepeat2 0.002s
766 + CommutativeSemigroup for tmmUtils NonEmptyMap: commutativeSemigroup.reverseRepeat2 0.013s
767 + Band for DupelessSeq: band.reverseReverses 0.004s
768 + MonoidK for DupelessSeq: monoidK.monoidK left identity 0.003s
769 + MonoidK for DupelessSeq: monoidK.monoidK right identity 0.003s
770 + MonoidK for DupelessSeq: monoidK.semigroupK associative 0.008s
771 + CommutativeSemigroup for tmmUtils NonEmptyMap: commutativeSemigroup.reverseReverses 0.022s
772 + Traverse for DupelessSeq: traverse.collectFirst reference 0.019s
773 + Traverse for DupelessSeq: traverse.collectFirstSome reference 0.015s
774 + Semigroup for tmmUtils NonEmptyMap: semigroup.associative 0.033s
775 + Traverse for DupelessSeq: traverse.contains all elements from itself 0.031s
776 + Traverse for DupelessSeq: traverse.contains consistent with exists 0.006s
777 + Traverse for DupelessSeq: traverse.contains consistent with forall 0.005s
778 + Traverse for DupelessSeq: traverse.covariant composition 0.02s
779 + Traverse for DupelessSeq: traverse.covariant identity 0.006s
780 + Traverse for DupelessSeq: traverse.dropWhile_ reference 0.007s
781 + Traverse for DupelessSeq: traverse.exists consistent with find 0.008s
782 + Traverse for DupelessSeq: traverse.exists is lazy 0.001s
783 + Traverse for DupelessSeq: traverse.filter_ reference 0.011s
784 + Traverse for DupelessSeq: traverse.fold reference 0.006s
785 + Traverse for DupelessSeq: traverse.foldLeft consistent with foldMap 0.333s
786 + Traverse for DupelessSeq: traverse.foldM identity 0.119s
787 + Semigroup for tmmUtils NonEmptyMap: semigroup.combineAllOption 0.624s
788 + Traverse for DupelessSeq: traverse.foldRight consistent with foldMap 0.126s
789 + Traverse for DupelessSeq: traverse.foldRight is lazy 0.002s
790 + Traverse for DupelessSeq: traverse.foldRightDefer consistency 0.114s
791 + Traverse for DupelessSeq: traverse.forall consistent with exists 0.004s
792 + Traverse for DupelessSeq: traverse.forall is lazy 0.005s
793 + Traverse for DupelessSeq: traverse.forall true if empty 0.001s
794 + Traverse for DupelessSeq: traverse.get reference 0.006s
795 + Traverse for DupelessSeq: traverse.invariant composition 0.012s
796 + Traverse for DupelessSeq: traverse.invariant identity 0.002s
797 + Traverse for DupelessSeq: traverse.nonEmpty reference 0.005s
798 + Traverse for DupelessSeq: traverse.ordered consistency 0.005s
799 + Traverse for DupelessSeq: traverse.reduceLeftOption consistent with reduceLeftToOption 0.011s
800 + Traverse for DupelessSeq: traverse.reduceRightOption consistent with reduceRightToOption 0.022s
801 + Traverse for DupelessSeq: traverse.takeWhile_ reference 0.008s
802 + Traverse for DupelessSeq: traverse.toList reference 0.005s
803 + Traverse for DupelessSeq: traverse.traverse derive foldMap 0.214s
804 + Semigroup for tmmUtils NonEmptyMap: semigroup.intercalateCombineAllOption 0.476s
805 + Traverse for DupelessSeq: traverse.traverse identity 0.006s
806 + Traverse for DupelessSeq: traverse.traverse order consistency 0.006s
807 + Traverse for DupelessSeq: traverse.traverse parallel composition 0.017s
808 + Semigroup for tmmUtils NonEmptyMap: semigroup.intercalateIntercalates 0.033s
809 + Semigroup for tmmUtils NonEmptyMap: semigroup.intercalateRepeat1 0.019s
810 + Semigroup for tmmUtils NonEmptyMap: semigroup.intercalateRepeat2 0.025s
811 + Monad for NonEmptyDupelessSeq: monad.flatMap associativity 1.765s
812 + Semigroup for tmmUtils NonEmptyMap: semigroup.repeat1 0.012s
813 + Semigroup for tmmUtils NonEmptyMap: semigroup.repeat2 0.022s
814 + Traverse for DupelessSeq: traverse.traverse ref mapAccumulate 0.142s
815 + Traverse for DupelessSeq: traverse.traverse ref mapWithIndex 0.015s
816 + Traverse for DupelessSeq: traverse.traverse ref traverseWithIndexM 0.006s
817 + Traverse for DupelessSeq: traverse.traverse ref zipWithIndex 0.012s
818 + Monad for NonEmptyDupelessSeq: monad.flatMap consistent apply 0.109s
819 + Traverse for DupelessSeq: traverse.traverse sequential composition 0.011s
820 + Traverse for DupelessSeq: traverse.traverse traverseTap 0.023s
821 + Traverse for DupelessSeq: traverse.unordered traverse consistent with sequence 0.041s
822 + Traverse for DupelessSeq: traverse.unordered traverse parallel composition 0.06s
823 + Monad for NonEmptyDupelessSeq: monad.flatMap from tailRecM consistency 0.141s
824 + Monad for NonEmptyDupelessSeq: monad.invariant composition 0.015s
825 + Monad for NonEmptyDupelessSeq: monad.invariant identity 0.006s
826 + Monad for NonEmptyDupelessSeq: monad.map flatMap coherence 0.005s
827 + Traverse for DupelessSeq: traverse.unordered traverse sequential composition 0.054s
828 + Traverse for DupelessSeq: traverse.unorderedFold consistent with unorderedFoldMap 0.005s
829 + Monad for NonEmptyDupelessSeq: monad.map2/map2Eval consistency 0.105s
830 + Monad for NonEmptyDupelessSeq: monad.map2/product-map consistency 0.106s
831 + Monad for NonEmptyDupelessSeq: monad.monad left identity 0.005s
832 + Monad for NonEmptyDupelessSeq: monad.monad right identity 0.004s
833 + Monad for NonEmptyDupelessSeq: monad.monoidal left identity 0.013s
834 + Monad for NonEmptyDupelessSeq: monad.monoidal right identity 0.008s
835 + Monad for DupelessSeq: monad.ap consistent with product + map 0.218s
836 + Monad for DupelessSeq: monad.applicative homomorphism 0.002s
837 + Monad for DupelessSeq: monad.applicative identity 0.003s
838 + Monad for DupelessSeq: monad.applicative interchange 0.018s
839 + Monad for DupelessSeq: monad.applicative map 0.005s
840 + Monad for DupelessSeq: monad.applicative unit 0.001s
841 + Semigroup for tmmUtils NonEmptyMap: semigroup.reverseCombineAllOption 0.543s
842 + Semigroup for tmmUtils NonEmptyMap: semigroup.reverseRepeat1 0.011s
843 + Semigroup for tmmUtils NonEmptyMap: semigroup.reverseRepeat2 0.022s
844 + Semigroup for tmmUtils NonEmptyMap: semigroup.reverseReverses 0.025s
845 + Monad for NonEmptyDupelessSeq: monad.mproduct consistent flatMap 0.183s
846 + Monad for NonEmptySet: monad.semigroupal associativity 2.773s
847 + Functor over keys for tmmUtils NonEmptyMap: functor.covariant composition 0.092s
848 + Monad for NonEmptyDupelessSeq: monad.productL consistent map2 0.023s
849 + Functor over keys for tmmUtils NonEmptyMap: functor.covariant identity 0.019s
850 + Monad for NonEmptyDupelessSeq: monad.productR consistent map2 0.02s
851 + Monad for NonEmptySet: monad.tailRecM consistent flatMap 0.087s
852 + Monad for NonEmptySet: monad.tailRecM stack safety 0.029s
853 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.collectFirst reference 0.005s
854 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.collectFirstSome reference 0.002s
855 + Functor over keys for tmmUtils NonEmptyMap: functor.invariant composition 0.108s
856 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.contains all elements from itself 0.029s
857 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.contains consistent with exists 0.006s
858 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.contains consistent with forall 0.004s
859 + Functor over keys for tmmUtils NonEmptyMap: functor.invariant identity 0.025s
860 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.covariant composition 0.012s
861 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.covariant identity 0.001s
862 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.dropWhile_ reference 0.005s
863 + Monad for NonEmptyDupelessSeq: monad.replicateA_ consistent with replicateA.void 0.153s
864 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.exists consistent with find 0.005s
865 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.exists is lazy 0.002s
866 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.filter_ reference 0.005s
867 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.fold reference 0.002s
868 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.foldLeft consistent with foldMap 0.006s
869 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.foldM identity 0.01s
870 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.foldRight consistent with foldMap 0.005s
871 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.foldRight is lazy 0.001s
872 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.foldRightDefer consistency 0.005s
873 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.forall consistent with exists 0.002s
874 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.forall is lazy 0.001s
875 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.forall true if empty 0.002s
876 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.get reference 0.003s
877 + SemigroupK over keys for tmmUtils NonEmptyMap: semigroupK.semigroupK associative 0.075s
878 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.invariant composition 0.005s
879 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.invariant identity 0.002s
880 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.nonEmpty reference 0.001s
881au.id.tmm.collections.cats.syntax.NonEmptySetOpsSpec:
882 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.nonEmptySequence_ consistent with sequence_ 0.012s
883 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.nonEmptyTraverse derive reduceMap 0.007s
884 + a non-empty set can be converted to a cats NonEmptyList 0.017s
885 + a non-empty set can be converted to a cats NonEmptyVector 0.0s
886 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.nonEmptyTraverse identity 0.01s
887 + a non-empty list can be converted to a tmmUtils NonEmptySet 0.001s
888 + a non-empty vector can be converted to a tmmUtils NonEmptySet 0.0s
889 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.nonEmptyTraverse parallel composition 0.02s
890 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.nonEmptyTraverse sequential composition 0.015s
891 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.nonEmptyTraverse_ consistent with traverse_ 0.007s
892 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.ordered consistency 0.003s
893au.id.tmm.collections.cats.instances.NonEmptyArraySeqInstancesLawsSpec:
894 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.reduce consistent with reduceLeft 0.006s
895 + Eq for NonEmptyArraySeq: eq.antisymmetry eq 0.009s
896 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.reduceLeftOption consistent with reduceLeftToOption 0.005s
897 + Eq for NonEmptyArraySeq: eq.reflexivity eq 0.001s
898 + Eq for NonEmptyArraySeq: eq.symmetry eq 0.002s
899 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.reduceLeftTo consistent with reduceMap 0.01s
900 + Eq for NonEmptyArraySeq: eq.transitivity eq 0.007s
901 + Hash for NonEmptyArraySeq: hash.antisymmetry eq 0.004s
902 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.reduceRight consistent with reduceRightOption 0.009s
903 + Hash for NonEmptyArraySeq: hash.hash compatibility 0.005s
904 + Hash for NonEmptyArraySeq: hash.reflexivity eq 0.001s
905 + Hash for NonEmptyArraySeq: hash.same as scala hashing 0.002s
906 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.reduceRightOption consistent with reduceRightToOption 0.008s
907 + Hash for NonEmptyArraySeq: hash.same as universal hash 0.006s
908 + Hash for NonEmptyArraySeq: hash.symmetry eq 0.005s
909 + Hash for NonEmptyArraySeq: hash.transitivity eq 0.002s
910 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.reduceRightTo consistent with reduceMap 0.011s
911 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.reduceRightTo consistent with reduceRightToOption 0.014s
912 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.size consistent with reduceMap 0.009s
913 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.takeWhile_ reference 0.006s
914 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.toList reference 0.005s
915 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.traverse derive foldMap 0.009s
916 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.traverse identity 0.011s
917==> i au.id.tmm.collections.cats.instances.NonEmptySetInstancesLawsSpec.NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.traverse order consistency ignored 0.0s
918 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.traverse parallel composition 0.018s
919 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.traverse ref mapAccumulate 0.014s
920 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.traverse ref mapWithIndex 0.013s
921 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.traverse ref traverseWithIndexM 0.011s
922 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.traverse ref zipWithIndex 0.014s
923 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.traverse sequential composition 0.009s
924 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.traverse traverseTap 0.008s
925 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.unordered traverse consistent with sequence 0.003s
926 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.unordered traverse parallel composition 0.009s
927 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.unordered traverse sequential composition 0.007s
928 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.unorderedFold consistent with unorderedFoldMap 0.005s
929au.id.tmm.collections.cats.syntax.safegroupby.SafeGroupBySyntaxSpec:
930 + safe group by for Set should work 0.013s
931 + safe group by for Set should work for groupMap 0.001s
932 + safe group by for Set should work for the key value 0.001s
933 + safe group by for List should work for a list of tuples 0.001s
934 + safe group by for List should work for an empty list 0.0s
935 + Bimonad for NonEmptyArraySeq: bimonad.ap consistent with product + map 0.247s
936 + Bimonad for NonEmptyArraySeq: bimonad.applicative homomorphism 0.001s
937 + Bimonad for NonEmptyArraySeq: bimonad.applicative identity 0.004s
938 + Bimonad for NonEmptyArraySeq: bimonad.applicative interchange 0.008s
939 + Bimonad for NonEmptyArraySeq: bimonad.applicative map 0.004s
940 + Bimonad for NonEmptyArraySeq: bimonad.applicative unit 0.001s
941 + Monad for DupelessSeq: monad.apply composition 3.372s
942 + Monad for DupelessSeq: monad.covariant composition 0.006s
943 + Monad for DupelessSeq: monad.covariant identity 0.002s
944 + Bimonad for NonEmptyArraySeq: bimonad.apply composition 3.907s
945 + Bimonad for NonEmptyArraySeq: bimonad.coflatMap associativity 0.311s
946 + Monad for DupelessSeq: monad.flatMap associativity 1.663s
947 + Bimonad for NonEmptyArraySeq: bimonad.coflatMap identity 0.008s
948 + Bimonad for NonEmptyArraySeq: bimonad.coflatMapIdentity 0.004s
949 + Bimonad for NonEmptyArraySeq: bimonad.coflatten coherence 0.029s
950 + Bimonad for NonEmptyArraySeq: bimonad.coflatten throughMap 0.02s
951 + Bimonad for NonEmptyArraySeq: bimonad.coflattenCoherence 0.022s
952 + Monad for DupelessSeq: monad.flatMap consistent apply 0.083s
953 + Bimonad for NonEmptyArraySeq: bimonad.coflattenThroughMap 0.014s
954 + Bimonad for NonEmptyArraySeq: bimonad.comonad left identity 0.006s
955 + Bimonad for NonEmptyArraySeq: bimonad.comonad right identity 0.011s
956 + Bimonad for NonEmptyArraySeq: bimonad.covariant composition 0.006s
957 + Bimonad for NonEmptyArraySeq: bimonad.covariant identity 0.001s
958 + Bimonad for NonEmptyArraySeq: bimonad.extract/flatMap entwining 0.018s
959 + Bimonad for NonEmptyArraySeq: bimonad.extractCoflattenIdentity 0.001s
960 + Monad for DupelessSeq: monad.flatMap from tailRecM consistency 0.108s
961 + Monad for DupelessSeq: monad.invariant composition 0.009s
962 + Monad for DupelessSeq: monad.invariant identity 0.002s
963 + Monad for DupelessSeq: monad.map flatMap coherence 0.048s
964 + Monad for DupelessSeq: monad.map2/map2Eval consistency 0.127s
965 + Monad for DupelessSeq: monad.map2/product-map consistency 0.165s
966 + Monad for DupelessSeq: monad.monad left identity 0.006s
967 + Monad for DupelessSeq: monad.monad right identity 0.005s
968 + Monad for DupelessSeq: monad.monoidal left identity 0.007s
969 + Monad for DupelessSeq: monad.monoidal right identity 0.007s
970 + Monad for DupelessSeq: monad.mproduct consistent flatMap 0.093s
971 + Monad for DupelessSeq: monad.productL consistent map2 0.016s
972 + Monad for DupelessSeq: monad.productR consistent map2 0.017s
973 + Monad for DupelessSeq: monad.replicateA_ consistent with replicateA.void 0.023s
974 + Bimonad for NonEmptyArraySeq: bimonad.flatMap associativity 1.424s
975 + Bimonad for NonEmptyArraySeq: bimonad.flatMap consistent apply 0.049s
976 + Bimonad for NonEmptyArraySeq: bimonad.flatMap from tailRecM consistency 0.147s
977 + Bimonad for NonEmptyArraySeq: bimonad.invariant composition 0.005s
978 + Bimonad for NonEmptyArraySeq: bimonad.invariant identity 0.002s
979 + Bimonad for NonEmptyArraySeq: bimonad.map flatMap coherence 0.003s
980 + Bimonad for NonEmptyArraySeq: bimonad.map2/map2Eval consistency 0.122s
981 + Bimonad for NonEmptyArraySeq: bimonad.map2/product-map consistency 0.183s
982 + Bimonad for NonEmptyArraySeq: bimonad.mapCoflatMapCoherence 0.004s
983 + Bimonad for NonEmptyArraySeq: bimonad.mapCoflattenIdentity 0.003s
984 + Bimonad for NonEmptyArraySeq: bimonad.monad left identity 0.002s
985 + Bimonad for NonEmptyArraySeq: bimonad.monad right identity 0.002s
986 + Bimonad for NonEmptyArraySeq: bimonad.monoidal left identity 0.003s
987 + Bimonad for NonEmptyArraySeq: bimonad.monoidal right identity 0.003s
988 + Bimonad for NonEmptyArraySeq: bimonad.mproduct consistent flatMap 0.063s
989 + Bimonad for NonEmptyArraySeq: bimonad.productL consistent map2 0.018s
990 + Bimonad for NonEmptyArraySeq: bimonad.productR consistent map2 0.01s
991 + Bimonad for NonEmptyArraySeq: bimonad.pure andThen extract = id 0.001s
992 + Bimonad for NonEmptyArraySeq: bimonad.pure/coflatMap entwining 0.001s
993 + Bimonad for NonEmptyArraySeq: bimonad.replicateA_ consistent with replicateA.void 0.009s
994 + Bimonad for NonEmptyArraySeq: bimonad.semigroupal associativity 1.505s
995 + Bimonad for NonEmptyArraySeq: bimonad.tailRecM consistent flatMap 0.297s
996 + Bimonad for NonEmptyArraySeq: bimonad.tailRecM stack safety 0.027s
997 + SemigroupK for NonEmptyArraySeq: semigroupK.semigroupK associative 0.004s
998 + Align for NonEmptyArraySeq: align.align associativity 0.019s
999 + Align for NonEmptyArraySeq: align.align homomorphism 0.02s
1000 + Align for NonEmptyArraySeq: align.alignWith consistent 0.017s
1001 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.collectFirst reference 0.005s
1002 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.collectFirstSome reference 0.002s
1003 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.contains all elements from itself 0.038s
1004 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.contains consistent with exists 0.002s
1005 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.contains consistent with forall 0.002s
1006 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.covariant composition 0.005s
1007 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.covariant identity 0.001s
1008 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.dropWhile_ reference 0.002s
1009 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.exists consistent with find 0.001s
1010 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.exists is lazy 0.001s
1011 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.filter_ reference 0.004s
1012 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.fold reference 0.002s
1013 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.foldLeft consistent with foldMap 0.003s
1014 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.foldM identity 0.005s
1015 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.foldRight consistent with foldMap 0.004s
1016 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.foldRight is lazy 0.001s
1017 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.foldRightDefer consistency 0.006s
1018 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.forall consistent with exists 0.004s
1019 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.forall is lazy 0.001s
1020 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.forall true if empty 0.0s
1021 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.get reference 0.002s
1022 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.invariant composition 0.005s
1023 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.invariant identity 0.002s
1024 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.nonEmpty reference 0.001s
1025 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.nonEmptySequence_ consistent with sequence_ 0.003s
1026 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.nonEmptyTraverse derive reduceMap 0.006s
1027 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.nonEmptyTraverse identity 0.004s
1028 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.nonEmptyTraverse parallel composition 0.201s
1029 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.nonEmptyTraverse sequential composition 0.021s
1030 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.nonEmptyTraverse_ consistent with traverse_ 0.017s
1031 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.ordered consistency 0.006s
1032 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.reduce consistent with reduceLeft 0.005s
1033 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.reduceLeftOption consistent with reduceLeftToOption 0.006s
1034 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.reduceLeftTo consistent with reduceMap 0.003s
1035 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.reduceRight consistent with reduceRightOption 0.005s
1036 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.reduceRightOption consistent with reduceRightToOption 0.003s
1037 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.reduceRightTo consistent with reduceMap 0.003s
1038 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.reduceRightTo consistent with reduceRightToOption 0.006s
1039 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.size consistent with reduceMap 0.002s
1040 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.takeWhile_ reference 0.002s
1041 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.toList reference 0.002s
1042 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.traverse derive foldMap 0.004s
1043 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.traverse identity 0.004s
1044 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.traverse order consistency 0.005s
1045 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.traverse parallel composition 0.014s
1046 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.traverse ref mapAccumulate 0.191s
1047 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.traverse ref mapWithIndex 0.009s
1048 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.traverse ref traverseWithIndexM 0.003s
1049 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.traverse ref zipWithIndex 0.008s
1050 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.traverse sequential composition 0.007s
1051 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.traverse traverseTap 0.005s
1052 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.unordered traverse consistent with sequence 0.002s
1053 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.unordered traverse parallel composition 0.007s
1054 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.unordered traverse sequential composition 0.006s
1055 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.unorderedFold consistent with unorderedFoldMap 0.002s
1056 + Semigroup for NonEmptyArraySeq: semigroup.associative 0.003s
1057 + Semigroup for NonEmptyArraySeq: semigroup.combineAllOption 0.021s
1058 + Semigroup for NonEmptyArraySeq: semigroup.intercalateCombineAllOption 0.025s
1059 + Semigroup for NonEmptyArraySeq: semigroup.intercalateIntercalates 0.002s
1060 + Semigroup for NonEmptyArraySeq: semigroup.intercalateRepeat1 0.001s
1061 + Semigroup for NonEmptyArraySeq: semigroup.intercalateRepeat2 0.001s
1062 + Semigroup for NonEmptyArraySeq: semigroup.repeat1 0.001s
1063 + Semigroup for NonEmptyArraySeq: semigroup.repeat2 0.001s
1064 + Semigroup for NonEmptyArraySeq: semigroup.reverseCombineAllOption 0.014s
1065 + Semigroup for NonEmptyArraySeq: semigroup.reverseRepeat1 0.001s
1066 + Semigroup for NonEmptyArraySeq: semigroup.reverseRepeat2 0.001s
1067 + Semigroup for NonEmptyArraySeq: semigroup.reverseReverses 0.001s
1068 + Monad for DupelessSeq: monad.semigroupal associativity 4.997s
1069 + Monad for DupelessSeq: monad.tailRecM consistent flatMap 0.052s
1070 + Monad for DupelessSeq: monad.tailRecM stack safety 0.015s
1071 + Monad for NonEmptyDupelessSeq: monad.semigroupal associativity 10.779s
1072 + Monad for NonEmptyDupelessSeq: monad.tailRecM consistent flatMap 0.058s
1073 + Monad for NonEmptyDupelessSeq: monad.tailRecM stack safety 0.009s
1074Starting build for ProjectRef(file:/build/repo/,circe) (tmm-scala-collections-circe)... [1/4]
1075Compile scalacOptions: -encoding, UTF-8, -unchecked, -language:implicitConversions, -Ykind-projector, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
1076[info] compiling 8 Scala sources to /build/repo/circe/target/scala-3.8.0-RC3/classes ...
1077[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
1078[warn] one warning found
1079[info] done compiling
1080[info] compiling 7 Scala sources to /build/repo/circe/target/scala-3.8.0-RC3/test-classes ...
1081[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
1082[warn] one warning found
1083[info] done compiling
1084au.id.tmm.collections.circe.codecs.NonEmptyArraySeqCodecsSpec:
1085au.id.tmm.collections.circe.codecs.NonEmptyMapCodecsSpec:
1086au.id.tmm.collections.circe.codecs.NonEmptySetCodecSpec:
1087au.id.tmm.collections.circe.codecs.NonEmptyDupelessSeqCodecsSpec:
1088 + the non empty map encoder should encode a non-empty map with ordered keys 0.067s
1089 + the non empty set encoder should encode a non-empty set of ordered elements 0.067s
1090 + the nonEmptyArraySeqEncoder should encode a dupeless seq 0.066s
1091 + the nonEmptyDupelessSeqEncoder should encode a dupeless seq 0.071s
1092 + the non empty set encoder can encode a non-empty set of unordered elements 0.014s
1093 + the non empty map encoder can encode a non-empty map with unordered keys 0.016s
1094 + the nonEmptyDupelessSeqDecoder should decode an array 0.06s
1095 + the non-empty set decoder can decode a non-empty json array 0.05s
1096 + the nonEmptyArraySeqDecoder should decode an array 0.062s
1097 + the nonEmptyDupelessSeqDecoder should silently drop duplicates when decoding 0.0s
1098 + the non-empty map decoder can decode a non-empty json object 0.05s
1099 + the nonEmptyArraySeqDecoder should error if decoding an empty array 0.003s
1100 + the nonEmptyDupelessSeqDecoder should error if decoding an empty array 0.004s
1101 + the non-empty set decoder can not decode an empty json array 0.004s
1102 + the nonEmptyArraySeqDecoder should specialise the underlying ArraySeq if a classtag is available 0.001s
1103 + the non-empty map decoder can not decode an empty json object 0.001s
1104au.id.tmm.collections.circe.codecs.DupelessSeqCodecsSpec:
1105au.id.tmm.collections.circe.codecs.ArraySeqDecodersSpec:
1106 + the dupelessSeqEncoder should encode a dupeless seq 0.002s
1107 + the ArraySeq decoder should return a ref ArraySeq if its usage is untagged 0.001s
1108 + the dupelessSeqDecoder should decode an array 0.001s
1109 + the ArraySeq decoder should return a ref ArraySeq for a tagged reference type 0.001s
1110 + the ArraySeq decoder should return a specialised ArraySeq for a tagged primative type 0.0s
1111 + the dupelessSeqDecoder should silently drop duplicates when decoding 0.002s
1112au.id.tmm.collections.circe.codecs.CirceCodecLawsSuite:
1113 + ArraySeq codecs: codec.consistency with accumulating 0.095s
1114 + ArraySeq codecs: codec.decoder serializability 0.017s
1115 + ArraySeq codecs: codec.encoder serializability 0.015s
1116 + ArraySeq codecs: codec.roundTrip 0.02s
1117 + NonEmptyArraySeq codecs: codec.consistency with accumulating 0.075s
1118 + NonEmptyArraySeq codecs: codec.decoder serializability 0.015s
1119 + NonEmptyArraySeq codecs: codec.encoder serializability 0.004s
1120 + NonEmptyArraySeq codecs: codec.roundTrip 0.015s
1121 + DupelessSeq codecs: codec.consistency with accumulating 0.035s
1122 + DupelessSeq codecs: codec.decoder serializability 0.004s
1123 + DupelessSeq codecs: codec.encoder serializability 0.002s
1124 + DupelessSeq codecs: codec.roundTrip 0.009s
1125 + NonEmptyDupelessSeq codecs: codec.consistency with accumulating 0.029s
1126 + NonEmptyDupelessSeq codecs: codec.decoder serializability 0.004s
1127 + NonEmptyDupelessSeq codecs: codec.encoder serializability 0.002s
1128 + NonEmptyDupelessSeq codecs: codec.roundTrip 0.007s
1129 + NonEmptySet codecs: codec.consistency with accumulating 0.034s
1130 + NonEmptySet codecs: codec.decoder serializability 0.003s
1131 + NonEmptySet codecs: codec.encoder serializability 0.003s
1132 + NonEmptySet codecs: codec.roundTrip 0.005s
1133Starting build for ProjectRef(file:/build/repo/,core) (tmm-scala-collections-core)... [2/4]
1134Compile scalacOptions: -encoding, UTF-8, -unchecked, -language:implicitConversions, -Ykind-projector, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
1135[info] compiling 11 Scala sources to /build/repo/core/target/scala-3.8.0-RC3/test-classes ...
1136[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
1137[warn] one warning found
1138[info] done compiling
1139au.id.tmm.collections.NonEmptyArraySeqSpec:
1140au.id.tmm.collections.DupelessSeqSpec:
1141au.id.tmm.collections.NonEmptyDupelessSeqSpec:
1142au.id.tmm.collections.syntax.IterableOpsSpec:
1143 + at most one return None for an empty iterable 0.013s
1144 + The specialised factory methods create a specialised NonEmptyArraySeq from one element 0.013s
1145 + a DupelessSeq retain the order of the earliest element when initialised 0.013s
1146 + a non-empty dupelessSeq be flattened 0.013s
1147 + a DupelessSeq not contain duplicates 0.001s
1148 + The specialised factory methods create a specialised NonEmptyArraySeq from many elements 0.0s
1149 + The specialised factory methods create a specialised NonEmptyArraySeq from a head and a tail 0.001s
1150 + The specialised factory methods create a specialised NonEmptyArraySeq from an iterable 0.001s
1151 + The untagged factory methods create an unspecialised NonEmptyArraySeq from one element 0.0s
1152 + a non-empty dupelessSeq be flatMapped to another non-empty dupelessSeq 0.003s
1153 + at most one return Some for a single element list 0.005s
1154 + a non-empty dupelessSeq be flatMapped to a possibly empty collection 0.001s
1155 + a DupelessSeq retain insertion order 0.005s
1156 + a non-empty dupelessSeq be converted to an ArraySeq 0.002s
1157 + a non-empty dupelessSeq be converted to a NonEmptySet 0.002s
1158 + a DupelessSeq correctly implement contains 0.004s
1159 + a DupelessSeq correctly implement size 0.0s
1160 + a DupelessSeq correctly implement size for the empty seq 0.001s
1161 + at most one return an error for a 2 element list 0.004s
1162 + a DupelessSeq append an element correctly 0.0s
1163 + a DupelessSeq return the same seq when appending a duplicate element 0.0s
1164 + at most one return an error for an infinitely sized list 0.001s
1165 + a DupelessSeq prepend an element correctly 0.0s
1166 + only element return an error for an empty iterable 0.0s
1167 + a DupelessSeq return the same seq when prepending a duplicate element 0.0s
1168 + only element return the element for a 1 element iterable 0.001s
1169 + a DupelessSeq remove an element correctly 0.001s
1170 + only element return an error for a 2 element list 0.0s
1171 + a DupelessSeq return the same seq when removing an element not in the seq 0.0s
1172 + only element return an error for an infinitely sized list 0.001s
1173 + a DupelessSeq have a sensible toString 0.001s
1174 + a non-empty dupelessSeq be grouped 0.004s
1175 + a DupelessSeq allow random access 0.0s
1176au.id.tmm.collections.syntax.IteratorOpsSpec:
1177 + head or error return an error for an empty iterable 0.002s
1178 + head or error return the element for a 1 element iterable 0.0s
1179 + a DupelessSeq support splitting at an index 0.003s
1180 + head or error return the first element for a 2 element list 0.001s
1181 + a DupelessSeq support updating an element with a new element 0.0s
1182 + head or error return the first element for an infinitely sized list 0.0s
1183 + a DupelessSeq remove an element when updating it with an element that exists before it in the seq 0.0s
1184 + last or error return an error for an empty iterable 0.001s
1185 + a DupelessSeq remove the later element when updating it with an element that exists after it in the seq 0.001s
1186 + last or error return the element for a 1 element iterable 0.0s
1187 + a DupelessSeq pad the end of the seq with an element that is not in the seq 0.0s
1188 + last or error return an error for a 2 element list 0.0s
1189 + a DupelessSeq return the same seq if padded with an element already in the seq 0.002s
1190 + emptyOr return unit for an empty iterable 0.004s
1191 + emptyOr return an error if the iterable is nonempty 0.0s
1192 + a DupelessSeq support sorting 0.002s
1193 + readAtMost read the first n elements of the iterator 0.007s
1194 + a DupelessSeq be reversed 0.001s
1195 + a DupelessSeq be iterated over 0.001s
1196au.id.tmm.collections.NonEmptySetSpec:
1197 + readAtMost leave the underlying iterator iterating through the subsequent elements 0.002s
1198 + A non-empty set be constructed with a single element 0.0s
1199 + readAtMost read only as many elements remain in the iterator 0.0s
1200 + A non-empty set be constructed with multiple elements 0.0s
1201 + count occurrences count the occurances of each element 0.006s
1202 + readUntil read until encountering an element matching the condition 0.002s
1203 + count occurrences return an empty map for an empty collection 0.0s
1204 + readUntil leave the underlying iterator iterating through the subsequent elements 0.001s
1205 + a DupelessSeq be iterated over in reverse 0.005s
1206 + readUntil read only as many elements remain in the iterator 0.001s
1207 + a DupelessSeq return itself when asked for distinct elements 0.0s
1208 + a DupelessSeq be converted to a Set 0.001s
1209 + readAtMostUntil read until encountering an element matching the condition if that is less than the size limit 0.001s
1210 + a DupelessSeq be converted to a Set of a higher type 0.0s
1211 + readAtMostUntil read up to the size limit if no elements match condition 0.0s
1212 + a DupelessSeq be converted to a Vector 0.0s
1213 + A non-empty set not be equal to another set with a different implementation but same elements 0.006s
1214 + A non-empty set be constructed from a non-empty set 0.0s
1215 + A non-empty set not be constructed from an empty set 0.0s
1216 + groupByKey group by the key for a list of tuples 0.005s
1217 + groupByKey group by the the key for a Set of tuples 0.001s
1218 + A non-empty set be constructed unsafely from a non-empty set 0.001s
1219 + readAtMostUntil leave the underlying iterator iterating through the subsequent elements when hitting the number limit 0.004s
1220 + groupByKey return an empty map for an empty list of tuples 0.003s
1221 + A non-empty set not be constructed unsafely from an empty set 0.004s
1222 + A non-empty set produce subsets 0.002s
1223 + A non-empty set have a sensible toString 0.001s
1224 + readAtMostUntil leave the underlying iterator iterating through the subsequent elements when finding an element that matches 0.005s
1225 + a DupelessSeq be equal to a DupelessSeq with the same elements and order 0.009s
1226 + a DupelessSeq not be equal to a DupelessSeq with the same elements and a different order 0.0s
1227 + a DupelessSeq not be equal to a DupelessSeq with different elements 0.0s
1228 + a DupelessSeq not be equal to a list with the same elements 0.001s
1229 + a DupelessSeq not be equal to a list with duplicated elements 0.0s
1230 + a DupelessSeq not be equal to a set with the same elements 0.0s
1231au.id.tmm.collections.NonEmptyMapSpec:
1232 + a DupelessSeq allow appending an element 0.001s
1233 + a DupelessSeq allow appending a list 0.0s
1234 + a DupelessSeq be converted to a NonEmptyDupelessSeq if it is nonEmpty 0.0s
1235au.id.tmm.collections.classes.SafeGroupBySpec:
1236 + A non-empty set be constructed from a non-empty iterable 0.0s
1237 + A non-empty set be constructed from a non-empty iterable which is a Set 0.001s
1238 + A non-empty set not be constructed from an empty iterable 0.0s
1239 + A non-empty set be constructed unsafely from a non-empty iterable 0.001s
1240 + A non-empty set not be constructed unsafely from an empty iterable 0.0s
1241 + the empty DupelessSeq be a singleton 0.006s
1242 + A non-empty set be constructed from cons 0.002s
1243 + the empty DupelessSeq not be converted to a NonEmptyDupelessSeq 0.002s
1244 + the DupelessSeq builder build the empty seq 0.0s
1245 + the empty DupelessSeq build a seq with 2 distinct items 0.001s
1246 + the empty DupelessSeq iterate in the order of first insertion 0.0s
1247 + A non-empty set map 0.004s
1248 + A non-empty set flatMap 0.001s
1249 + A non-empty set be flattened 0.0s
1250 + a non-empty map be flatMapped with a possibly empty collection of tuples 0.012s
1251 + a non-empty map be flatMapped with a possibly empty collection of single elements 0.001s
1252 + safe group by for a Set work 0.014s
1253 + the empty DupelessSeq be cleared 0.008s
1254 + the empty DupelessSeq append multiple elements at once 0.001s
1255 + the empty DupelessSeq accept a size hint 0.0s
1256 + the empty DupelessSeq be converted to an ArraySeq 0.0s
1257au.id.tmm.collections.syntax.UnzipOpsSpec:
1258 + safe group by for a NonEmptyDupelessSeq work 0.003s
1259 + safe group by for a NonEmptySet work 0.001s
1260 + the empty DupelessSeq allow appending an element 0.001s
1261 + the empty DupelessSeq allow appending a list 0.0s
1262 + a non-empty map be flatMapped with another NonEmptyMap of tuples 0.01s
1263 + a non-empty map be constructed from a non-empty arrayseq 0.001s
1264 + unzip10 unzip 0.006s
1265au.id.tmm.collections.syntax.BufferedIteratorOpsSpec:
1266 + takeUpTo work for an empty iterator 0.001s
1267 + takeUpTo work for a collection where the first element does not match predicate 0.0s
1268 + unzip9 unzip 0.005s
1269 + takeUpTo take elements from the front of the iterator until the first element that fails the test 0.003s
1270 + unzip8 unzip 0.002s
1271au.id.tmm.collections.syntax.SeqOpsSpec:
1272 + takeUpTo not progress the underlying iterator beyond the first failed element 0.001s
1273 + takeUpTo return an iterator with a known size if the underlying iterator is empty 0.0s
1274 + unzip7 unzip 0.003s
1275 + finding every nth element return empty for an empty seq 0.002s
1276 + takeUpTo return an iterator with a known size if the head does not match the predicate 0.001s
1277 + finding every nth element return the first element if there are less than n elements 0.001s
1278 + finding every nth element return every nth element 0.0s
1279 + finding every nth element drop any extra elements 0.001s
1280 + takeUpTo return an unknown size if the head matches the predicate 0.002s
1281 + unzip6 unzip 0.006s
1282 + unzip5 unzip 0.001s
1283 + unzip4 unzip 0.001s
1284Starting build for ProjectRef(file:/build/repo/,scalaCheck) (tmm-scala-collections-scalacheck)... [3/4]
1285Compile scalacOptions: -encoding, UTF-8, -unchecked, -language:implicitConversions, -Ykind-projector, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
1286
1287************************
1288Build summary:
1289[{
1290 "module": "tmm-scala-collections-cats",
1291 "compile": {"status": "ok", "tookMs": 16238, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1292 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1293 "test-compile": {"status": "ok", "tookMs": 4633, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1294 "test": {"status": "ok", "tookMs": 23552, "passed": 635, "failed": 0, "ignored": 0, "skipped": 6, "total": 641, "byFramework": [{"framework": "munit", "stats": {"passed": 635, "failed": 0, "ignored": 0, "skipped": 6, "total": 641}}]},
1295 "publish": {"status": "skipped", "tookMs": 0},
1296 "metadata": {
1297 "crossScalaVersions": ["2.13.8", "3.1.3"]
1298}
1299},{
1300 "module": "tmm-scala-collections-circe",
1301 "compile": {"status": "ok", "tookMs": 1009, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1302 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1303 "test-compile": {"status": "ok", "tookMs": 1605, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1304 "test": {"status": "ok", "tookMs": 929, "passed": 42, "failed": 0, "ignored": 0, "skipped": 0, "total": 42, "byFramework": [{"framework": "munit", "stats": {"passed": 42, "failed": 0, "ignored": 0, "skipped": 0, "total": 42}}]},
1305 "publish": {"status": "skipped", "tookMs": 0},
1306 "metadata": {
1307 "crossScalaVersions": ["2.13.8", "3.1.3"]
1308}
1309},{
1310 "module": "tmm-scala-collections-core",
1311 "compile": {"status": "ok", "tookMs": 47, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1312 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1313 "test-compile": {"status": "ok", "tookMs": 1808, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1314 "test": {"status": "ok", "tookMs": 258, "passed": 134, "failed": 0, "ignored": 0, "skipped": 0, "total": 134, "byFramework": [{"framework": "munit", "stats": {"passed": 134, "failed": 0, "ignored": 0, "skipped": 0, "total": 134}}]},
1315 "publish": {"status": "skipped", "tookMs": 0},
1316 "metadata": {
1317 "crossScalaVersions": ["2.13.8", "3.1.3"]
1318}
1319},{
1320 "module": "tmm-scala-collections-scalacheck",
1321 "compile": {"status": "ok", "tookMs": 90, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1322 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1323 "test-compile": {"status": "ok", "tookMs": 132, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1324 "test": {"status": "ok", "tookMs": 120, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
1325 "publish": {"status": "skipped", "tookMs": 0},
1326 "metadata": {
1327 "crossScalaVersions": ["2.13.8", "3.1.3"]
1328}
1329}]
1330************************
1331[success] Total time: 70 s (0:01:10.0), completed Dec 4, 2025, 12:47:10 PM
1332[0JChecking patch project/plugins.sbt...
1333Checking patch project/build.properties...
1334Checking patch build.sbt...
1335Applied patch project/plugins.sbt cleanly.
1336Applied patch project/build.properties cleanly.
1337Applied patch build.sbt cleanly.