Build Logs
tmccarthy/tmm-scala-collections • 3.8.0:2026-01-13
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 9.103s.
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 root/crossScalaVersions
92OpenCB::Changing crossVersion 3.1.3 -> 3.7.4 in cats/crossScalaVersions
93OpenCB::Changing crossVersion 3.1.3 -> 3.7.4 in rootJVM/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 Jan 13, 2026, 3:07:33 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/NonEmptySeqOps.scala]
150[info] [patched file /build/repo/core/src/main/scala/au/id/tmm/collections/NonEmptyMap.scala]
151[info] [patched file /build/repo/core/src/main/scala/au/id/tmm/collections/DupelessSeq.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/unlawful/NonEmptySetUnlawfulInstances.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/NonEmptyDupelessSeqInstances.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/NonEmptySetInstancesLawsSpec.scala]
187[info] [patched file /build/repo/cats/src/test/scala/au/id/tmm/collections/cats/instances/NonEmptyDupelessSeqInstancesLawsSpec.scala]
188[info] [patched file /build/repo/cats/src/test/scala/au/id/tmm/collections/cats/instances/unlawful/MapUnlawfulInstancesSpec.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/DupelessSeqSpec.scala]
216[info] [patched file /build/repo/core/src/test/scala/au/id/tmm/collections/NonEmptyArraySeqSpec.scala]
217[info] [patched file /build/repo/core/src/test/scala/au/id/tmm/collections/syntax/IteratorOpsSpec.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": 12921, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
232 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
233 "test-compile": {"status": "ok", "tookMs": 8972, "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": 969, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
242 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
243 "test-compile": {"status": "ok", "tookMs": 1512, "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": 41, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
252 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
253 "test-compile": {"status": "ok", "tookMs": 1696, "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": 106, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
262 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
263 "test-compile": {"status": "ok", "tookMs": 115, "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: 34 s, completed Jan 13, 2026, 3:08:08 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 2a6773f] 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
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
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
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
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"
327"++3.8.0 -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 """{"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
343OpenCB::Changing crossVersion 3.1.3 -> 3.8.0 in core/crossScalaVersions
344OpenCB::Changing crossVersion 3.1.3 -> 3.8.0 in circe/crossScalaVersions
345OpenCB::Changing crossVersion 3.1.3 -> 3.8.0 in root/crossScalaVersions
346OpenCB::Changing crossVersion 3.1.3 -> 3.8.0 in rootNative/crossScalaVersions
347OpenCB::Changing crossVersion 3.1.3 -> 3.8.0 in rootJS/crossScalaVersions
348OpenCB::Changing crossVersion 3.1.3 -> 3.8.0 in cats/crossScalaVersions
349OpenCB::Changing crossVersion 3.1.3 -> 3.8.0 in rootJVM/crossScalaVersions
350[info] set scmInfo to https://github.com/tmccarthy/tmm-scala-collections
351OpenCB::Changing crossVersion 3.1.3 -> 3.8.0 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 on 8 projects.
354[info] Switching Scala version on:
355[info] * root (2.13.8, 3.8.0)
356[info] rootJS (2.13.8, 3.8.0)
357[info] rootJVM (2.13.8, 3.8.0)
358[info] rootNative (2.13.8, 3.8.0)
359[info] circe (2.13.8, 3.8.0)
360[info] cats (2.13.8, 3.8.0)
361[info] core (2.13.8, 3.8.0)
362[info] scalaCheck (2.13.8, 3.8.0)
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 Jan 13, 2026, 3:08:21 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/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/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/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/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.MapOverKeysInstancesSpec:
419au.id.tmm.collections.cats.instances.DupelessSeqInstancesSpec:
420 + the monoid for a map over keys should combine values 0.098s
421 + combineN work for an empty DupelessSeq 0.098s
422au.id.tmm.collections.cats.instances.unlawful.MapUnlawfulInstancesSpec:
423au.id.tmm.collections.cats.instances.unlawful.NonEmptyMapUnlawfulInstancesSpec:
424au.id.tmm.collections.cats.instances.NonEmptySetInstancesLawsSpec:
425au.id.tmm.collections.cats.instances.NonEmptyArraySeqInstancesLawsSpec:
426==> i au.id.tmm.collections.cats.instances.NonEmptySetInstancesLawsSpec.Eq for tmmUtils NonEmptySet: eq.antisymmetry eq ignored 0.001s
427 + Eq for tmmUtils NonEmptySet: eq.reflexivity eq 0.11s
428 + Eq for NonEmptyArraySeq: eq.antisymmetry eq 0.15s
429 + Eq for NonEmptyArraySeq: eq.reflexivity eq 0.045s
430 + Eq for tmmUtils NonEmptySet: eq.symmetry eq 0.102s
431 + the group for map should subtract elements as appropriate 0.329s
432 + Eq for NonEmptyArraySeq: eq.symmetry eq 0.047s
433 + Eq for tmmUtils NonEmptySet: eq.transitivity eq 0.058s
434 + Traverse for NonEmptyMap: traverse.collectFirst reference 0.365s
435 + Eq for NonEmptyArraySeq: eq.transitivity eq 0.05s
436 + Hash for tmmUtils NonEmptySet: hash.antisymmetry eq 0.061s
437 + Hash for NonEmptyArraySeq: hash.antisymmetry eq 0.041s
438 + Hash for tmmUtils NonEmptySet: hash.hash compatibility 0.042s
439 + Traverse for NonEmptyMap: traverse.collectFirstSome reference 0.106s
440 + Hash for tmmUtils NonEmptySet: hash.reflexivity eq 0.011s
441 + Hash for NonEmptyArraySeq: hash.hash compatibility 0.05s
442 + Hash for tmmUtils NonEmptySet: hash.same as scala hashing 0.02s
443 + Hash for NonEmptyArraySeq: hash.reflexivity eq 0.017s
444 + Hash for NonEmptyArraySeq: hash.same as scala hashing 0.017s
445 + Hash for tmmUtils NonEmptySet: hash.same as universal hash 0.036s
446 + Hash for NonEmptyArraySeq: hash.same as universal hash 0.025s
447 + Hash for tmmUtils NonEmptySet: hash.symmetry eq 0.022s
448 + Hash for NonEmptyArraySeq: hash.symmetry eq 0.025s
449 + Hash for tmmUtils NonEmptySet: hash.transitivity eq 0.031s
450 + Hash for NonEmptyArraySeq: hash.transitivity eq 0.027s
451 + Unlawful Group for Map: group.associative 0.285s
452 + Unlawful Group for Map: group.collect0 0.035s
453 + Semilattice for tmmUtils NonEmptySet: semilattice.associative 0.077s
454 + Traverse for NonEmptyMap: traverse.contains all elements from itself 0.455s
455 + Traverse for NonEmptyMap: traverse.contains consistent with exists 0.032s
456 + Semilattice for tmmUtils NonEmptySet: semilattice.combineAllOption 0.337s
457 + Semilattice for tmmUtils NonEmptySet: semilattice.commutative 0.009s
458 + Semilattice for tmmUtils NonEmptySet: semilattice.idempotency 0.005s
459 + Traverse for NonEmptyMap: traverse.contains consistent with forall 0.056s
460 + Traverse for NonEmptyMap: traverse.covariant composition 0.165s
461 + Bimonad for NonEmptyArraySeq: bimonad.ap consistent with product + map 0.646s
462 + Bimonad for NonEmptyArraySeq: bimonad.applicative homomorphism 0.007s
463 + Traverse for NonEmptyMap: traverse.covariant identity 0.066s
464 + Bimonad for NonEmptyArraySeq: bimonad.applicative identity 0.011s
465 + Bimonad for NonEmptyArraySeq: bimonad.applicative interchange 0.034s
466 + Bimonad for NonEmptyArraySeq: bimonad.applicative map 0.008s
467 + Bimonad for NonEmptyArraySeq: bimonad.applicative unit 0.003s
468 + Traverse for NonEmptyMap: traverse.dropWhile_ reference 0.074s
469 + Traverse for NonEmptyMap: traverse.exists consistent with find 0.046s
470 + Traverse for NonEmptyMap: traverse.exists is lazy 0.035s
471 + Semilattice for tmmUtils NonEmptySet: semilattice.intercalateCombineAllOption 0.434s
472 + Traverse for NonEmptyMap: traverse.filter_ reference 0.042s
473 + Semilattice for tmmUtils NonEmptySet: semilattice.intercalateIntercalates 0.013s
474 + Semilattice for tmmUtils NonEmptySet: semilattice.intercalateRepeat1 0.006s
475 + Semilattice for tmmUtils NonEmptySet: semilattice.intercalateRepeat2 0.01s
476 + Semilattice for tmmUtils NonEmptySet: semilattice.repeat1 0.007s
477 + Traverse for NonEmptyMap: traverse.fold reference 0.045s
478 + Semilattice for tmmUtils NonEmptySet: semilattice.repeat2 0.006s
479 + Traverse for NonEmptyMap: traverse.foldLeft consistent with foldMap 0.028s
480 + Traverse for NonEmptyMap: traverse.foldM identity 0.06s
481 + Traverse for NonEmptyMap: traverse.foldRight consistent with foldMap 0.061s
482 + Semilattice for tmmUtils NonEmptySet: semilattice.reverseCombineAllOption 0.158s
483 + Semilattice for tmmUtils NonEmptySet: semilattice.reverseRepeat1 0.008s
484 + Semilattice for tmmUtils NonEmptySet: semilattice.reverseRepeat2 0.007s
485 + Semilattice for tmmUtils NonEmptySet: semilattice.reverseReverses 0.016s
486 + Traverse for NonEmptyMap: traverse.foldRight is lazy 0.044s
487 + SemigroupK for tmmUtils NonEmptySet: semigroupK.semigroupK associative 0.022s
488 + Traverse for NonEmptyMap: traverse.foldRightDefer consistency 0.073s
489 + UnorderedTraverse for tmmUtils NonEmptySet: unorderedTraverse.contains all elements from itself 0.07s
490 + UnorderedTraverse for tmmUtils NonEmptySet: unorderedTraverse.contains consistent with exists 0.006s
491 + UnorderedTraverse for tmmUtils NonEmptySet: unorderedTraverse.contains consistent with forall 0.016s
492 + UnorderedTraverse for tmmUtils NonEmptySet: unorderedTraverse.exists is lazy 0.007s
493 + UnorderedTraverse for tmmUtils NonEmptySet: unorderedTraverse.forall consistent with exists 0.004s
494 + Traverse for NonEmptyMap: traverse.forall consistent with exists 0.055s
495 + UnorderedTraverse for tmmUtils NonEmptySet: unorderedTraverse.forall is lazy 0.006s
496 + UnorderedTraverse for tmmUtils NonEmptySet: unorderedTraverse.forall true if empty 0.005s
497 + UnorderedTraverse for tmmUtils NonEmptySet: unorderedTraverse.nonEmpty reference 0.005s
498 + Traverse for NonEmptyMap: traverse.forall is lazy 0.039s
499 + UnorderedTraverse for tmmUtils NonEmptySet: unorderedTraverse.unordered traverse consistent with sequence 0.026s
500 + UnorderedTraverse for tmmUtils NonEmptySet: unorderedTraverse.unordered traverse parallel composition 0.024s
501 + Traverse for NonEmptyMap: traverse.forall true if empty 0.038s
502 + Unlawful Group for Map: group.combine all 1.273s
503 + UnorderedTraverse for tmmUtils NonEmptySet: unorderedTraverse.unordered traverse sequential composition 0.055s
504 + UnorderedTraverse for tmmUtils NonEmptySet: unorderedTraverse.unorderedFold consistent with unorderedFoldMap 0.008s
505 + Traverse for NonEmptyMap: traverse.get reference 0.089s
506 + Traverse for NonEmptyMap: traverse.invariant composition 0.108s
507 + Traverse for NonEmptyMap: traverse.invariant identity 0.041s
508 + Traverse for NonEmptyMap: traverse.nonEmpty reference 0.025s
509 + Traverse for NonEmptyMap: traverse.ordered consistency 0.046s
510 + Traverse for NonEmptyMap: traverse.reduceLeftOption consistent with reduceLeftToOption 0.033s
511 + Traverse for NonEmptyMap: traverse.reduceRightOption consistent with reduceRightToOption 0.05s
512 + Traverse for NonEmptyMap: traverse.takeWhile_ reference 0.067s
513 + Traverse for NonEmptyMap: traverse.toList reference 0.016s
514 + Traverse for NonEmptyMap: traverse.traverse derive foldMap 0.067s
515 + Traverse for NonEmptyMap: traverse.traverse identity 0.026s
516 + Monad for NonEmptySet: monad.ap consistent with product + map 0.549s
517 + Monad for NonEmptySet: monad.applicative homomorphism 0.006s
518 + Monad for NonEmptySet: monad.applicative identity 0.012s
519 + Traverse for NonEmptyMap: traverse.traverse order consistency 0.043s
520 + Monad for NonEmptySet: monad.applicative interchange 0.025s
521 + Monad for NonEmptySet: monad.applicative map 0.015s
522 + Monad for NonEmptySet: monad.applicative unit 0.002s
523 + Traverse for NonEmptyMap: traverse.traverse parallel composition 0.06s
524 + Traverse for NonEmptyMap: traverse.traverse ref mapAccumulate 0.268s
525 + Traverse for NonEmptyMap: traverse.traverse ref mapWithIndex 0.138s
526 + Traverse for NonEmptyMap: traverse.traverse ref traverseWithIndexM 0.083s
527 + Unlawful Group for Map: group.combineAllOption 1.17s
528 + Unlawful Group for Map: group.consistent inverse 0.055s
529 + Traverse for NonEmptyMap: traverse.traverse ref zipWithIndex 0.095s
530 + Traverse for NonEmptyMap: traverse.traverse sequential composition 0.123s
531 + Traverse for NonEmptyMap: traverse.traverse traverseTap 0.042s
532 + Traverse for NonEmptyMap: traverse.unordered traverse consistent with sequence 0.021s
533 + Traverse for NonEmptyMap: traverse.unordered traverse parallel composition 0.036s
534 + Traverse for NonEmptyMap: traverse.unordered traverse sequential composition 0.032s
535 + Traverse for NonEmptyMap: traverse.unorderedFold consistent with unorderedFoldMap 0.044s
536au.id.tmm.collections.cats.instances.NonEmptyDupelessSeqInstancesSpec:
537 + the semigroup instance for NonEmptyDupelessSeq can be found with a simple import 0.016s
538 + the show instance for NonEmptyDupelessSeq should produce a sensible string 0.002s
539au.id.tmm.collections.cats.instances.NonEmptyMapInstancesLawsSpec:
540 + Eq for tmmUtils NonEmptyMap: eq.antisymmetry eq 0.038s
541 + Eq for tmmUtils NonEmptyMap: eq.reflexivity eq 0.024s
542 + Eq for tmmUtils NonEmptyMap: eq.symmetry eq 0.037s
543 + Eq for tmmUtils NonEmptyMap: eq.transitivity eq 0.03s
544 + Hash for tmmUtils NonEmptyMap: hash.antisymmetry eq 0.043s
545 + Hash for tmmUtils NonEmptyMap: hash.hash compatibility 0.03s
546 + Hash for tmmUtils NonEmptyMap: hash.reflexivity eq 0.012s
547 + Hash for tmmUtils NonEmptyMap: hash.same as scala hashing 0.057s
548 + Unlawful Group for Map: group.intercalateCombineAllOption 0.739s
549 + Hash for tmmUtils NonEmptyMap: hash.same as universal hash 0.049s
550 + Unlawful Group for Map: group.intercalateIntercalates 0.039s
551 + Hash for tmmUtils NonEmptyMap: hash.symmetry eq 0.046s
552 + Unlawful Group for Map: group.intercalateRepeat1 0.023s
553 + Unlawful Group for Map: group.intercalateRepeat2 0.026s
554 + Unlawful Group for Map: group.is id 0.014s
555 + Unlawful Group for Map: group.left identity 0.011s
556==> i au.id.tmm.collections.cats.instances.unlawful.MapUnlawfulInstancesSpec.Unlawful Group for Map: group.left inverse ignored 0.0s
557 + Hash for tmmUtils NonEmptyMap: hash.transitivity eq 0.061s
558 + Unlawful Group for Map: group.repeat0 0.017s
559 + Unlawful Group for Map: group.repeat1 0.023s
560 + UnorderedTraverse for tmmUtils NonEmptyMap: unorderedTraverse.contains all elements from itself 0.052s
561 + Unlawful Group for Map: group.repeat2 0.019s
562 + UnorderedTraverse for tmmUtils NonEmptyMap: unorderedTraverse.contains consistent with exists 0.015s
563 + UnorderedTraverse for tmmUtils NonEmptyMap: unorderedTraverse.contains consistent with forall 0.024s
564 + UnorderedTraverse for tmmUtils NonEmptyMap: unorderedTraverse.exists is lazy 0.032s
565 + UnorderedTraverse for tmmUtils NonEmptyMap: unorderedTraverse.forall consistent with exists 0.028s
566 + UnorderedTraverse for tmmUtils NonEmptyMap: unorderedTraverse.forall is lazy 0.051s
567 + UnorderedTraverse for tmmUtils NonEmptyMap: unorderedTraverse.forall true if empty 0.012s
568 + UnorderedTraverse for tmmUtils NonEmptyMap: unorderedTraverse.nonEmpty reference 0.012s
569 + UnorderedTraverse for tmmUtils NonEmptyMap: unorderedTraverse.unordered traverse consistent with sequence 0.036s
570 + UnorderedTraverse for tmmUtils NonEmptyMap: unorderedTraverse.unordered traverse parallel composition 0.051s
571 + UnorderedTraverse for tmmUtils NonEmptyMap: unorderedTraverse.unordered traverse sequential composition 0.039s
572 + UnorderedTraverse for tmmUtils NonEmptyMap: unorderedTraverse.unorderedFold consistent with unorderedFoldMap 0.036s
573 + Functor for tmmUtils NonEmptyMap: functor.covariant composition 0.039s
574 + Functor for tmmUtils NonEmptyMap: functor.covariant identity 0.02s
575 + Functor for tmmUtils NonEmptyMap: functor.invariant composition 0.047s
576 + Functor for tmmUtils NonEmptyMap: functor.invariant identity 0.022s
577 + Unlawful Group for Map: group.reverseCombineAllOption 0.51s
578 + Unlawful Group for Map: group.reverseRepeat1 0.023s
579 + Unlawful Group for Map: group.reverseRepeat2 0.02s
580 + Unlawful Group for Map: group.reverseReverses 0.047s
581 + Unlawful Group for Map: group.right identity 0.018s
582==> i au.id.tmm.collections.cats.instances.unlawful.MapUnlawfulInstancesSpec.Unlawful Group for Map: group.right inverse ignored 0.0s
583 + Align for tmmUtils NonEmptyMap: align.align associativity 0.157s
584 + Unlawful CommutativeGroup for Map: group.associative 0.055s
585 + Unlawful CommutativeGroup for Map: group.collect0 0.022s
586 + Align for tmmUtils NonEmptyMap: align.align homomorphism 0.089s
587 + Align for tmmUtils NonEmptyMap: align.alignWith consistent 0.1s
588 + CommutativeSemigroup for tmmUtils NonEmptyMap: commutativeSemigroup.associative 0.059s
589 + Unlawful CommutativeGroup for Map: group.combine all 0.557s
590 + CommutativeSemigroup for tmmUtils NonEmptyMap: commutativeSemigroup.combineAllOption 0.477s
591 + CommutativeSemigroup for tmmUtils NonEmptyMap: commutativeSemigroup.commutative 0.023s
592 + Unlawful CommutativeGroup for Map: group.combineAllOption 0.416s
593 + Unlawful CommutativeGroup for Map: group.consistent inverse 0.028s
594 + Bimonad for NonEmptyArraySeq: bimonad.apply composition 4.503s
595 + CommutativeSemigroup for tmmUtils NonEmptyMap: commutativeSemigroup.intercalateCombineAllOption 0.439s
596 + CommutativeSemigroup for tmmUtils NonEmptyMap: commutativeSemigroup.intercalateIntercalates 0.036s
597 + CommutativeSemigroup for tmmUtils NonEmptyMap: commutativeSemigroup.intercalateRepeat1 0.036s
598 + CommutativeSemigroup for tmmUtils NonEmptyMap: commutativeSemigroup.intercalateRepeat2 0.023s
599 + CommutativeSemigroup for tmmUtils NonEmptyMap: commutativeSemigroup.repeat1 0.01s
600 + CommutativeSemigroup for tmmUtils NonEmptyMap: commutativeSemigroup.repeat2 0.012s
601 + Bimonad for NonEmptyArraySeq: bimonad.coflatMap associativity 0.256s
602 + Bimonad for NonEmptyArraySeq: bimonad.coflatMap identity 0.049s
603 + Bimonad for NonEmptyArraySeq: bimonad.coflatMapIdentity 0.003s
604 + Bimonad for NonEmptyArraySeq: bimonad.coflatten coherence 0.023s
605 + Bimonad for NonEmptyArraySeq: bimonad.coflatten throughMap 0.018s
606 + Bimonad for NonEmptyArraySeq: bimonad.coflattenCoherence 0.017s
607 + Bimonad for NonEmptyArraySeq: bimonad.coflattenThroughMap 0.026s
608 + Bimonad for NonEmptyArraySeq: bimonad.comonad left identity 0.016s
609 + Bimonad for NonEmptyArraySeq: bimonad.comonad right identity 0.011s
610 + Bimonad for NonEmptyArraySeq: bimonad.covariant composition 0.009s
611 + Bimonad for NonEmptyArraySeq: bimonad.covariant identity 0.004s
612 + Bimonad for NonEmptyArraySeq: bimonad.extract/flatMap entwining 0.041s
613 + Bimonad for NonEmptyArraySeq: bimonad.extractCoflattenIdentity 0.005s
614 + Unlawful CommutativeGroup for Map: group.intercalateCombineAllOption 0.678s
615 + CommutativeSemigroup for tmmUtils NonEmptyMap: commutativeSemigroup.reverseCombineAllOption 0.449s
616 + CommutativeSemigroup for tmmUtils NonEmptyMap: commutativeSemigroup.reverseRepeat1 0.01s
617 + Unlawful CommutativeGroup for Map: group.intercalateIntercalates 0.034s
618 + CommutativeSemigroup for tmmUtils NonEmptyMap: commutativeSemigroup.reverseRepeat2 0.013s
619 + Unlawful CommutativeGroup for Map: group.intercalateRepeat1 0.026s
620 + CommutativeSemigroup for tmmUtils NonEmptyMap: commutativeSemigroup.reverseReverses 0.021s
621 + Unlawful CommutativeGroup for Map: group.intercalateRepeat2 0.03s
622 + Semigroup for tmmUtils NonEmptyMap: semigroup.associative 0.035s
623 + Unlawful CommutativeGroup for Map: group.is id 0.013s
624 + Unlawful CommutativeGroup for Map: group.left identity 0.021s
625==> i au.id.tmm.collections.cats.instances.unlawful.MapUnlawfulInstancesSpec.Unlawful CommutativeGroup for Map: group.left inverse ignored 0.0s
626 + Unlawful CommutativeGroup for Map: group.repeat0 0.011s
627 + Unlawful CommutativeGroup for Map: group.repeat1 0.01s
628 + Unlawful CommutativeGroup for Map: group.repeat2 0.033s
629 + Monad for NonEmptySet: monad.apply composition 4.158s
630 + Monad for NonEmptySet: monad.covariant composition 0.007s
631 + Monad for NonEmptySet: monad.covariant identity 0.002s
632 + Semigroup for tmmUtils NonEmptyMap: semigroup.combineAllOption 0.432s
633 + Unlawful CommutativeGroup for Map: group.reverseCombineAllOption 0.464s
634 + Unlawful CommutativeGroup for Map: group.reverseRepeat1 0.01s
635 + Unlawful CommutativeGroup for Map: group.reverseRepeat2 0.011s
636 + Unlawful CommutativeGroup for Map: group.reverseReverses 0.022s
637 + Unlawful CommutativeGroup for Map: group.right identity 0.011s
638==> i au.id.tmm.collections.cats.instances.unlawful.MapUnlawfulInstancesSpec.Unlawful CommutativeGroup for Map: group.right inverse ignored 0.0s
639au.id.tmm.collections.cats.instances.NonEmptySetInstancesSpec:
640 + the show for a NonEmptySet should produce a sensible string 0.001s
641 + the traverse for a NonEmptySet should traverse the set 0.002s
642au.id.tmm.collections.cats.syntax.safegroupby.SafeGroupBySyntaxSpec:
643 + safe group by for Set should work 0.012s
644 + safe group by for Set should work for groupMap 0.001s
645 + safe group by for Set should work for the key value 0.0s
646 + safe group by for List should work for a list of tuples 0.009s
647 + safe group by for List should work for an empty list 0.001s
648au.id.tmm.collections.cats.syntax.ArraySeqConversionsSpec:
649 + a non-empty arrayseq can be converted to a non-empty vector 0.011s
650 + a non-empty vector can be converted to a non-empty arrayseq 0.001s
651 + a non-empty vector can be converted to a specialised non-empty arraySeq 0.0s
652au.id.tmm.collections.cats.instances.MapOverKeysInstancesLawsSpec:
653 + Functor for Map over keys: functor.covariant composition 0.183s
654 + Functor for Map over keys: functor.covariant identity 0.027s
655 + Functor for Map over keys: functor.invariant composition 0.093s
656 + Functor for Map over keys: functor.invariant identity 0.013s
657 + MonoidK for Map over keys: monoidK.monoidK left identity 0.011s
658 + MonoidK for Map over keys: monoidK.monoidK right identity 0.011s
659 + MonoidK for Map over keys: monoidK.semigroupK associative 0.037s
660 + Semigroup for tmmUtils NonEmptyMap: semigroup.intercalateCombineAllOption 0.691s
661au.id.tmm.collections.cats.instances.DupelessSeqInstancesLawsSpec:
662 + Semigroup for tmmUtils NonEmptyMap: semigroup.intercalateIntercalates 0.03s
663 + Monad for NonEmptySet: monad.flatMap associativity 0.967s
664 + Eq for DupelessSeq: eq.antisymmetry eq 0.039s
665 + Eq for DupelessSeq: eq.reflexivity eq 0.003s
666 + Semigroup for tmmUtils NonEmptyMap: semigroup.intercalateRepeat1 0.024s
667 + Eq for DupelessSeq: eq.symmetry eq 0.012s
668 + Eq for DupelessSeq: eq.transitivity eq 0.01s
669 + Hash for DupelessSeq: hash.antisymmetry eq 0.004s
670 + Hash for DupelessSeq: hash.hash compatibility 0.004s
671 + Hash for DupelessSeq: hash.reflexivity eq 0.002s
672 + Hash for DupelessSeq: hash.same as scala hashing 0.017s
673 + Semigroup for tmmUtils NonEmptyMap: semigroup.intercalateRepeat2 0.059s
674 + Hash for DupelessSeq: hash.same as universal hash 0.014s
675 + Hash for DupelessSeq: hash.symmetry eq 0.009s
676 + Semigroup for tmmUtils NonEmptyMap: semigroup.repeat1 0.032s
677 + Hash for DupelessSeq: hash.transitivity eq 0.012s
678 + Monoid for DupelessSeq: monoid.associative 0.025s
679 + Semigroup for tmmUtils NonEmptyMap: semigroup.repeat2 0.027s
680 + Monoid for DupelessSeq: monoid.collect0 0.001s
681 + Monad for NonEmptySet: monad.flatMap consistent apply 0.142s
682 + Monad for NonEmptySet: monad.flatMap from tailRecM consistency 0.105s
683 + Monad for NonEmptySet: monad.invariant composition 0.009s
684 + Monad for NonEmptySet: monad.invariant identity 0.002s
685 + Monad for NonEmptySet: monad.map flatMap coherence 0.007s
686 + Monad for NonEmptySet: monad.map2/map2Eval consistency 0.059s
687 + Bimonad for NonEmptyArraySeq: bimonad.flatMap associativity 1.853s
688 + Monad for NonEmptySet: monad.map2/product-map consistency 0.123s
689 + Monad for NonEmptySet: monad.monad left identity 0.002s
690 + Monad for NonEmptySet: monad.monad right identity 0.003s
691 + Monad for NonEmptySet: monad.monoidal left identity 0.011s
692 + Monad for NonEmptySet: monad.monoidal right identity 0.012s
693 + Bimonad for NonEmptyArraySeq: bimonad.flatMap consistent apply 0.078s
694 + Bimonad for NonEmptyArraySeq: bimonad.flatMap from tailRecM consistency 0.102s
695 + Bimonad for NonEmptyArraySeq: bimonad.invariant composition 0.012s
696 + Monad for NonEmptySet: monad.mproduct consistent flatMap 0.147s
697 + Bimonad for NonEmptyArraySeq: bimonad.invariant identity 0.002s
698 + Bimonad for NonEmptyArraySeq: bimonad.map flatMap coherence 0.005s
699 + Semigroup for tmmUtils NonEmptyMap: semigroup.reverseCombineAllOption 0.527s
700 + Semigroup for tmmUtils NonEmptyMap: semigroup.reverseRepeat1 0.016s
701 + Monad for NonEmptySet: monad.productL consistent map2 0.055s
702 + Semigroup for tmmUtils NonEmptyMap: semigroup.reverseRepeat2 0.01s
703 + Monad for NonEmptySet: monad.productR consistent map2 0.018s
704 + Semigroup for tmmUtils NonEmptyMap: semigroup.reverseReverses 0.025s
705 + Bimonad for NonEmptyArraySeq: bimonad.map2/map2Eval consistency 0.143s
706 + Monad for NonEmptySet: monad.replicateA_ consistent with replicateA.void 0.089s
707 + Monoid for DupelessSeq: monoid.combine all 0.692s
708 + Functor over keys for tmmUtils NonEmptyMap: functor.covariant composition 0.173s
709 + Functor over keys for tmmUtils NonEmptyMap: functor.covariant identity 0.027s
710 + Bimonad for NonEmptyArraySeq: bimonad.map2/product-map consistency 0.193s
711 + Bimonad for NonEmptyArraySeq: bimonad.mapCoflatMapCoherence 0.005s
712 + Bimonad for NonEmptyArraySeq: bimonad.mapCoflattenIdentity 0.003s
713 + Bimonad for NonEmptyArraySeq: bimonad.monad left identity 0.002s
714 + Bimonad for NonEmptyArraySeq: bimonad.monad right identity 0.007s
715 + Bimonad for NonEmptyArraySeq: bimonad.monoidal left identity 0.009s
716 + Bimonad for NonEmptyArraySeq: bimonad.monoidal right identity 0.003s
717 + Functor over keys for tmmUtils NonEmptyMap: functor.invariant composition 0.131s
718 + Functor over keys for tmmUtils NonEmptyMap: functor.invariant identity 0.014s
719 + SemigroupK over keys for tmmUtils NonEmptyMap: semigroupK.semigroupK associative 0.032s
720 + Bimonad for NonEmptyArraySeq: bimonad.mproduct consistent flatMap 0.086s
721au.id.tmm.collections.cats.syntax.NonEmptySetOpsSpec:
722 + a non-empty set can be converted to a cats NonEmptyList 0.003s
723 + Bimonad for NonEmptyArraySeq: bimonad.productL consistent map2 0.022s
724 + a non-empty set can be converted to a cats NonEmptyVector 0.001s
725 + a non-empty list can be converted to a tmmUtils NonEmptySet 0.0s
726 + a non-empty vector can be converted to a tmmUtils NonEmptySet 0.001s
727 + Bimonad for NonEmptyArraySeq: bimonad.productR consistent map2 0.017s
728 + Bimonad for NonEmptyArraySeq: bimonad.pure andThen extract = id 0.001s
729 + Bimonad for NonEmptyArraySeq: bimonad.pure/coflatMap entwining 0.002s
730 + Bimonad for NonEmptyArraySeq: bimonad.replicateA_ consistent with replicateA.void 0.01s
731au.id.tmm.collections.cats.instances.NonEmptyDupelessSeqInstancesLawsSpec:
732 + Eq for NonEmptyDupelessSeq: eq.antisymmetry eq 0.01s
733 + Eq for NonEmptyDupelessSeq: eq.reflexivity eq 0.006s
734 + Eq for NonEmptyDupelessSeq: eq.symmetry eq 0.01s
735 + Eq for NonEmptyDupelessSeq: eq.transitivity eq 0.006s
736 + Hash for NonEmptyDupelessSeq: hash.antisymmetry eq 0.002s
737 + Hash for NonEmptyDupelessSeq: hash.hash compatibility 0.002s
738 + Hash for NonEmptyDupelessSeq: hash.reflexivity eq 0.002s
739 + Hash for NonEmptyDupelessSeq: hash.same as scala hashing 0.007s
740 + Hash for NonEmptyDupelessSeq: hash.same as universal hash 0.01s
741 + Hash for NonEmptyDupelessSeq: hash.symmetry eq 0.006s
742 + Hash for NonEmptyDupelessSeq: hash.transitivity eq 0.007s
743 + Band for NonEmptyDupelessSeq: band.associative 0.018s
744 + Monoid for DupelessSeq: monoid.combineAllOption 0.519s
745 + Band for NonEmptyDupelessSeq: band.combineAllOption 0.799s
746 + Band for NonEmptyDupelessSeq: band.idempotency 0.003s
747 + Bimonad for NonEmptyArraySeq: bimonad.semigroupal associativity 1.068s
748 + Monoid for DupelessSeq: monoid.intercalateCombineAllOption 0.886s
749 + Monoid for DupelessSeq: monoid.intercalateIntercalates 0.006s
750 + Monoid for DupelessSeq: monoid.intercalateRepeat1 0.002s
751 + Monoid for DupelessSeq: monoid.intercalateRepeat2 0.005s
752 + Monoid for DupelessSeq: monoid.is id 0.002s
753 + Monoid for DupelessSeq: monoid.left identity 0.002s
754 + Monoid for DupelessSeq: monoid.repeat0 0.002s
755 + Monoid for DupelessSeq: monoid.repeat1 0.001s
756 + Monoid for DupelessSeq: monoid.repeat2 0.002s
757 + Bimonad for NonEmptyArraySeq: bimonad.tailRecM consistent flatMap 0.126s
758 + Bimonad for NonEmptyArraySeq: bimonad.tailRecM stack safety 0.031s
759 + SemigroupK for NonEmptyArraySeq: semigroupK.semigroupK associative 0.008s
760 + Align for NonEmptyArraySeq: align.align associativity 0.034s
761 + Align for NonEmptyArraySeq: align.align homomorphism 0.036s
762 + Align for NonEmptyArraySeq: align.alignWith consistent 0.018s
763 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.collectFirst reference 0.007s
764 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.collectFirstSome reference 0.005s
765 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.contains all elements from itself 0.038s
766 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.contains consistent with exists 0.002s
767 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.contains consistent with forall 0.002s
768 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.covariant composition 0.008s
769 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.covariant identity 0.002s
770 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.dropWhile_ reference 0.003s
771 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.exists consistent with find 0.006s
772 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.exists is lazy 0.003s
773 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.filter_ reference 0.008s
774 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.fold reference 0.003s
775 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.foldLeft consistent with foldMap 0.005s
776 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.foldM identity 0.011s
777 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.foldRight consistent with foldMap 0.007s
778 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.foldRight is lazy 0.002s
779 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.foldRightDefer consistency 0.008s
780 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.forall consistent with exists 0.002s
781 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.forall is lazy 0.002s
782 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.forall true if empty 0.002s
783 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.get reference 0.005s
784 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.invariant composition 0.012s
785 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.invariant identity 0.001s
786 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.nonEmpty reference 0.001s
787 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.nonEmptySequence_ consistent with sequence_ 0.01s
788 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.nonEmptyTraverse derive reduceMap 0.023s
789 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.nonEmptyTraverse identity 0.014s
790 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.nonEmptyTraverse parallel composition 0.024s
791 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.nonEmptyTraverse sequential composition 0.033s
792 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.nonEmptyTraverse_ consistent with traverse_ 0.011s
793 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.ordered consistency 0.007s
794 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.reduce consistent with reduceLeft 0.005s
795 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.reduceLeftOption consistent with reduceLeftToOption 0.009s
796 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.reduceLeftTo consistent with reduceMap 0.005s
797 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.reduceRight consistent with reduceRightOption 0.012s
798 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.reduceRightOption consistent with reduceRightToOption 0.075s
799 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.reduceRightTo consistent with reduceMap 0.005s
800 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.reduceRightTo consistent with reduceRightToOption 0.007s
801 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.size consistent with reduceMap 0.017s
802 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.takeWhile_ reference 0.01s
803 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.toList reference 0.004s
804 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.traverse derive foldMap 0.014s
805 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.traverse identity 0.014s
806 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.traverse order consistency 0.026s
807 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.traverse parallel composition 0.022s
808 + Band for NonEmptyDupelessSeq: band.intercalateCombineAllOption 0.973s
809 + Band for NonEmptyDupelessSeq: band.intercalateIntercalates 0.006s
810 + Band for NonEmptyDupelessSeq: band.intercalateRepeat1 0.002s
811 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.traverse ref mapAccumulate 0.049s
812 + Band for NonEmptyDupelessSeq: band.intercalateRepeat2 0.005s
813 + Band for NonEmptyDupelessSeq: band.repeat1 0.002s
814 + Band for NonEmptyDupelessSeq: band.repeat2 0.002s
815 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.traverse ref mapWithIndex 0.034s
816 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.traverse ref traverseWithIndexM 0.01s
817 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.traverse ref zipWithIndex 0.041s
818 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.traverse sequential composition 0.012s
819 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.traverse traverseTap 0.004s
820 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.unordered traverse consistent with sequence 0.004s
821 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.unordered traverse parallel composition 0.015s
822 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.unordered traverse sequential composition 0.008s
823 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.unorderedFold consistent with unorderedFoldMap 0.002s
824 + Semigroup for NonEmptyArraySeq: semigroup.associative 0.004s
825 + Semigroup for NonEmptyArraySeq: semigroup.combineAllOption 0.021s
826 + Semigroup for NonEmptyArraySeq: semigroup.intercalateCombineAllOption 0.028s
827 + Semigroup for NonEmptyArraySeq: semigroup.intercalateIntercalates 0.002s
828 + Semigroup for NonEmptyArraySeq: semigroup.intercalateRepeat1 0.002s
829 + Semigroup for NonEmptyArraySeq: semigroup.intercalateRepeat2 0.001s
830 + Semigroup for NonEmptyArraySeq: semigroup.repeat1 0.0s
831 + Semigroup for NonEmptyArraySeq: semigroup.repeat2 0.001s
832 + Semigroup for NonEmptyArraySeq: semigroup.reverseCombineAllOption 0.02s
833 + Semigroup for NonEmptyArraySeq: semigroup.reverseRepeat1 0.002s
834 + Semigroup for NonEmptyArraySeq: semigroup.reverseRepeat2 0.001s
835 + Semigroup for NonEmptyArraySeq: semigroup.reverseReverses 0.002s
836 + Monoid for DupelessSeq: monoid.reverseCombineAllOption 1.058s
837 + Monoid for DupelessSeq: monoid.reverseRepeat1 0.001s
838 + Monoid for DupelessSeq: monoid.reverseRepeat2 0.005s
839 + Monoid for DupelessSeq: monoid.reverseReverses 0.004s
840 + Monoid for DupelessSeq: monoid.right identity 0.003s
841 + Band for DupelessSeq: band.associative 0.007s
842 + Monad for NonEmptySet: monad.semigroupal associativity 2.62s
843 + Monad for NonEmptySet: monad.tailRecM consistent flatMap 0.054s
844 + Monad for NonEmptySet: monad.tailRecM stack safety 0.033s
845 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.collectFirst reference 0.007s
846 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.collectFirstSome reference 0.003s
847 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.contains all elements from itself 0.022s
848 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.contains consistent with exists 0.009s
849 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.contains consistent with forall 0.007s
850 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.covariant composition 0.008s
851 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.covariant identity 0.002s
852 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.dropWhile_ reference 0.006s
853 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.exists consistent with find 0.006s
854 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.exists is lazy 0.006s
855 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.filter_ reference 0.003s
856 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.fold reference 0.003s
857 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.foldLeft consistent with foldMap 0.003s
858 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.foldM identity 0.006s
859 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.foldRight consistent with foldMap 0.006s
860 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.foldRight is lazy 0.002s
861 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.foldRightDefer consistency 0.005s
862 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.forall consistent with exists 0.002s
863 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.forall is lazy 0.003s
864 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.forall true if empty 0.004s
865 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.get reference 0.005s
866 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.invariant composition 0.006s
867 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.invariant identity 0.002s
868 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.nonEmpty reference 0.001s
869 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.nonEmptySequence_ consistent with sequence_ 0.018s
870 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.nonEmptyTraverse derive reduceMap 0.013s
871 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.nonEmptyTraverse identity 0.012s
872 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.nonEmptyTraverse parallel composition 0.016s
873 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.nonEmptyTraverse sequential composition 0.012s
874 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.nonEmptyTraverse_ consistent with traverse_ 0.004s
875 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.ordered consistency 0.003s
876 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.reduce consistent with reduceLeft 0.004s
877 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.reduceLeftOption consistent with reduceLeftToOption 0.006s
878 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.reduceLeftTo consistent with reduceMap 0.004s
879 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.reduceRight consistent with reduceRightOption 0.008s
880 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.reduceRightOption consistent with reduceRightToOption 0.007s
881 + Band for NonEmptyDupelessSeq: band.reverseCombineAllOption 0.713s
882 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.reduceRightTo consistent with reduceMap 0.011s
883 + Band for NonEmptyDupelessSeq: band.reverseRepeat1 0.001s
884 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.reduceRightTo consistent with reduceRightToOption 0.008s
885 + Band for NonEmptyDupelessSeq: band.reverseRepeat2 0.005s
886 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.size consistent with reduceMap 0.002s
887 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.takeWhile_ reference 0.002s
888 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.toList reference 0.001s
889 + Band for NonEmptyDupelessSeq: band.reverseReverses 0.009s
890 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.traverse derive foldMap 0.006s
891 + SemigroupK for NonEmptyDupelessSeq: semigroupK.semigroupK associative 0.01s
892 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.traverse identity 0.008s
893==> i au.id.tmm.collections.cats.instances.NonEmptySetInstancesLawsSpec.NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.traverse order consistency ignored 0.0s
894 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.collectFirst reference 0.003s
895 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.collectFirstSome reference 0.004s
896 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.traverse parallel composition 0.011s
897 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.traverse ref mapAccumulate 0.011s
898 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.contains all elements from itself 0.02s
899 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.contains consistent with exists 0.005s
900 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.traverse ref mapWithIndex 0.01s
901 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.contains consistent with forall 0.007s
902 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.traverse ref traverseWithIndexM 0.01s
903 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.traverse ref zipWithIndex 0.009s
904 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.traverse sequential composition 0.007s
905 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.covariant composition 0.03s
906 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.traverse traverseTap 0.009s
907 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.covariant identity 0.007s
908 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.unordered traverse consistent with sequence 0.008s
909 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.dropWhile_ reference 0.006s
910 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.unordered traverse parallel composition 0.011s
911 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.exists consistent with find 0.009s
912 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.exists is lazy 0.002s
913 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.filter_ reference 0.004s
914 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.unordered traverse sequential composition 0.013s
915 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.fold reference 0.004s
916 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.foldLeft consistent with foldMap 0.004s
917 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.unorderedFold consistent with unorderedFoldMap 0.008s
918 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.foldM identity 0.018s
919 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.foldRight consistent with foldMap 0.01s
920 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.foldRight is lazy 0.001s
921 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.foldRightDefer consistency 0.012s
922 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.forall consistent with exists 0.001s
923 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.forall is lazy 0.002s
924 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.forall true if empty 0.001s
925 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.get reference 0.003s
926 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.invariant composition 0.017s
927 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.invariant identity 0.007s
928 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.nonEmpty reference 0.005s
929 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.nonEmptySequence_ consistent with sequence_ 0.005s
930 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.nonEmptyTraverse derive reduceMap 0.019s
931 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.nonEmptyTraverse identity 0.008s
932 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.nonEmptyTraverse parallel composition 0.014s
933 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.nonEmptyTraverse sequential composition 0.007s
934 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.nonEmptyTraverse_ consistent with traverse_ 0.006s
935 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.ordered consistency 0.003s
936 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.reduce consistent with reduceLeft 0.007s
937 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.reduceLeftOption consistent with reduceLeftToOption 0.012s
938 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.reduceLeftTo consistent with reduceMap 0.005s
939 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.reduceRight consistent with reduceRightOption 0.007s
940 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.reduceRightOption consistent with reduceRightToOption 0.007s
941 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.reduceRightTo consistent with reduceMap 0.006s
942 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.reduceRightTo consistent with reduceRightToOption 0.005s
943 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.size consistent with reduceMap 0.003s
944 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.takeWhile_ reference 0.003s
945 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.toList reference 0.002s
946 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.traverse derive foldMap 0.005s
947 + Band for DupelessSeq: band.combineAllOption 0.787s
948 + Band for DupelessSeq: band.idempotency 0.003s
949 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.traverse identity 0.006s
950 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.traverse order consistency 0.011s
951 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.traverse parallel composition 0.066s
952 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.traverse ref mapAccumulate 0.009s
953 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.traverse ref mapWithIndex 0.008s
954 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.traverse ref traverseWithIndexM 0.005s
955 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.traverse ref zipWithIndex 0.01s
956 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.traverse sequential composition 0.006s
957 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.traverse traverseTap 0.005s
958 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.unordered traverse consistent with sequence 0.004s
959 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.unordered traverse parallel composition 0.008s
960 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.unordered traverse sequential composition 0.008s
961 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.unorderedFold consistent with unorderedFoldMap 0.002s
962 + Monad for NonEmptyDupelessSeq: monad.ap consistent with product + map 0.132s
963 + Monad for NonEmptyDupelessSeq: monad.applicative homomorphism 0.001s
964 + Monad for NonEmptyDupelessSeq: monad.applicative identity 0.002s
965 + Monad for NonEmptyDupelessSeq: monad.applicative interchange 0.005s
966 + Monad for NonEmptyDupelessSeq: monad.applicative map 0.003s
967 + Monad for NonEmptyDupelessSeq: monad.applicative unit 0.001s
968 + Band for DupelessSeq: band.intercalateCombineAllOption 0.564s
969 + Band for DupelessSeq: band.intercalateIntercalates 0.007s
970 + Band for DupelessSeq: band.intercalateRepeat1 0.002s
971 + Band for DupelessSeq: band.intercalateRepeat2 0.004s
972 + Band for DupelessSeq: band.repeat1 0.001s
973 + Band for DupelessSeq: band.repeat2 0.001s
974 + Band for DupelessSeq: band.reverseCombineAllOption 0.463s
975 + Band for DupelessSeq: band.reverseRepeat1 0.001s
976 + Band for DupelessSeq: band.reverseRepeat2 0.001s
977 + Band for DupelessSeq: band.reverseReverses 0.003s
978 + MonoidK for DupelessSeq: monoidK.monoidK left identity 0.002s
979 + MonoidK for DupelessSeq: monoidK.monoidK right identity 0.001s
980 + MonoidK for DupelessSeq: monoidK.semigroupK associative 0.008s
981 + Traverse for DupelessSeq: traverse.collectFirst reference 0.007s
982 + Traverse for DupelessSeq: traverse.collectFirstSome reference 0.005s
983 + Traverse for DupelessSeq: traverse.contains all elements from itself 0.012s
984 + Traverse for DupelessSeq: traverse.contains consistent with exists 0.002s
985 + Traverse for DupelessSeq: traverse.contains consistent with forall 0.002s
986 + Traverse for DupelessSeq: traverse.covariant composition 0.008s
987 + Traverse for DupelessSeq: traverse.covariant identity 0.004s
988 + Traverse for DupelessSeq: traverse.dropWhile_ reference 0.002s
989 + Traverse for DupelessSeq: traverse.exists consistent with find 0.002s
990 + Traverse for DupelessSeq: traverse.exists is lazy 0.002s
991 + Traverse for DupelessSeq: traverse.filter_ reference 0.002s
992 + Traverse for DupelessSeq: traverse.fold reference 0.002s
993 + Traverse for DupelessSeq: traverse.foldLeft consistent with foldMap 0.178s
994 + Traverse for DupelessSeq: traverse.foldM identity 0.059s
995 + Traverse for DupelessSeq: traverse.foldRight consistent with foldMap 0.06s
996 + Traverse for DupelessSeq: traverse.foldRight is lazy 0.002s
997 + Traverse for DupelessSeq: traverse.foldRightDefer consistency 0.11s
998 + Traverse for DupelessSeq: traverse.forall consistent with exists 0.002s
999 + Traverse for DupelessSeq: traverse.forall is lazy 0.002s
1000 + Traverse for DupelessSeq: traverse.forall true if empty 0.001s
1001 + Traverse for DupelessSeq: traverse.get reference 0.002s
1002 + Traverse for DupelessSeq: traverse.invariant composition 0.007s
1003 + Traverse for DupelessSeq: traverse.invariant identity 0.002s
1004 + Traverse for DupelessSeq: traverse.nonEmpty reference 0.001s
1005 + Traverse for DupelessSeq: traverse.ordered consistency 0.002s
1006 + Traverse for DupelessSeq: traverse.reduceLeftOption consistent with reduceLeftToOption 0.003s
1007 + Traverse for DupelessSeq: traverse.reduceRightOption consistent with reduceRightToOption 0.008s
1008 + Traverse for DupelessSeq: traverse.takeWhile_ reference 0.003s
1009 + Traverse for DupelessSeq: traverse.toList reference 0.001s
1010 + Traverse for DupelessSeq: traverse.traverse derive foldMap 0.091s
1011 + Traverse for DupelessSeq: traverse.traverse identity 0.005s
1012 + Traverse for DupelessSeq: traverse.traverse order consistency 0.004s
1013 + Traverse for DupelessSeq: traverse.traverse parallel composition 0.008s
1014 + Traverse for DupelessSeq: traverse.traverse ref mapAccumulate 0.061s
1015 + Traverse for DupelessSeq: traverse.traverse ref mapWithIndex 0.007s
1016 + Traverse for DupelessSeq: traverse.traverse ref traverseWithIndexM 0.004s
1017 + Traverse for DupelessSeq: traverse.traverse ref zipWithIndex 0.01s
1018 + Traverse for DupelessSeq: traverse.traverse sequential composition 0.009s
1019 + Traverse for DupelessSeq: traverse.traverse traverseTap 0.019s
1020 + Traverse for DupelessSeq: traverse.unordered traverse consistent with sequence 0.016s
1021 + Traverse for DupelessSeq: traverse.unordered traverse parallel composition 0.032s
1022 + Traverse for DupelessSeq: traverse.unordered traverse sequential composition 0.018s
1023 + Traverse for DupelessSeq: traverse.unorderedFold consistent with unorderedFoldMap 0.002s
1024 + Monad for DupelessSeq: monad.ap consistent with product + map 0.114s
1025 + Monad for DupelessSeq: monad.applicative homomorphism 0.001s
1026 + Monad for DupelessSeq: monad.applicative identity 0.003s
1027 + Monad for DupelessSeq: monad.applicative interchange 0.009s
1028 + Monad for DupelessSeq: monad.applicative map 0.005s
1029 + Monad for DupelessSeq: monad.applicative unit 0.001s
1030 + Monad for NonEmptyDupelessSeq: monad.apply composition 1.884s
1031 + Monad for NonEmptyDupelessSeq: monad.covariant composition 0.003s
1032 + Monad for NonEmptyDupelessSeq: monad.covariant identity 0.002s
1033 + Monad for NonEmptyDupelessSeq: monad.flatMap associativity 1.067s
1034 + Monad for NonEmptyDupelessSeq: monad.flatMap consistent apply 0.057s
1035 + Monad for NonEmptyDupelessSeq: monad.flatMap from tailRecM consistency 0.057s
1036 + Monad for NonEmptyDupelessSeq: monad.invariant composition 0.005s
1037 + Monad for NonEmptyDupelessSeq: monad.invariant identity 0.002s
1038 + Monad for NonEmptyDupelessSeq: monad.map flatMap coherence 0.004s
1039 + Monad for NonEmptyDupelessSeq: monad.map2/map2Eval consistency 0.033s
1040 + Monad for NonEmptyDupelessSeq: monad.map2/product-map consistency 0.055s
1041 + Monad for NonEmptyDupelessSeq: monad.monad left identity 0.002s
1042 + Monad for NonEmptyDupelessSeq: monad.monad right identity 0.002s
1043 + Monad for NonEmptyDupelessSeq: monad.monoidal left identity 0.005s
1044 + Monad for NonEmptyDupelessSeq: monad.monoidal right identity 0.007s
1045 + Monad for NonEmptyDupelessSeq: monad.mproduct consistent flatMap 0.096s
1046 + Monad for NonEmptyDupelessSeq: monad.productL consistent map2 0.011s
1047 + Monad for NonEmptyDupelessSeq: monad.productR consistent map2 0.009s
1048 + Monad for NonEmptyDupelessSeq: monad.replicateA_ consistent with replicateA.void 0.076s
1049 + Monad for DupelessSeq: monad.apply composition 2.155s
1050 + Monad for DupelessSeq: monad.covariant composition 0.004s
1051 + Monad for DupelessSeq: monad.covariant identity 0.001s
1052 + Monad for DupelessSeq: monad.flatMap associativity 1.021s
1053 + Monad for DupelessSeq: monad.flatMap consistent apply 0.072s
1054 + Monad for DupelessSeq: monad.flatMap from tailRecM consistency 0.046s
1055 + Monad for DupelessSeq: monad.invariant composition 0.003s
1056 + Monad for DupelessSeq: monad.invariant identity 0.002s
1057 + Monad for DupelessSeq: monad.map flatMap coherence 0.003s
1058 + Monad for DupelessSeq: monad.map2/map2Eval consistency 0.037s
1059 + Monad for DupelessSeq: monad.map2/product-map consistency 0.05s
1060 + Monad for DupelessSeq: monad.monad left identity 0.002s
1061 + Monad for DupelessSeq: monad.monad right identity 0.001s
1062 + Monad for DupelessSeq: monad.monoidal left identity 0.003s
1063 + Monad for DupelessSeq: monad.monoidal right identity 0.004s
1064 + Monad for DupelessSeq: monad.mproduct consistent flatMap 0.134s
1065 + Monad for DupelessSeq: monad.productL consistent map2 0.013s
1066 + Monad for DupelessSeq: monad.productR consistent map2 0.009s
1067 + Monad for DupelessSeq: monad.replicateA_ consistent with replicateA.void 0.013s
1068 + Monad for DupelessSeq: monad.semigroupal associativity 2.047s
1069 + Monad for DupelessSeq: monad.tailRecM consistent flatMap 0.049s
1070 + Monad for DupelessSeq: monad.tailRecM stack safety 0.028s
1071 + Monad for NonEmptyDupelessSeq: monad.semigroupal associativity 6.48s
1072 + Monad for NonEmptyDupelessSeq: monad.tailRecM consistent flatMap 0.048s
1073 + Monad for NonEmptyDupelessSeq: monad.tailRecM stack safety 0.011s
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/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/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.NonEmptySetCodecSpec:
1085au.id.tmm.collections.circe.codecs.ArraySeqDecodersSpec:
1086au.id.tmm.collections.circe.codecs.DupelessSeqCodecsSpec:
1087 + the dupelessSeqEncoder should encode a dupeless seq 0.08s
1088 + the dupelessSeqDecoder should decode an array 0.002s
1089 + the dupelessSeqDecoder should silently drop duplicates when decoding 0.0s
1090 + the non empty set encoder should encode a non-empty set of ordered elements 0.083s
1091 + the ArraySeq decoder should return a ref ArraySeq if its usage is untagged 0.085s
1092 + the ArraySeq decoder should return a ref ArraySeq for a tagged reference type 0.001s
1093 + the ArraySeq decoder should return a specialised ArraySeq for a tagged primative type 0.0s
1094 + the non empty set encoder can encode a non-empty set of unordered elements 0.012s
1095au.id.tmm.collections.circe.codecs.NonEmptyArraySeqCodecsSpec:
1096 + the non-empty set decoder can decode a non-empty json array 0.003s
1097 + the nonEmptyArraySeqEncoder should encode a dupeless seq 0.005s
1098 + the nonEmptyArraySeqDecoder should decode an array 0.001s
1099au.id.tmm.collections.circe.codecs.NonEmptyMapCodecsSpec:
1100 + the non-empty set decoder can not decode an empty json array 0.005s
1101 + the nonEmptyArraySeqDecoder should error if decoding an empty array 0.002s
1102 + the nonEmptyArraySeqDecoder should specialise the underlying ArraySeq if a classtag is available 0.0s
1103au.id.tmm.collections.circe.codecs.NonEmptyDupelessSeqCodecsSpec:
1104 + the nonEmptyDupelessSeqEncoder should encode a dupeless seq 0.004s
1105 + the nonEmptyDupelessSeqDecoder should decode an array 0.001s
1106 + the nonEmptyDupelessSeqDecoder should silently drop duplicates when decoding 0.001s
1107 + the nonEmptyDupelessSeqDecoder should error if decoding an empty array 0.0s
1108 + the non empty map encoder should encode a non-empty map with ordered keys 0.015s
1109 + the non empty map encoder can encode a non-empty map with unordered keys 0.017s
1110 + the non-empty map decoder can decode a non-empty json object 0.011s
1111 + the non-empty map decoder can not decode an empty json object 0.0s
1112au.id.tmm.collections.circe.codecs.CirceCodecLawsSuite:
1113 + ArraySeq codecs: codec.consistency with accumulating 0.162s
1114 + ArraySeq codecs: codec.decoder serializability 0.02s
1115 + ArraySeq codecs: codec.encoder serializability 0.009s
1116 + ArraySeq codecs: codec.roundTrip 0.017s
1117 + NonEmptyArraySeq codecs: codec.consistency with accumulating 0.049s
1118 + NonEmptyArraySeq codecs: codec.decoder serializability 0.011s
1119 + NonEmptyArraySeq codecs: codec.encoder serializability 0.003s
1120 + NonEmptyArraySeq codecs: codec.roundTrip 0.01s
1121 + DupelessSeq codecs: codec.consistency with accumulating 0.048s
1122 + DupelessSeq codecs: codec.decoder serializability 0.004s
1123 + DupelessSeq codecs: codec.encoder serializability 0.002s
1124 + DupelessSeq codecs: codec.roundTrip 0.011s
1125 + NonEmptyDupelessSeq codecs: codec.consistency with accumulating 0.026s
1126 + NonEmptyDupelessSeq codecs: codec.decoder serializability 0.005s
1127 + NonEmptyDupelessSeq codecs: codec.encoder serializability 0.002s
1128 + NonEmptyDupelessSeq codecs: codec.roundTrip 0.009s
1129 + NonEmptySet codecs: codec.consistency with accumulating 0.032s
1130 + NonEmptySet codecs: codec.decoder serializability 0.004s
1131 + NonEmptySet codecs: codec.encoder serializability 0.003s
1132 + NonEmptySet codecs: codec.roundTrip 0.007s
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/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.syntax.UnzipOpsSpec:
1140au.id.tmm.collections.DupelessSeqSpec:
1141au.id.tmm.collections.NonEmptySetSpec:
1142au.id.tmm.collections.NonEmptyArraySeqSpec:
1143 + a DupelessSeq retain the order of the earliest element when initialised 0.015s
1144 + The specialised factory methods create a specialised NonEmptyArraySeq from one element 0.015s
1145 + The specialised factory methods create a specialised NonEmptyArraySeq from many elements 0.0s
1146 + unzip10 unzip 0.016s
1147 + A non-empty set be constructed with a single element 0.013s
1148 + unzip9 unzip 0.001s
1149 + a DupelessSeq not contain duplicates 0.002s
1150 + A non-empty set be constructed with multiple elements 0.0s
1151 + The specialised factory methods create a specialised NonEmptyArraySeq from a head and a tail 0.003s
1152 + A non-empty set not be equal to another set with a different implementation but same elements 0.001s
1153 + A non-empty set be constructed from a non-empty set 0.0s
1154 + The specialised factory methods create a specialised NonEmptyArraySeq from an iterable 0.0s
1155 + The untagged factory methods create an unspecialised NonEmptyArraySeq from one element 0.001s
1156 + A non-empty set not be constructed from an empty set 0.001s
1157 + A non-empty set be constructed unsafely from a non-empty set 0.0s
1158 + A non-empty set not be constructed unsafely from an empty set 0.001s
1159 + a DupelessSeq retain insertion order 0.003s
1160 + a DupelessSeq correctly implement contains 0.002s
1161 + A non-empty set produce subsets 0.005s
1162 + a DupelessSeq correctly implement size 0.003s
1163 + a DupelessSeq correctly implement size for the empty seq 0.0s
1164 + A non-empty set have a sensible toString 0.0s
1165 + A non-empty set be constructed from a non-empty iterable 0.001s
1166 + a DupelessSeq append an element correctly 0.001s
1167 + A non-empty set be constructed from a non-empty iterable which is a Set 0.0s
1168 + A non-empty set not be constructed from an empty iterable 0.001s
1169 + unzip8 unzip 0.01s
1170 + a DupelessSeq return the same seq when appending a duplicate element 0.002s
1171 + a DupelessSeq prepend an element correctly 0.0s
1172 + A non-empty set be constructed unsafely from a non-empty iterable 0.002s
1173 + A non-empty set not be constructed unsafely from an empty iterable 0.001s
1174 + a DupelessSeq return the same seq when prepending a duplicate element 0.002s
1175 + A non-empty set be constructed from cons 0.0s
1176 + A non-empty set map 0.001s
1177 + a DupelessSeq remove an element correctly 0.001s
1178 + unzip7 unzip 0.003s
1179au.id.tmm.collections.NonEmptyMapSpec:
1180 + a DupelessSeq return the same seq when removing an element not in the seq 0.001s
1181 + a DupelessSeq have a sensible toString 0.002s
1182 + unzip6 unzip 0.004s
1183 + A non-empty set flatMap 0.004s
1184 + a DupelessSeq allow random access 0.001s
1185 + a DupelessSeq support splitting at an index 0.0s
1186 + A non-empty set be flattened 0.001s
1187 + a non-empty map be flatMapped with a possibly empty collection of tuples 0.006s
1188 + a non-empty map be flatMapped with a possibly empty collection of single elements 0.0s
1189 + a non-empty map be flatMapped with another NonEmptyMap of tuples 0.001s
1190 + unzip5 unzip 0.003s
1191 + a DupelessSeq support updating an element with a new element 0.004s
1192 + a DupelessSeq remove an element when updating it with an element that exists before it in the seq 0.0s
1193 + a DupelessSeq remove the later element when updating it with an element that exists after it in the seq 0.001s
1194 + a DupelessSeq pad the end of the seq with an element that is not in the seq 0.001s
1195 + a non-empty map be constructed from a non-empty arrayseq 0.003s
1196 + unzip4 unzip 0.003s
1197 + a DupelessSeq return the same seq if padded with an element already in the seq 0.0s
1198 + a DupelessSeq support sorting 0.003s
1199 + a DupelessSeq be reversed 0.0s
1200 + a DupelessSeq be iterated over 0.0s
1201au.id.tmm.collections.classes.SafeGroupBySpec:
1202 + a DupelessSeq be iterated over in reverse 0.004s
1203 + a DupelessSeq return itself when asked for distinct elements 0.0s
1204 + a DupelessSeq be converted to a Set 0.0s
1205au.id.tmm.collections.NonEmptyDupelessSeqSpec:
1206au.id.tmm.collections.syntax.BufferedIteratorOpsSpec:
1207 + a DupelessSeq be converted to a Set of a higher type 0.002s
1208 + a DupelessSeq be converted to a Vector 0.001s
1209 + a DupelessSeq be equal to a DupelessSeq with the same elements and order 0.0s
1210 + a DupelessSeq not be equal to a DupelessSeq with the same elements and a different order 0.001s
1211 + a DupelessSeq not be equal to a DupelessSeq with different elements 0.001s
1212 + a DupelessSeq not be equal to a list with the same elements 0.0s
1213 + a DupelessSeq not be equal to a list with duplicated elements 0.0s
1214 + a DupelessSeq not be equal to a set with the same elements 0.0s
1215 + a DupelessSeq allow appending an element 0.002s
1216 + a DupelessSeq allow appending a list 0.001s
1217 + a non-empty dupelessSeq be flattened 0.009s
1218 + a DupelessSeq be converted to a NonEmptyDupelessSeq if it is nonEmpty 0.0s
1219 + takeUpTo work for an empty iterator 0.011s
1220 + safe group by for a Set work 0.014s
1221 + takeUpTo work for a collection where the first element does not match predicate 0.002s
1222 + the empty DupelessSeq be a singleton 0.005s
1223 + a non-empty dupelessSeq be flatMapped to another non-empty dupelessSeq 0.006s
1224 + takeUpTo take elements from the front of the iterator until the first element that fails the test 0.002s
1225 + the empty DupelessSeq not be converted to a NonEmptyDupelessSeq 0.001s
1226 + takeUpTo not progress the underlying iterator beyond the first failed element 0.0s
1227 + takeUpTo return an iterator with a known size if the underlying iterator is empty 0.0s
1228 + safe group by for a NonEmptyDupelessSeq work 0.004s
1229 + takeUpTo return an iterator with a known size if the head does not match the predicate 0.0s
1230 + a non-empty dupelessSeq be flatMapped to a possibly empty collection 0.002s
1231 + the DupelessSeq builder build the empty seq 0.002s
1232 + the empty DupelessSeq build a seq with 2 distinct items 0.001s
1233 + a non-empty dupelessSeq be converted to an ArraySeq 0.001s
1234 + a non-empty dupelessSeq be converted to a NonEmptySet 0.0s
1235 + safe group by for a NonEmptySet work 0.003s
1236 + the empty DupelessSeq iterate in the order of first insertion 0.002s
1237 + takeUpTo return an unknown size if the head matches the predicate 0.005s
1238 + the empty DupelessSeq be cleared 0.001s
1239 + the empty DupelessSeq append multiple elements at once 0.0s
1240 + a non-empty dupelessSeq be grouped 0.003s
1241 + the empty DupelessSeq accept a size hint 0.001s
1242 + the empty DupelessSeq be converted to an ArraySeq 0.001s
1243 + the empty DupelessSeq allow appending an element 0.0s
1244 + the empty DupelessSeq allow appending a list 0.0s
1245au.id.tmm.collections.syntax.SeqOpsSpec:
1246 + finding every nth element return empty for an empty seq 0.001s
1247 + finding every nth element return the first element if there are less than n elements 0.0s
1248au.id.tmm.collections.syntax.IteratorOpsSpec:
1249 + finding every nth element return every nth element 0.003s
1250 + readAtMost read the first n elements of the iterator 0.004s
1251 + readAtMost leave the underlying iterator iterating through the subsequent elements 0.0s
1252 + readAtMost read only as many elements remain in the iterator 0.0s
1253 + finding every nth element drop any extra elements 0.003s
1254 + readUntil read until encountering an element matching the condition 0.003s
1255 + readUntil leave the underlying iterator iterating through the subsequent elements 0.001s
1256 + readUntil read only as many elements remain in the iterator 0.0s
1257au.id.tmm.collections.syntax.IterableOpsSpec:
1258 + readAtMostUntil read until encountering an element matching the condition if that is less than the size limit 0.001s
1259 + readAtMostUntil read up to the size limit if no elements match condition 0.001s
1260 + at most one return None for an empty iterable 0.004s
1261 + readAtMostUntil leave the underlying iterator iterating through the subsequent elements when hitting the number limit 0.002s
1262 + at most one return Some for a single element list 0.0s
1263 + readAtMostUntil leave the underlying iterator iterating through the subsequent elements when finding an element that matches 0.001s
1264 + at most one return an error for a 2 element list 0.001s
1265 + at most one return an error for an infinitely sized list 0.001s
1266 + only element return an error for an empty iterable 0.001s
1267 + only element return the element for a 1 element iterable 0.0s
1268 + only element return an error for a 2 element list 0.001s
1269 + only element return an error for an infinitely sized list 0.001s
1270 + head or error return an error for an empty iterable 0.001s
1271 + head or error return the element for a 1 element iterable 0.0s
1272 + head or error return the first element for a 2 element list 0.0s
1273 + head or error return the first element for an infinitely sized list 0.001s
1274 + last or error return an error for an empty iterable 0.001s
1275 + last or error return the element for a 1 element iterable 0.001s
1276 + last or error return an error for a 2 element list 0.0s
1277 + emptyOr return unit for an empty iterable 0.002s
1278 + emptyOr return an error if the iterable is nonempty 0.0s
1279 + count occurrences count the occurances of each element 0.002s
1280 + count occurrences return an empty map for an empty collection 0.0s
1281 + groupByKey group by the key for a list of tuples 0.002s
1282 + groupByKey group by the the key for a Set of tuples 0.0s
1283 + groupByKey return an empty map for an empty list of tuples 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": 13630, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1292 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1293 "test-compile": {"status": "ok", "tookMs": 5182, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1294 "test": {"status": "ok", "tookMs": 22863, "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": 1128, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1302 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1303 "test-compile": {"status": "ok", "tookMs": 1751, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1304 "test": {"status": "ok", "tookMs": 960, "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": 54, "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": 256, "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": 125, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1322 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1323 "test-compile": {"status": "ok", "tookMs": 115, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1324 "test": {"status": "ok", "tookMs": 125, "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: 53 s, completed Jan 13, 2026, 3:09:14 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.