Build Logs
tmccarthy/tmm-scala-collections • 3.8.0-RC4:2025-12-22
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.755s.
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 rootJS/crossScalaVersions
88OpenCB::Changing crossVersion 3.1.3 -> 3.7.4 in circe/crossScalaVersions
89OpenCB::Changing crossVersion 3.1.3 -> 3.7.4 in core/crossScalaVersions
90OpenCB::Changing crossVersion 3.1.3 -> 3.7.4 in rootNative/crossScalaVersions
91OpenCB::Changing crossVersion 3.1.3 -> 3.7.4 in root/crossScalaVersions
92[info] set scmInfo to https://github.com/tmccarthy/tmm-scala-collections
93OpenCB::Changing crossVersion 3.1.3 -> 3.7.4 in cats/crossScalaVersions
94OpenCB::Changing crossVersion 3.1.3 -> 3.7.4 in rootJVM/crossScalaVersions
95OpenCB::Changing crossVersion 3.1.3 -> 3.7.4 in scalaCheck/crossScalaVersions
96[info] set current project to tmm-scala-collections (in build file:/build/repo/)
97[info] Setting Scala version to 3.7.4 on 8 projects.
98[info] Switching Scala version on:
99[info] * root (2.13.8, 3.7.4)
100[info] rootJS (2.13.8, 3.7.4)
101[info] rootJVM (2.13.8, 3.7.4)
102[info] rootNative (2.13.8, 3.7.4)
103[info] circe (2.13.8, 3.7.4)
104[info] cats (2.13.8, 3.7.4)
105[info] core (2.13.8, 3.7.4)
106[info] scalaCheck (2.13.8, 3.7.4)
107[info] Excluding projects:
108[info] Reapplying settings...
109[info] set scmInfo to https://github.com/tmccarthy/tmm-scala-collections
110[info] set current project to tmm-scala-collections (in build file:/build/repo/)
111Execute mapScalacOptions: -rewrite,REQUIRE:-source:3.4-migration,-Wconf:msg=can be rewritten automatically under:s -indent,-no-indent,-new-syntax,,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
112[info] Reapplying settings...
113[info] set scmInfo to https://github.com/tmccarthy/tmm-scala-collections
114[info] set current project to tmm-scala-collections (in build file:/build/repo/)
115[info] Defining Global / credentials, cats / credentials and 6 others.
116[info] The new values will be used by allCredentials, cats / allCredentials and 45 others.
117[info] Run `last` for details.
118[info] Reapplying settings...
119[info] set scmInfo to https://github.com/tmccarthy/tmm-scala-collections
120[info] set current project to tmm-scala-collections (in build file:/build/repo/)
121Execute excludeLibraryDependency: com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}
122[info] Reapplying settings...
123OpenCB::Failed to reapply settings in excludeLibraryDependency: Reference to undefined setting:
124
125 Global / allExcludeDependencies from Global / allExcludeDependencies (CommunityBuildPlugin.scala:331)
126 Did you mean allExcludeDependencies ?
127 , retry without global scopes
128[info] Reapplying settings...
129[info] set scmInfo to https://github.com/tmccarthy/tmm-scala-collections
130[info] set current project to tmm-scala-collections (in build file:/build/repo/)
131Execute removeScalacOptionsStartingWith: -P:wartremover
132[info] Reapplying settings...
133[info] set scmInfo to https://github.com/tmccarthy/tmm-scala-collections
134[info] set current project to tmm-scala-collections (in build file:/build/repo/)
135[success] Total time: 0 s, completed Dec 22, 2025, 6:51:40 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/DupelessSeq.scala]
151[info] [patched file /build/repo/core/src/main/scala/au/id/tmm/collections/NonEmptyMap.scala]
152[warn] one warning found
153[info] done compiling
154[info] compiling 6 Scala sources to /build/repo/scalacheck/target/scala-3.7.4/classes ...
155[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
156[warn] one warning found
157[info] done compiling
158[info] compiling 21 Scala sources to /build/repo/cats/target/scala-3.7.4/classes ...
159[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
160[info] [patched file /build/repo/cats/src/main/scala/au/id/tmm/collections/cats/instances/unlawful/NonEmptySetUnlawfulInstances.scala]
161[info] [patched file /build/repo/cats/src/main/scala/au/id/tmm/collections/cats/instances/DupelessSeqInstances.scala]
162[info] [patched file /build/repo/cats/src/main/scala/au/id/tmm/collections/cats/instances/NonEmptyMapInstances.scala]
163[info] [patched file /build/repo/cats/src/main/scala/au/id/tmm/collections/cats/instances/NonEmptySetInstances.scala]
164[info] [patched file /build/repo/cats/src/main/scala/au/id/tmm/collections/cats/instances/NonEmptyArraySeqInstances.scala]
165[info] [patched file /build/repo/cats/src/main/scala/au/id/tmm/collections/cats/instances/NonEmptyDupelessSeqInstances.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/unlawful/MapUnlawfulInstancesSpec.scala]
188[info] [patched file /build/repo/cats/src/test/scala/au/id/tmm/collections/cats/instances/NonEmptyDupelessSeqInstancesLawsSpec.scala]
189[warn] one warning found
190[info] done compiling
191[info] compiling 3 Scala sources to /build/repo/cats/target/scala-3.7.4/test-classes ...
192[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
193[warn] one warning found
194[info] done compiling
195Starting build for ProjectRef(file:/build/repo/,circe) (tmm-scala-collections-circe)... [1/4]
196Compile scalacOptions: -encoding, UTF-8, -unchecked, -language:implicitConversions, -Ykind-projector, -rewrite, -Wconf:msg=can be rewritten automatically under:s, -source:3.4-migration
197[info] compiling 8 Scala sources to /build/repo/circe/target/scala-3.7.4/classes ...
198[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
199[warn] one warning found
200[info] done compiling
201[info] compiling 7 Scala sources to /build/repo/circe/target/scala-3.7.4/test-classes ...
202[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
203[info] [patched file /build/repo/circe/src/test/scala/au/id/tmm/collections/circe/codecs/ArraySeqDecodersSpec.scala]
204[info] [patched file /build/repo/circe/src/test/scala/au/id/tmm/collections/circe/codecs/NonEmptyMapCodecsSpec.scala]
205[warn] one warning found
206[info] done compiling
207[info] compiling 2 Scala sources to /build/repo/circe/target/scala-3.7.4/test-classes ...
208[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
209[warn] one warning found
210[info] done compiling
211Starting build for ProjectRef(file:/build/repo/,core) (tmm-scala-collections-core)... [2/4]
212Compile scalacOptions: -encoding, UTF-8, -unchecked, -language:implicitConversions, -Ykind-projector, -rewrite, -Wconf:msg=can be rewritten automatically under:s, -source:3.4-migration
213[info] compiling 11 Scala sources to /build/repo/core/target/scala-3.7.4/test-classes ...
214[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
215[info] [patched file /build/repo/core/src/test/scala/au/id/tmm/collections/syntax/IteratorOpsSpec.scala]
216[info] [patched file /build/repo/core/src/test/scala/au/id/tmm/collections/NonEmptyArraySeqSpec.scala]
217[info] [patched file /build/repo/core/src/test/scala/au/id/tmm/collections/DupelessSeqSpec.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": 14606, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
232 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
233 "test-compile": {"status": "ok", "tookMs": 8813, "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": 1007, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
242 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
243 "test-compile": {"status": "ok", "tookMs": 1699, "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": 54, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
252 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
253 "test-compile": {"status": "ok", "tookMs": 1813, "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": 99, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
262 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
263 "test-compile": {"status": "ok", "tookMs": 144, "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: 81 s (0:01:21.0), completed Dec 22, 2025, 6:53:01 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 b535bb1] 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-RC4
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-RC4
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-RC4
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-RC4
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-RC4"
327"++3.8.0-RC4 -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-RC4 """{"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-RC4
343OpenCB::Changing crossVersion 3.1.3 -> 3.8.0-RC4 in rootJS/crossScalaVersions
344OpenCB::Changing crossVersion 3.1.3 -> 3.8.0-RC4 in circe/crossScalaVersions
345OpenCB::Changing crossVersion 3.1.3 -> 3.8.0-RC4 in root/crossScalaVersions
346OpenCB::Changing crossVersion 3.1.3 -> 3.8.0-RC4 in rootNative/crossScalaVersions
347OpenCB::Changing crossVersion 3.1.3 -> 3.8.0-RC4 in cats/crossScalaVersions
348OpenCB::Changing crossVersion 3.1.3 -> 3.8.0-RC4 in core/crossScalaVersions
349[info] set scmInfo to https://github.com/tmccarthy/tmm-scala-collections
350OpenCB::Changing crossVersion 3.1.3 -> 3.8.0-RC4 in rootJVM/crossScalaVersions
351OpenCB::Changing crossVersion 3.1.3 -> 3.8.0-RC4 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-RC4 on 8 projects.
354[info] Switching Scala version on:
355[info] * root (2.13.8, 3.8.0-RC4)
356[info] rootJS (2.13.8, 3.8.0-RC4)
357[info] rootJVM (2.13.8, 3.8.0-RC4)
358[info] rootNative (2.13.8, 3.8.0-RC4)
359[info] circe (2.13.8, 3.8.0-RC4)
360[info] cats (2.13.8, 3.8.0-RC4)
361[info] core (2.13.8, 3.8.0-RC4)
362[info] scalaCheck (2.13.8, 3.8.0-RC4)
363[info] Excluding projects:
364[info] Reapplying settings...
365[info] set scmInfo to https://github.com/tmccarthy/tmm-scala-collections
366[info] set current project to tmm-scala-collections (in build file:/build/repo/)
367Execute mapScalacOptions: ,REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
368[info] Reapplying settings...
369[info] set scmInfo to https://github.com/tmccarthy/tmm-scala-collections
370[info] set current project to tmm-scala-collections (in build file:/build/repo/)
371[info] Defining Global / credentials, cats / credentials and 6 others.
372[info] The new values will be used by allCredentials, cats / allCredentials and 45 others.
373[info] Run `last` for details.
374[info] Reapplying settings...
375[info] set scmInfo to https://github.com/tmccarthy/tmm-scala-collections
376[info] set current project to tmm-scala-collections (in build file:/build/repo/)
377Execute excludeLibraryDependency: com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}
378[info] Reapplying settings...
379OpenCB::Failed to reapply settings in excludeLibraryDependency: Reference to undefined setting:
380
381 Global / allExcludeDependencies from Global / allExcludeDependencies (CommunityBuildPlugin.scala:331)
382 Did you mean allExcludeDependencies ?
383 , retry without global scopes
384[info] Reapplying settings...
385[info] set scmInfo to https://github.com/tmccarthy/tmm-scala-collections
386[info] set current project to tmm-scala-collections (in build file:/build/repo/)
387Execute removeScalacOptionsStartingWith: -P:wartremover
388[info] Reapplying settings...
389[info] set scmInfo to https://github.com/tmccarthy/tmm-scala-collections
390[info] set current project to tmm-scala-collections (in build file:/build/repo/)
391[success] Total time: 0 s, completed Dec 22, 2025, 6:53:15 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-RC4/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-RC4/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-RC4/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-RC4/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.NonEmptyDupelessSeqInstancesSpec:
420 + the monoid for a map over keys should combine values 0.088s
421 + the semigroup instance for NonEmptyDupelessSeq can be found with a simple import 0.089s
422 + the show instance for NonEmptyDupelessSeq should produce a sensible string 0.02s
423au.id.tmm.collections.cats.instances.MapOverKeysInstancesLawsSpec:
424au.id.tmm.collections.cats.instances.NonEmptyMapInstancesLawsSpec:
425au.id.tmm.collections.cats.instances.NonEmptyDupelessSeqInstancesLawsSpec:
426au.id.tmm.collections.cats.instances.NonEmptySetInstancesLawsSpec:
427==> i au.id.tmm.collections.cats.instances.NonEmptySetInstancesLawsSpec.Eq for tmmUtils NonEmptySet: eq.antisymmetry eq ignored 0.0s
428 + Eq for tmmUtils NonEmptySet: eq.reflexivity eq 0.08s
429 + Eq for NonEmptyDupelessSeq: eq.antisymmetry eq 0.159s
430 + Eq for tmmUtils NonEmptySet: eq.symmetry eq 0.053s
431 + Eq for NonEmptyDupelessSeq: eq.reflexivity eq 0.036s
432 + Eq for tmmUtils NonEmptySet: eq.transitivity eq 0.111s
433 + Eq for NonEmptyDupelessSeq: eq.symmetry eq 0.095s
434 + Hash for tmmUtils NonEmptySet: hash.antisymmetry eq 0.057s
435 + Eq for tmmUtils NonEmptyMap: eq.antisymmetry eq 0.423s
436 + Eq for NonEmptyDupelessSeq: eq.transitivity eq 0.084s
437 + Hash for tmmUtils NonEmptySet: hash.hash compatibility 0.053s
438 + Hash for tmmUtils NonEmptySet: hash.reflexivity eq 0.019s
439 + Hash for NonEmptyDupelessSeq: hash.antisymmetry eq 0.047s
440 + Eq for tmmUtils NonEmptyMap: eq.reflexivity eq 0.058s
441 + Hash for tmmUtils NonEmptySet: hash.same as scala hashing 0.026s
442 + Hash for tmmUtils NonEmptySet: hash.same as universal hash 0.02s
443 + Hash for NonEmptyDupelessSeq: hash.hash compatibility 0.041s
444 + Hash for NonEmptyDupelessSeq: hash.reflexivity eq 0.011s
445 + Hash for tmmUtils NonEmptySet: hash.symmetry eq 0.033s
446 + Hash for NonEmptyDupelessSeq: hash.same as scala hashing 0.057s
447 + Eq for tmmUtils NonEmptyMap: eq.symmetry eq 0.122s
448 + Hash for tmmUtils NonEmptySet: hash.transitivity eq 0.064s
449 + Functor for Map over keys: functor.covariant composition 0.719s
450 + Hash for NonEmptyDupelessSeq: hash.same as universal hash 0.057s
451 + Functor for Map over keys: functor.covariant identity 0.037s
452 + Hash for NonEmptyDupelessSeq: hash.symmetry eq 0.037s
453 + Semilattice for tmmUtils NonEmptySet: semilattice.associative 0.076s
454 + Hash for NonEmptyDupelessSeq: hash.transitivity eq 0.029s
455 + Eq for tmmUtils NonEmptyMap: eq.transitivity eq 0.107s
456 + Hash for tmmUtils NonEmptyMap: hash.antisymmetry eq 0.037s
457 + Band for NonEmptyDupelessSeq: band.associative 0.073s
458 + Hash for tmmUtils NonEmptyMap: hash.hash compatibility 0.048s
459 + Hash for tmmUtils NonEmptyMap: hash.reflexivity eq 0.021s
460 + Hash for tmmUtils NonEmptyMap: hash.same as scala hashing 0.058s
461 + Functor for Map over keys: functor.invariant composition 0.291s
462 + Semilattice for tmmUtils NonEmptySet: semilattice.combineAllOption 0.279s
463 + Semilattice for tmmUtils NonEmptySet: semilattice.commutative 0.008s
464 + Semilattice for tmmUtils NonEmptySet: semilattice.idempotency 0.004s
465 + Functor for Map over keys: functor.invariant identity 0.026s
466 + Hash for tmmUtils NonEmptyMap: hash.same as universal hash 0.109s
467 + MonoidK for Map over keys: monoidK.monoidK left identity 0.048s
468 + MonoidK for Map over keys: monoidK.monoidK right identity 0.032s
469 + Hash for tmmUtils NonEmptyMap: hash.symmetry eq 0.081s
470 + Hash for tmmUtils NonEmptyMap: hash.transitivity eq 0.099s
471 + MonoidK for Map over keys: monoidK.semigroupK associative 0.136s
472au.id.tmm.collections.cats.instances.NonEmptySetInstancesSpec:
473 + the show for a NonEmptySet should produce a sensible string 0.001s
474 + the traverse for a NonEmptySet should traverse the set 0.007s
475au.id.tmm.collections.cats.instances.DupelessSeqInstancesLawsSpec:
476 + Eq for DupelessSeq: eq.antisymmetry eq 0.008s
477 + Eq for DupelessSeq: eq.reflexivity eq 0.008s
478 + Eq for DupelessSeq: eq.symmetry eq 0.01s
479 + Eq for DupelessSeq: eq.transitivity eq 0.014s
480 + Hash for DupelessSeq: hash.antisymmetry eq 0.013s
481 + Hash for DupelessSeq: hash.hash compatibility 0.007s
482 + Hash for DupelessSeq: hash.reflexivity eq 0.005s
483 + Hash for DupelessSeq: hash.same as scala hashing 0.012s
484 + Hash for DupelessSeq: hash.same as universal hash 0.014s
485 + Hash for DupelessSeq: hash.symmetry eq 0.008s
486 + Hash for DupelessSeq: hash.transitivity eq 0.014s
487 + Semilattice for tmmUtils NonEmptySet: semilattice.intercalateCombineAllOption 0.444s
488 + Monoid for DupelessSeq: monoid.associative 0.036s
489 + Semilattice for tmmUtils NonEmptySet: semilattice.intercalateIntercalates 0.03s
490 + Monoid for DupelessSeq: monoid.collect0 0.011s
491 + Semilattice for tmmUtils NonEmptySet: semilattice.intercalateRepeat1 0.013s
492 + Semilattice for tmmUtils NonEmptySet: semilattice.intercalateRepeat2 0.01s
493 + UnorderedTraverse for tmmUtils NonEmptyMap: unorderedTraverse.contains all elements from itself 0.308s
494 + Semilattice for tmmUtils NonEmptySet: semilattice.repeat1 0.006s
495 + Semilattice for tmmUtils NonEmptySet: semilattice.repeat2 0.005s
496 + UnorderedTraverse for tmmUtils NonEmptyMap: unorderedTraverse.contains consistent with exists 0.034s
497 + UnorderedTraverse for tmmUtils NonEmptyMap: unorderedTraverse.contains consistent with forall 0.03s
498 + UnorderedTraverse for tmmUtils NonEmptyMap: unorderedTraverse.exists is lazy 0.025s
499 + UnorderedTraverse for tmmUtils NonEmptyMap: unorderedTraverse.forall consistent with exists 0.048s
500 + Semilattice for tmmUtils NonEmptySet: semilattice.reverseCombineAllOption 0.162s
501 + Semilattice for tmmUtils NonEmptySet: semilattice.reverseRepeat1 0.003s
502 + Semilattice for tmmUtils NonEmptySet: semilattice.reverseRepeat2 0.003s
503 + Semilattice for tmmUtils NonEmptySet: semilattice.reverseReverses 0.009s
504 + UnorderedTraverse for tmmUtils NonEmptyMap: unorderedTraverse.forall is lazy 0.059s
505 + SemigroupK for tmmUtils NonEmptySet: semigroupK.semigroupK associative 0.016s
506 + UnorderedTraverse for tmmUtils NonEmptyMap: unorderedTraverse.forall true if empty 0.028s
507 + UnorderedTraverse for tmmUtils NonEmptyMap: unorderedTraverse.nonEmpty reference 0.025s
508 + UnorderedTraverse for tmmUtils NonEmptySet: unorderedTraverse.contains all elements from itself 0.081s
509 + UnorderedTraverse for tmmUtils NonEmptyMap: unorderedTraverse.unordered traverse consistent with sequence 0.037s
510 + UnorderedTraverse for tmmUtils NonEmptySet: unorderedTraverse.contains consistent with exists 0.015s
511 + UnorderedTraverse for tmmUtils NonEmptySet: unorderedTraverse.contains consistent with forall 0.013s
512 + UnorderedTraverse for tmmUtils NonEmptySet: unorderedTraverse.exists is lazy 0.032s
513 + UnorderedTraverse for tmmUtils NonEmptySet: unorderedTraverse.forall consistent with exists 0.005s
514 + UnorderedTraverse for tmmUtils NonEmptySet: unorderedTraverse.forall is lazy 0.006s
515 + UnorderedTraverse for tmmUtils NonEmptySet: unorderedTraverse.forall true if empty 0.007s
516 + UnorderedTraverse for tmmUtils NonEmptySet: unorderedTraverse.nonEmpty reference 0.01s
517 + UnorderedTraverse for tmmUtils NonEmptySet: unorderedTraverse.unordered traverse consistent with sequence 0.034s
518 + UnorderedTraverse for tmmUtils NonEmptyMap: unorderedTraverse.unordered traverse parallel composition 0.134s
519 + UnorderedTraverse for tmmUtils NonEmptySet: unorderedTraverse.unordered traverse parallel composition 0.03s
520 + UnorderedTraverse for tmmUtils NonEmptySet: unorderedTraverse.unordered traverse sequential composition 0.035s
521 + UnorderedTraverse for tmmUtils NonEmptySet: unorderedTraverse.unorderedFold consistent with unorderedFoldMap 0.007s
522 + UnorderedTraverse for tmmUtils NonEmptyMap: unorderedTraverse.unordered traverse sequential composition 0.164s
523 + UnorderedTraverse for tmmUtils NonEmptyMap: unorderedTraverse.unorderedFold consistent with unorderedFoldMap 0.032s
524 + Functor for tmmUtils NonEmptyMap: functor.covariant composition 0.049s
525 + Functor for tmmUtils NonEmptyMap: functor.covariant identity 0.018s
526 + Functor for tmmUtils NonEmptyMap: functor.invariant composition 0.043s
527 + Band for NonEmptyDupelessSeq: band.combineAllOption 1.434s
528 + Band for NonEmptyDupelessSeq: band.idempotency 0.005s
529 + Functor for tmmUtils NonEmptyMap: functor.invariant identity 0.036s
530 + Align for tmmUtils NonEmptyMap: align.align associativity 0.244s
531 + Monad for NonEmptySet: monad.ap consistent with product + map 0.544s
532 + Monad for NonEmptySet: monad.applicative homomorphism 0.007s
533 + Monad for NonEmptySet: monad.applicative identity 0.006s
534 + Monad for NonEmptySet: monad.applicative interchange 0.024s
535 + Monad for NonEmptySet: monad.applicative map 0.012s
536 + Monad for NonEmptySet: monad.applicative unit 0.002s
537 + Align for tmmUtils NonEmptyMap: align.align homomorphism 0.097s
538 + Monoid for DupelessSeq: monoid.combine all 1.142s
539 + Align for tmmUtils NonEmptyMap: align.alignWith consistent 0.067s
540 + CommutativeSemigroup for tmmUtils NonEmptyMap: commutativeSemigroup.associative 0.045s
541 + Band for NonEmptyDupelessSeq: band.intercalateCombineAllOption 1.044s
542 + Band for NonEmptyDupelessSeq: band.intercalateIntercalates 0.012s
543 + Band for NonEmptyDupelessSeq: band.intercalateRepeat1 0.004s
544 + Band for NonEmptyDupelessSeq: band.intercalateRepeat2 0.007s
545 + Band for NonEmptyDupelessSeq: band.repeat1 0.003s
546 + Band for NonEmptyDupelessSeq: band.repeat2 0.002s
547 + CommutativeSemigroup for tmmUtils NonEmptyMap: commutativeSemigroup.combineAllOption 0.632s
548 + CommutativeSemigroup for tmmUtils NonEmptyMap: commutativeSemigroup.commutative 0.029s
549 + Monoid for DupelessSeq: monoid.combineAllOption 1.001s
550 + Band for NonEmptyDupelessSeq: band.reverseCombineAllOption 0.686s
551 + Band for NonEmptyDupelessSeq: band.reverseRepeat1 0.004s
552 + Band for NonEmptyDupelessSeq: band.reverseRepeat2 0.002s
553 + Band for NonEmptyDupelessSeq: band.reverseReverses 0.008s
554 + SemigroupK for NonEmptyDupelessSeq: semigroupK.semigroupK associative 0.014s
555 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.collectFirst reference 0.025s
556 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.collectFirstSome reference 0.011s
557 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.contains all elements from itself 0.06s
558 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.contains consistent with exists 0.011s
559 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.contains consistent with forall 0.007s
560 + CommutativeSemigroup for tmmUtils NonEmptyMap: commutativeSemigroup.intercalateCombineAllOption 0.777s
561 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.covariant composition 0.041s
562 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.covariant identity 0.013s
563 + CommutativeSemigroup for tmmUtils NonEmptyMap: commutativeSemigroup.intercalateIntercalates 0.068s
564 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.dropWhile_ reference 0.029s
565 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.exists consistent with find 0.006s
566 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.exists is lazy 0.004s
567 + CommutativeSemigroup for tmmUtils NonEmptyMap: commutativeSemigroup.intercalateRepeat1 0.033s
568 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.filter_ reference 0.006s
569 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.fold reference 0.012s
570 + CommutativeSemigroup for tmmUtils NonEmptyMap: commutativeSemigroup.intercalateRepeat2 0.029s
571 + CommutativeSemigroup for tmmUtils NonEmptyMap: commutativeSemigroup.repeat1 0.013s
572 + CommutativeSemigroup for tmmUtils NonEmptyMap: commutativeSemigroup.repeat2 0.014s
573 + Monoid for DupelessSeq: monoid.intercalateCombineAllOption 0.776s
574 + Monoid for DupelessSeq: monoid.intercalateIntercalates 0.008s
575 + Monoid for DupelessSeq: monoid.intercalateRepeat1 0.003s
576 + Monoid for DupelessSeq: monoid.intercalateRepeat2 0.006s
577 + Monoid for DupelessSeq: monoid.is id 0.003s
578 + Monoid for DupelessSeq: monoid.left identity 0.006s
579 + Monoid for DupelessSeq: monoid.repeat0 0.005s
580 + Monoid for DupelessSeq: monoid.repeat1 0.001s
581 + Monoid for DupelessSeq: monoid.repeat2 0.002s
582 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.foldLeft consistent with foldMap 0.25s
583 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.foldM identity 0.017s
584 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.foldRight consistent with foldMap 0.011s
585 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.foldRight is lazy 0.004s
586 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.foldRightDefer consistency 0.019s
587 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.forall consistent with exists 0.006s
588 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.forall is lazy 0.004s
589 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.forall true if empty 0.004s
590 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.get reference 0.024s
591 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.invariant composition 0.035s
592 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.invariant identity 0.012s
593 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.nonEmpty reference 0.002s
594 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.nonEmptySequence_ consistent with sequence_ 0.024s
595 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.nonEmptyTraverse derive reduceMap 0.056s
596 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.nonEmptyTraverse identity 0.018s
597 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.nonEmptyTraverse parallel composition 0.036s
598 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.nonEmptyTraverse sequential composition 0.033s
599 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.nonEmptyTraverse_ consistent with traverse_ 0.007s
600 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.ordered consistency 0.005s
601 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.reduce consistent with reduceLeft 0.008s
602 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.reduceLeftOption consistent with reduceLeftToOption 0.015s
603 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.reduceLeftTo consistent with reduceMap 0.015s
604 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.reduceRight consistent with reduceRightOption 0.018s
605 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.reduceRightOption consistent with reduceRightToOption 0.014s
606 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.reduceRightTo consistent with reduceMap 0.013s
607 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.reduceRightTo consistent with reduceRightToOption 0.017s
608 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.size consistent with reduceMap 0.012s
609 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.takeWhile_ reference 0.008s
610 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.toList reference 0.007s
611 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.traverse derive foldMap 0.064s
612 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.traverse identity 0.016s
613 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.traverse order consistency 0.027s
614 + CommutativeSemigroup for tmmUtils NonEmptyMap: commutativeSemigroup.reverseCombineAllOption 0.797s
615 + CommutativeSemigroup for tmmUtils NonEmptyMap: commutativeSemigroup.reverseRepeat1 0.018s
616 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.traverse parallel composition 0.031s
617 + CommutativeSemigroup for tmmUtils NonEmptyMap: commutativeSemigroup.reverseRepeat2 0.022s
618 + CommutativeSemigroup for tmmUtils NonEmptyMap: commutativeSemigroup.reverseReverses 0.04s
619 + Semigroup for tmmUtils NonEmptyMap: semigroup.associative 0.044s
620 + Monoid for DupelessSeq: monoid.reverseCombineAllOption 0.811s
621 + Monoid for DupelessSeq: monoid.reverseRepeat1 0.002s
622 + Monoid for DupelessSeq: monoid.reverseRepeat2 0.003s
623 + Monoid for DupelessSeq: monoid.reverseReverses 0.01s
624 + Monoid for DupelessSeq: monoid.right identity 0.002s
625 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.traverse ref mapAccumulate 0.129s
626 + Band for DupelessSeq: band.associative 0.015s
627 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.traverse ref mapWithIndex 0.034s
628 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.traverse ref traverseWithIndexM 0.023s
629 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.traverse ref zipWithIndex 0.024s
630 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.traverse sequential composition 0.032s
631 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.traverse traverseTap 0.019s
632 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.unordered traverse consistent with sequence 0.009s
633 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.unordered traverse parallel composition 0.02s
634 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.unordered traverse sequential composition 0.021s
635 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.unorderedFold consistent with unorderedFoldMap 0.006s
636 + Monad for NonEmptyDupelessSeq: monad.ap consistent with product + map 0.284s
637 + Monad for NonEmptyDupelessSeq: monad.applicative homomorphism 0.003s
638 + Monad for NonEmptyDupelessSeq: monad.applicative identity 0.005s
639 + Monad for NonEmptyDupelessSeq: monad.applicative interchange 0.009s
640 + Monad for NonEmptyDupelessSeq: monad.applicative map 0.011s
641 + Monad for NonEmptyDupelessSeq: monad.applicative unit 0.001s
642 + Semigroup for tmmUtils NonEmptyMap: semigroup.combineAllOption 0.687s
643 + Band for DupelessSeq: band.combineAllOption 0.69s
644 + Band for DupelessSeq: band.idempotency 0.004s
645 + Monad for NonEmptySet: monad.apply composition 3.837s
646 + Monad for NonEmptySet: monad.covariant composition 0.009s
647 + Monad for NonEmptySet: monad.covariant identity 0.005s
648 + Semigroup for tmmUtils NonEmptyMap: semigroup.intercalateCombineAllOption 0.611s
649 + Semigroup for tmmUtils NonEmptyMap: semigroup.intercalateIntercalates 0.03s
650 + Semigroup for tmmUtils NonEmptyMap: semigroup.intercalateRepeat1 0.019s
651 + Semigroup for tmmUtils NonEmptyMap: semigroup.intercalateRepeat2 0.023s
652 + Semigroup for tmmUtils NonEmptyMap: semigroup.repeat1 0.011s
653 + Semigroup for tmmUtils NonEmptyMap: semigroup.repeat2 0.019s
654 + Band for DupelessSeq: band.intercalateCombineAllOption 0.749s
655 + Band for DupelessSeq: band.intercalateIntercalates 0.007s
656 + Band for DupelessSeq: band.intercalateRepeat1 0.005s
657 + Band for DupelessSeq: band.intercalateRepeat2 0.005s
658 + Band for DupelessSeq: band.repeat1 0.001s
659 + Band for DupelessSeq: band.repeat2 0.001s
660 + Semigroup for tmmUtils NonEmptyMap: semigroup.reverseCombineAllOption 0.5s
661 + Semigroup for tmmUtils NonEmptyMap: semigroup.reverseRepeat1 0.01s
662 + Semigroup for tmmUtils NonEmptyMap: semigroup.reverseRepeat2 0.021s
663 + Semigroup for tmmUtils NonEmptyMap: semigroup.reverseReverses 0.06s
664 + Functor over keys for tmmUtils NonEmptyMap: functor.covariant composition 0.096s
665 + Functor over keys for tmmUtils NonEmptyMap: functor.covariant identity 0.024s
666 + Band for DupelessSeq: band.reverseCombineAllOption 0.71s
667 + Band for DupelessSeq: band.reverseRepeat1 0.002s
668 + Band for DupelessSeq: band.reverseRepeat2 0.008s
669 + Functor over keys for tmmUtils NonEmptyMap: functor.invariant composition 0.104s
670 + Band for DupelessSeq: band.reverseReverses 0.007s
671 + MonoidK for DupelessSeq: monoidK.monoidK left identity 0.002s
672 + MonoidK for DupelessSeq: monoidK.monoidK right identity 0.003s
673 + MonoidK for DupelessSeq: monoidK.semigroupK associative 0.007s
674 + Functor over keys for tmmUtils NonEmptyMap: functor.invariant identity 0.019s
675 + Traverse for DupelessSeq: traverse.collectFirst reference 0.017s
676 + Traverse for DupelessSeq: traverse.collectFirstSome reference 0.018s
677 + SemigroupK over keys for tmmUtils NonEmptyMap: semigroupK.semigroupK associative 0.046s
678 + Traverse for DupelessSeq: traverse.contains all elements from itself 0.035s
679 + Traverse for DupelessSeq: traverse.contains consistent with exists 0.004s
680 + Traverse for DupelessSeq: traverse.contains consistent with forall 0.007s
681 + Traverse for DupelessSeq: traverse.covariant composition 0.061s
682au.id.tmm.collections.cats.instances.NonEmptyArraySeqInstancesLawsSpec:
683 + Traverse for DupelessSeq: traverse.covariant identity 0.017s
684 + Traverse for DupelessSeq: traverse.dropWhile_ reference 0.013s
685 + Traverse for DupelessSeq: traverse.exists consistent with find 0.006s
686 + Eq for NonEmptyArraySeq: eq.antisymmetry eq 0.03s
687 + Eq for NonEmptyArraySeq: eq.reflexivity eq 0.003s
688 + Traverse for DupelessSeq: traverse.exists is lazy 0.007s
689 + Eq for NonEmptyArraySeq: eq.symmetry eq 0.006s
690 + Traverse for DupelessSeq: traverse.filter_ reference 0.012s
691 + Eq for NonEmptyArraySeq: eq.transitivity eq 0.011s
692 + Hash for NonEmptyArraySeq: hash.antisymmetry eq 0.002s
693 + Traverse for DupelessSeq: traverse.fold reference 0.004s
694 + Hash for NonEmptyArraySeq: hash.hash compatibility 0.004s
695 + Hash for NonEmptyArraySeq: hash.reflexivity eq 0.001s
696 + Hash for NonEmptyArraySeq: hash.same as scala hashing 0.003s
697 + Hash for NonEmptyArraySeq: hash.same as universal hash 0.006s
698 + Hash for NonEmptyArraySeq: hash.symmetry eq 0.001s
699 + Hash for NonEmptyArraySeq: hash.transitivity eq 0.011s
700 + Monad for NonEmptySet: monad.flatMap associativity 1.35s
701 + Traverse for DupelessSeq: traverse.foldLeft consistent with foldMap 0.112s
702 + Traverse for DupelessSeq: traverse.foldM identity 0.123s
703 + Monad for NonEmptySet: monad.flatMap consistent apply 0.173s
704 + Bimonad for NonEmptyArraySeq: bimonad.ap consistent with product + map 0.269s
705 + Bimonad for NonEmptyArraySeq: bimonad.applicative homomorphism 0.002s
706 + Bimonad for NonEmptyArraySeq: bimonad.applicative identity 0.008s
707 + Bimonad for NonEmptyArraySeq: bimonad.applicative interchange 0.017s
708 + Bimonad for NonEmptyArraySeq: bimonad.applicative map 0.014s
709 + Bimonad for NonEmptyArraySeq: bimonad.applicative unit 0.006s
710 + Traverse for DupelessSeq: traverse.foldRight consistent with foldMap 0.114s
711 + Traverse for DupelessSeq: traverse.foldRight is lazy 0.007s
712 + Monad for NonEmptySet: monad.flatMap from tailRecM consistency 0.144s
713 + Monad for NonEmptySet: monad.invariant composition 0.007s
714 + Monad for NonEmptySet: monad.invariant identity 0.004s
715 + Monad for NonEmptySet: monad.map flatMap coherence 0.006s
716 + Traverse for DupelessSeq: traverse.foldRightDefer consistency 0.101s
717 + Traverse for DupelessSeq: traverse.forall consistent with exists 0.003s
718 + Traverse for DupelessSeq: traverse.forall is lazy 0.007s
719 + Traverse for DupelessSeq: traverse.forall true if empty 0.009s
720 + Monad for NonEmptySet: monad.map2/map2Eval consistency 0.066s
721 + Traverse for DupelessSeq: traverse.get reference 0.009s
722 + Traverse for DupelessSeq: traverse.invariant composition 0.025s
723 + Traverse for DupelessSeq: traverse.invariant identity 0.008s
724 + Traverse for DupelessSeq: traverse.nonEmpty reference 0.002s
725 + Traverse for DupelessSeq: traverse.ordered consistency 0.003s
726 + Traverse for DupelessSeq: traverse.reduceLeftOption consistent with reduceLeftToOption 0.007s
727 + Traverse for DupelessSeq: traverse.reduceRightOption consistent with reduceRightToOption 0.025s
728 + Traverse for DupelessSeq: traverse.takeWhile_ reference 0.006s
729 + Monad for NonEmptySet: monad.map2/product-map consistency 0.092s
730 + Traverse for DupelessSeq: traverse.toList reference 0.007s
731 + Monad for NonEmptySet: monad.monad left identity 0.006s
732 + Monad for NonEmptySet: monad.monad right identity 0.031s
733 + Monad for NonEmptySet: monad.monoidal left identity 0.024s
734 + Monad for NonEmptySet: monad.monoidal right identity 0.01s
735 + Traverse for DupelessSeq: traverse.traverse derive foldMap 0.183s
736 + Traverse for DupelessSeq: traverse.traverse identity 0.009s
737 + Traverse for DupelessSeq: traverse.traverse order consistency 0.012s
738 + Monad for NonEmptySet: monad.mproduct consistent flatMap 0.144s
739 + Traverse for DupelessSeq: traverse.traverse parallel composition 0.032s
740 + Monad for NonEmptySet: monad.productL consistent map2 0.05s
741 + Monad for NonEmptySet: monad.productR consistent map2 0.042s
742 + Traverse for DupelessSeq: traverse.traverse ref mapAccumulate 0.15s
743 + Traverse for DupelessSeq: traverse.traverse ref mapWithIndex 0.023s
744 + Traverse for DupelessSeq: traverse.traverse ref traverseWithIndexM 0.013s
745 + Monad for NonEmptySet: monad.replicateA_ consistent with replicateA.void 0.131s
746 + Traverse for DupelessSeq: traverse.traverse ref zipWithIndex 0.026s
747 + Traverse for DupelessSeq: traverse.traverse sequential composition 0.013s
748 + Traverse for DupelessSeq: traverse.traverse traverseTap 0.069s
749 + Traverse for DupelessSeq: traverse.unordered traverse consistent with sequence 0.048s
750 + Traverse for DupelessSeq: traverse.unordered traverse parallel composition 0.067s
751 + Traverse for DupelessSeq: traverse.unordered traverse sequential composition 0.039s
752 + Traverse for DupelessSeq: traverse.unorderedFold consistent with unorderedFoldMap 0.003s
753 + Monad for DupelessSeq: monad.ap consistent with product + map 0.144s
754 + Monad for DupelessSeq: monad.applicative homomorphism 0.002s
755 + Monad for DupelessSeq: monad.applicative identity 0.002s
756 + Monad for DupelessSeq: monad.applicative interchange 0.015s
757 + Monad for DupelessSeq: monad.applicative map 0.005s
758 + Monad for DupelessSeq: monad.applicative unit 0.001s
759 + Monad for NonEmptyDupelessSeq: monad.apply composition 4.265s
760 + Monad for NonEmptyDupelessSeq: monad.covariant composition 0.007s
761 + Monad for NonEmptyDupelessSeq: monad.covariant identity 0.002s
762 + Monad for NonEmptySet: monad.semigroupal associativity 2.235s
763 + Monad for NonEmptySet: monad.tailRecM consistent flatMap 0.078s
764 + Monad for NonEmptySet: monad.tailRecM stack safety 0.055s
765 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.collectFirst reference 0.01s
766 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.collectFirstSome reference 0.006s
767 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.contains all elements from itself 0.055s
768 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.contains consistent with exists 0.007s
769 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.contains consistent with forall 0.009s
770 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.covariant composition 0.017s
771 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.covariant identity 0.005s
772 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.dropWhile_ reference 0.005s
773 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.exists consistent with find 0.002s
774 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.exists is lazy 0.005s
775 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.filter_ reference 0.005s
776 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.fold reference 0.002s
777 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.foldLeft consistent with foldMap 0.003s
778 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.foldM identity 0.009s
779 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.foldRight consistent with foldMap 0.005s
780 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.foldRight is lazy 0.002s
781 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.foldRightDefer consistency 0.008s
782 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.forall consistent with exists 0.005s
783 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.forall is lazy 0.001s
784 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.forall true if empty 0.001s
785 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.get reference 0.003s
786 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.invariant composition 0.018s
787 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.invariant identity 0.002s
788 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.nonEmpty reference 0.005s
789 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.nonEmptySequence_ consistent with sequence_ 0.013s
790 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.nonEmptyTraverse derive reduceMap 0.022s
791 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.nonEmptyTraverse identity 0.027s
792 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.nonEmptyTraverse parallel composition 0.035s
793 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.nonEmptyTraverse sequential composition 0.018s
794 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.nonEmptyTraverse_ consistent with traverse_ 0.006s
795 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.ordered consistency 0.005s
796 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.reduce consistent with reduceLeft 0.007s
797 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.reduceLeftOption consistent with reduceLeftToOption 0.008s
798 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.reduceLeftTo consistent with reduceMap 0.006s
799 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.reduceRight consistent with reduceRightOption 0.008s
800 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.reduceRightOption consistent with reduceRightToOption 0.008s
801 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.reduceRightTo consistent with reduceMap 0.007s
802 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.reduceRightTo consistent with reduceRightToOption 0.009s
803 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.size consistent with reduceMap 0.005s
804 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.takeWhile_ reference 0.003s
805 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.toList reference 0.002s
806 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.traverse derive foldMap 0.007s
807 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.traverse identity 0.01s
808==> i au.id.tmm.collections.cats.instances.NonEmptySetInstancesLawsSpec.NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.traverse order consistency ignored 0.0s
809 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.traverse parallel composition 0.014s
810 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.traverse ref mapAccumulate 0.027s
811 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.traverse ref mapWithIndex 0.022s
812 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.traverse ref traverseWithIndexM 0.01s
813 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.traverse ref zipWithIndex 0.014s
814 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.traverse sequential composition 0.012s
815 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.traverse traverseTap 0.012s
816 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.unordered traverse consistent with sequence 0.003s
817 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.unordered traverse parallel composition 0.041s
818 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.unordered traverse sequential composition 0.012s
819 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.unorderedFold consistent with unorderedFoldMap 0.006s
820au.id.tmm.collections.cats.syntax.safegroupby.SafeGroupBySyntaxSpec:
821 + safe group by for Set should work 0.017s
822 + safe group by for Set should work for groupMap 0.001s
823 + safe group by for Set should work for the key value 0.003s
824 + safe group by for List should work for a list of tuples 0.019s
825 + safe group by for List should work for an empty list 0.001s
826au.id.tmm.collections.cats.syntax.NonEmptySetOpsSpec:
827 + a non-empty set can be converted to a cats NonEmptyList 0.007s
828 + a non-empty set can be converted to a cats NonEmptyVector 0.009s
829 + a non-empty list can be converted to a tmmUtils NonEmptySet 0.001s
830 + a non-empty vector can be converted to a tmmUtils NonEmptySet 0.001s
831au.id.tmm.collections.cats.syntax.ArraySeqConversionsSpec:
832 + a non-empty arrayseq can be converted to a non-empty vector 0.001s
833 + a non-empty vector can be converted to a non-empty arrayseq 0.0s
834 + a non-empty vector can be converted to a specialised non-empty arraySeq 0.0s
835au.id.tmm.collections.cats.instances.unlawful.NonEmptyMapUnlawfulInstancesSpec:
836 + Traverse for NonEmptyMap: traverse.collectFirst reference 0.02s
837 + Traverse for NonEmptyMap: traverse.collectFirstSome reference 0.021s
838 + Traverse for NonEmptyMap: traverse.contains all elements from itself 0.047s
839 + Traverse for NonEmptyMap: traverse.contains consistent with exists 0.017s
840 + Traverse for NonEmptyMap: traverse.contains consistent with forall 0.019s
841 + Traverse for NonEmptyMap: traverse.covariant composition 0.063s
842 + Traverse for NonEmptyMap: traverse.covariant identity 0.028s
843 + Traverse for NonEmptyMap: traverse.dropWhile_ reference 0.029s
844 + Traverse for NonEmptyMap: traverse.exists consistent with find 0.014s
845 + Traverse for NonEmptyMap: traverse.exists is lazy 0.013s
846 + Monad for DupelessSeq: monad.apply composition 3.001s
847 + Monad for DupelessSeq: monad.covariant composition 0.006s
848 + Traverse for NonEmptyMap: traverse.filter_ reference 0.044s
849 + Monad for DupelessSeq: monad.covariant identity 0.003s
850 + Traverse for NonEmptyMap: traverse.fold reference 0.014s
851 + Traverse for NonEmptyMap: traverse.foldLeft consistent with foldMap 0.023s
852 + Traverse for NonEmptyMap: traverse.foldM identity 0.02s
853 + Traverse for NonEmptyMap: traverse.foldRight consistent with foldMap 0.029s
854 + Traverse for NonEmptyMap: traverse.foldRight is lazy 0.033s
855 + Traverse for NonEmptyMap: traverse.foldRightDefer consistency 0.02s
856 + Traverse for NonEmptyMap: traverse.forall consistent with exists 0.012s
857 + Traverse for NonEmptyMap: traverse.forall is lazy 0.011s
858 + Traverse for NonEmptyMap: traverse.forall true if empty 0.012s
859 + Traverse for NonEmptyMap: traverse.get reference 0.017s
860 + Traverse for NonEmptyMap: traverse.invariant composition 0.021s
861 + Traverse for NonEmptyMap: traverse.invariant identity 0.017s
862 + Traverse for NonEmptyMap: traverse.nonEmpty reference 0.024s
863 + Monad for NonEmptyDupelessSeq: monad.flatMap associativity 2.424s
864 + Traverse for NonEmptyMap: traverse.ordered consistency 0.026s
865 + Traverse for NonEmptyMap: traverse.reduceLeftOption consistent with reduceLeftToOption 0.021s
866 + Traverse for NonEmptyMap: traverse.reduceRightOption consistent with reduceRightToOption 0.027s
867 + Traverse for NonEmptyMap: traverse.takeWhile_ reference 0.019s
868 + Traverse for NonEmptyMap: traverse.toList reference 0.019s
869 + Traverse for NonEmptyMap: traverse.traverse derive foldMap 0.018s
870 + Monad for NonEmptyDupelessSeq: monad.flatMap consistent apply 0.115s
871 + Traverse for NonEmptyMap: traverse.traverse identity 0.02s
872 + Traverse for NonEmptyMap: traverse.traverse order consistency 0.021s
873 + Traverse for NonEmptyMap: traverse.traverse parallel composition 0.019s
874 + Traverse for NonEmptyMap: traverse.traverse ref mapAccumulate 0.071s
875 + Traverse for NonEmptyMap: traverse.traverse ref mapWithIndex 0.035s
876 + Traverse for NonEmptyMap: traverse.traverse ref traverseWithIndexM 0.028s
877 + Monad for NonEmptyDupelessSeq: monad.flatMap from tailRecM consistency 0.215s
878 + Monad for NonEmptyDupelessSeq: monad.invariant composition 0.013s
879 + Traverse for NonEmptyMap: traverse.traverse ref zipWithIndex 0.037s
880 + Monad for NonEmptyDupelessSeq: monad.invariant identity 0.007s
881 + Monad for NonEmptyDupelessSeq: monad.map flatMap coherence 0.014s
882 + Traverse for NonEmptyMap: traverse.traverse sequential composition 0.046s
883 + Traverse for NonEmptyMap: traverse.traverse traverseTap 0.029s
884 + Traverse for NonEmptyMap: traverse.unordered traverse consistent with sequence 0.018s
885 + Monad for NonEmptyDupelessSeq: monad.map2/map2Eval consistency 0.085s
886 + Traverse for NonEmptyMap: traverse.unordered traverse parallel composition 0.035s
887 + Traverse for NonEmptyMap: traverse.unordered traverse sequential composition 0.036s
888 + Traverse for NonEmptyMap: traverse.unorderedFold consistent with unorderedFoldMap 0.019s
889au.id.tmm.collections.cats.instances.DupelessSeqInstancesSpec:
890 + combineN work for an empty DupelessSeq 0.001s
891au.id.tmm.collections.cats.instances.unlawful.MapUnlawfulInstancesSpec:
892 + the group for map should subtract elements as appropriate 0.001s
893 + Unlawful Group for Map: group.associative 0.041s
894 + Monad for NonEmptyDupelessSeq: monad.map2/product-map consistency 0.193s
895 + Monad for NonEmptyDupelessSeq: monad.monad left identity 0.004s
896 + Unlawful Group for Map: group.collect0 0.019s
897 + Monad for NonEmptyDupelessSeq: monad.monad right identity 0.005s
898 + Monad for NonEmptyDupelessSeq: monad.monoidal left identity 0.007s
899 + Monad for NonEmptyDupelessSeq: monad.monoidal right identity 0.006s
900 + Bimonad for NonEmptyArraySeq: bimonad.apply composition 5.121s
901 + Monad for NonEmptyDupelessSeq: monad.mproduct consistent flatMap 0.387s
902 + Bimonad for NonEmptyArraySeq: bimonad.coflatMap associativity 0.381s
903 + Bimonad for NonEmptyArraySeq: bimonad.coflatMap identity 0.017s
904 + Monad for NonEmptyDupelessSeq: monad.productL consistent map2 0.036s
905 + Bimonad for NonEmptyArraySeq: bimonad.coflatMapIdentity 0.012s
906 + Monad for NonEmptyDupelessSeq: monad.productR consistent map2 0.068s
907 + Bimonad for NonEmptyArraySeq: bimonad.coflatten coherence 0.079s
908 + Unlawful Group for Map: group.combine all 0.543s
909 + Bimonad for NonEmptyArraySeq: bimonad.coflatten throughMap 0.063s
910 + Monad for NonEmptyDupelessSeq: monad.replicateA_ consistent with replicateA.void 0.097s
911 + Bimonad for NonEmptyArraySeq: bimonad.coflattenCoherence 0.033s
912 + Bimonad for NonEmptyArraySeq: bimonad.coflattenThroughMap 0.037s
913 + Bimonad for NonEmptyArraySeq: bimonad.comonad left identity 0.013s
914 + Bimonad for NonEmptyArraySeq: bimonad.comonad right identity 0.014s
915 + Bimonad for NonEmptyArraySeq: bimonad.covariant composition 0.01s
916 + Bimonad for NonEmptyArraySeq: bimonad.covariant identity 0.003s
917 + Bimonad for NonEmptyArraySeq: bimonad.extract/flatMap entwining 0.053s
918 + Bimonad for NonEmptyArraySeq: bimonad.extractCoflattenIdentity 0.003s
919 + Unlawful Group for Map: group.combineAllOption 0.476s
920 + Unlawful Group for Map: group.consistent inverse 0.028s
921 + Monad for DupelessSeq: monad.flatMap associativity 2.342s
922 + Unlawful Group for Map: group.intercalateCombineAllOption 0.466s
923 + Monad for DupelessSeq: monad.flatMap consistent apply 0.124s
924 + Unlawful Group for Map: group.intercalateIntercalates 0.058s
925 + Unlawful Group for Map: group.intercalateRepeat1 0.02s
926 + Unlawful Group for Map: group.intercalateRepeat2 0.025s
927 + Unlawful Group for Map: group.is id 0.014s
928 + Unlawful Group for Map: group.left identity 0.012s
929==> i au.id.tmm.collections.cats.instances.unlawful.MapUnlawfulInstancesSpec.Unlawful Group for Map: group.left inverse ignored 0.0s
930 + Unlawful Group for Map: group.repeat0 0.011s
931 + Unlawful Group for Map: group.repeat1 0.011s
932 + Monad for DupelessSeq: monad.flatMap from tailRecM consistency 0.142s
933 + Monad for DupelessSeq: monad.invariant composition 0.006s
934 + Monad for DupelessSeq: monad.invariant identity 0.002s
935 + Unlawful Group for Map: group.repeat2 0.015s
936 + Monad for DupelessSeq: monad.map flatMap coherence 0.005s
937 + Monad for DupelessSeq: monad.map2/map2Eval consistency 0.074s
938 + Monad for DupelessSeq: monad.map2/product-map consistency 0.151s
939 + Monad for DupelessSeq: monad.monad left identity 0.004s
940 + Monad for DupelessSeq: monad.monad right identity 0.002s
941 + Monad for DupelessSeq: monad.monoidal left identity 0.004s
942 + Monad for DupelessSeq: monad.monoidal right identity 0.005s
943 + Monad for DupelessSeq: monad.mproduct consistent flatMap 0.139s
944 + Monad for DupelessSeq: monad.productL consistent map2 0.023s
945 + Monad for DupelessSeq: monad.productR consistent map2 0.071s
946 + Monad for DupelessSeq: monad.replicateA_ consistent with replicateA.void 0.029s
947 + Unlawful Group for Map: group.reverseCombineAllOption 0.542s
948 + Unlawful Group for Map: group.reverseRepeat1 0.013s
949 + Unlawful Group for Map: group.reverseRepeat2 0.011s
950 + Unlawful Group for Map: group.reverseReverses 0.021s
951 + Unlawful Group for Map: group.right identity 0.011s
952==> i au.id.tmm.collections.cats.instances.unlawful.MapUnlawfulInstancesSpec.Unlawful Group for Map: group.right inverse ignored 0.0s
953 + Unlawful CommutativeGroup for Map: group.associative 0.033s
954 + Unlawful CommutativeGroup for Map: group.collect0 0.014s
955 + Unlawful CommutativeGroup for Map: group.combine all 0.525s
956 + Unlawful CommutativeGroup for Map: group.combineAllOption 0.461s
957 + Unlawful CommutativeGroup for Map: group.consistent inverse 0.036s
958 + Bimonad for NonEmptyArraySeq: bimonad.flatMap associativity 2.823s
959 + Bimonad for NonEmptyArraySeq: bimonad.flatMap consistent apply 0.097s
960 + Bimonad for NonEmptyArraySeq: bimonad.flatMap from tailRecM consistency 0.14s
961 + Bimonad for NonEmptyArraySeq: bimonad.invariant composition 0.008s
962 + Bimonad for NonEmptyArraySeq: bimonad.invariant identity 0.002s
963 + Bimonad for NonEmptyArraySeq: bimonad.map flatMap coherence 0.011s
964 + Bimonad for NonEmptyArraySeq: bimonad.map2/map2Eval consistency 0.183s
965 + Unlawful CommutativeGroup for Map: group.intercalateCombineAllOption 0.682s
966 + Unlawful CommutativeGroup for Map: group.intercalateIntercalates 0.032s
967 + Unlawful CommutativeGroup for Map: group.intercalateRepeat1 0.021s
968 + Unlawful CommutativeGroup for Map: group.intercalateRepeat2 0.024s
969 + Unlawful CommutativeGroup for Map: group.is id 0.013s
970 + Unlawful CommutativeGroup for Map: group.left identity 0.012s
971==> i au.id.tmm.collections.cats.instances.unlawful.MapUnlawfulInstancesSpec.Unlawful CommutativeGroup for Map: group.left inverse ignored 0.0s
972 + Unlawful CommutativeGroup for Map: group.repeat0 0.015s
973 + Bimonad for NonEmptyArraySeq: bimonad.map2/product-map consistency 0.146s
974 + Unlawful CommutativeGroup for Map: group.repeat1 0.011s
975 + Bimonad for NonEmptyArraySeq: bimonad.mapCoflatMapCoherence 0.005s
976 + Bimonad for NonEmptyArraySeq: bimonad.mapCoflattenIdentity 0.004s
977 + Bimonad for NonEmptyArraySeq: bimonad.monad left identity 0.003s
978 + Bimonad for NonEmptyArraySeq: bimonad.monad right identity 0.002s
979 + Bimonad for NonEmptyArraySeq: bimonad.monoidal left identity 0.004s
980 + Bimonad for NonEmptyArraySeq: bimonad.monoidal right identity 0.004s
981 + Unlawful CommutativeGroup for Map: group.repeat2 0.021s
982 + Bimonad for NonEmptyArraySeq: bimonad.mproduct consistent flatMap 0.159s
983 + Bimonad for NonEmptyArraySeq: bimonad.productL consistent map2 0.056s
984 + Bimonad for NonEmptyArraySeq: bimonad.productR consistent map2 0.023s
985 + Bimonad for NonEmptyArraySeq: bimonad.pure andThen extract = id 0.0s
986 + Bimonad for NonEmptyArraySeq: bimonad.pure/coflatMap entwining 0.001s
987 + Bimonad for NonEmptyArraySeq: bimonad.replicateA_ consistent with replicateA.void 0.018s
988 + Unlawful CommutativeGroup for Map: group.reverseCombineAllOption 0.558s
989 + Unlawful CommutativeGroup for Map: group.reverseRepeat1 0.01s
990 + Unlawful CommutativeGroup for Map: group.reverseRepeat2 0.013s
991 + Unlawful CommutativeGroup for Map: group.reverseReverses 0.023s
992 + Unlawful CommutativeGroup for Map: group.right identity 0.012s
993==> i au.id.tmm.collections.cats.instances.unlawful.MapUnlawfulInstancesSpec.Unlawful CommutativeGroup for Map: group.right inverse ignored 0.0s
994 + Monad for DupelessSeq: monad.semigroupal associativity 3.111s
995 + Monad for DupelessSeq: monad.tailRecM consistent flatMap 0.092s
996 + Monad for DupelessSeq: monad.tailRecM stack safety 0.022s
997 + Bimonad for NonEmptyArraySeq: bimonad.semigroupal associativity 1.899s
998 + Bimonad for NonEmptyArraySeq: bimonad.tailRecM consistent flatMap 0.131s
999 + Bimonad for NonEmptyArraySeq: bimonad.tailRecM stack safety 0.008s
1000 + SemigroupK for NonEmptyArraySeq: semigroupK.semigroupK associative 0.004s
1001 + Align for NonEmptyArraySeq: align.align associativity 0.029s
1002 + Align for NonEmptyArraySeq: align.align homomorphism 0.017s
1003 + Align for NonEmptyArraySeq: align.alignWith consistent 0.014s
1004 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.collectFirst reference 0.003s
1005 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.collectFirstSome reference 0.003s
1006 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.contains all elements from itself 0.019s
1007 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.contains consistent with exists 0.003s
1008 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.contains consistent with forall 0.003s
1009 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.covariant composition 0.008s
1010 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.covariant identity 0.002s
1011 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.dropWhile_ reference 0.002s
1012 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.exists consistent with find 0.002s
1013 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.exists is lazy 0.002s
1014 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.filter_ reference 0.003s
1015 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.fold reference 0.003s
1016 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.foldLeft consistent with foldMap 0.004s
1017 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.foldM identity 0.005s
1018 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.foldRight consistent with foldMap 0.003s
1019 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.foldRight is lazy 0.001s
1020 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.foldRightDefer consistency 0.003s
1021 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.forall consistent with exists 0.002s
1022 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.forall is lazy 0.001s
1023 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.forall true if empty 0.001s
1024 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.get reference 0.002s
1025 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.invariant composition 0.004s
1026 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.invariant identity 0.002s
1027 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.nonEmpty reference 0.001s
1028 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.nonEmptySequence_ consistent with sequence_ 0.058s
1029 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.nonEmptyTraverse derive reduceMap 0.009s
1030 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.nonEmptyTraverse identity 0.009s
1031 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.nonEmptyTraverse parallel composition 0.019s
1032 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.nonEmptyTraverse sequential composition 0.009s
1033 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.nonEmptyTraverse_ consistent with traverse_ 0.006s
1034 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.ordered consistency 0.002s
1035 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.reduce consistent with reduceLeft 0.003s
1036 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.reduceLeftOption consistent with reduceLeftToOption 0.004s
1037 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.reduceLeftTo consistent with reduceMap 0.003s
1038 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.reduceRight consistent with reduceRightOption 0.006s
1039 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.reduceRightOption consistent with reduceRightToOption 0.005s
1040 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.reduceRightTo consistent with reduceMap 0.004s
1041 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.reduceRightTo consistent with reduceRightToOption 0.009s
1042 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.size consistent with reduceMap 0.003s
1043 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.takeWhile_ reference 0.002s
1044 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.toList reference 0.001s
1045 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.traverse derive foldMap 0.003s
1046 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.traverse identity 0.004s
1047 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.traverse order consistency 0.002s
1048 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.traverse parallel composition 0.01s
1049 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.traverse ref mapAccumulate 0.011s
1050 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.traverse ref mapWithIndex 0.009s
1051 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.traverse ref traverseWithIndexM 0.004s
1052 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.traverse ref zipWithIndex 0.008s
1053 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.traverse sequential composition 0.004s
1054 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.traverse traverseTap 0.002s
1055 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.unordered traverse consistent with sequence 0.002s
1056 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.unordered traverse parallel composition 0.004s
1057 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.unordered traverse sequential composition 0.003s
1058 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.unorderedFold consistent with unorderedFoldMap 0.001s
1059 + Semigroup for NonEmptyArraySeq: semigroup.associative 0.002s
1060 + Semigroup for NonEmptyArraySeq: semigroup.combineAllOption 0.021s
1061 + Semigroup for NonEmptyArraySeq: semigroup.intercalateCombineAllOption 0.022s
1062 + Semigroup for NonEmptyArraySeq: semigroup.intercalateIntercalates 0.002s
1063 + Semigroup for NonEmptyArraySeq: semigroup.intercalateRepeat1 0.002s
1064 + Semigroup for NonEmptyArraySeq: semigroup.intercalateRepeat2 0.002s
1065 + Semigroup for NonEmptyArraySeq: semigroup.repeat1 0.001s
1066 + Semigroup for NonEmptyArraySeq: semigroup.repeat2 0.001s
1067 + Semigroup for NonEmptyArraySeq: semigroup.reverseCombineAllOption 0.018s
1068 + Semigroup for NonEmptyArraySeq: semigroup.reverseRepeat1 0.001s
1069 + Semigroup for NonEmptyArraySeq: semigroup.reverseRepeat2 0.001s
1070 + Semigroup for NonEmptyArraySeq: semigroup.reverseReverses 0.002s
1071 + Monad for NonEmptyDupelessSeq: monad.semigroupal associativity 15.066s
1072 + Monad for NonEmptyDupelessSeq: monad.tailRecM consistent flatMap 0.063s
1073 + Monad for NonEmptyDupelessSeq: monad.tailRecM stack safety 0.009s
1074Starting build for ProjectRef(file:/build/repo/,circe) (tmm-scala-collections-circe)... [1/4]
1075Compile scalacOptions: -encoding, UTF-8, -unchecked, -language:implicitConversions, -Ykind-projector, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
1076[info] compiling 8 Scala sources to /build/repo/circe/target/scala-3.8.0-RC4/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-RC4/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.ArraySeqDecodersSpec:
1085au.id.tmm.collections.circe.codecs.DupelessSeqCodecsSpec:
1086au.id.tmm.collections.circe.codecs.NonEmptyArraySeqCodecsSpec:
1087au.id.tmm.collections.circe.codecs.NonEmptySetCodecSpec:
1088 + the non empty set encoder should encode a non-empty set of ordered elements 0.081s
1089 + the nonEmptyArraySeqEncoder should encode a dupeless seq 0.082s
1090 + the dupelessSeqEncoder should encode a dupeless seq 0.082s
1091 + the non empty set encoder can encode a non-empty set of unordered elements 0.013s
1092 + the dupelessSeqDecoder should decode an array 0.053s
1093 + the nonEmptyArraySeqDecoder should decode an array 0.053s
1094 + the non-empty set decoder can decode a non-empty json array 0.039s
1095 + the dupelessSeqDecoder should silently drop duplicates when decoding 0.001s
1096 + the ArraySeq decoder should return a ref ArraySeq if its usage is untagged 0.136s
1097 + the ArraySeq decoder should return a ref ArraySeq for a tagged reference type 0.001s
1098 + the ArraySeq decoder should return a specialised ArraySeq for a tagged primative type 0.0s
1099 + the non-empty set decoder can not decode an empty json array 0.003s
1100 + the nonEmptyArraySeqDecoder should error if decoding an empty array 0.005s
1101 + the nonEmptyArraySeqDecoder should specialise the underlying ArraySeq if a classtag is available 0.0s
1102au.id.tmm.collections.circe.codecs.NonEmptyDupelessSeqCodecsSpec:
1103au.id.tmm.collections.circe.codecs.NonEmptyMapCodecsSpec:
1104 + the nonEmptyDupelessSeqEncoder should encode a dupeless seq 0.005s
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.001s
1108 + the non empty map encoder should encode a non-empty map with ordered keys 0.009s
1109 + the non empty map encoder can encode a non-empty map with unordered keys 0.012s
1110 + the non-empty map decoder can decode a non-empty json object 0.008s
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.128s
1114 + ArraySeq codecs: codec.decoder serializability 0.019s
1115 + ArraySeq codecs: codec.encoder serializability 0.009s
1116 + ArraySeq codecs: codec.roundTrip 0.017s
1117 + NonEmptyArraySeq codecs: codec.consistency with accumulating 0.077s
1118 + NonEmptyArraySeq codecs: codec.decoder serializability 0.012s
1119 + NonEmptyArraySeq codecs: codec.encoder serializability 0.003s
1120 + NonEmptyArraySeq codecs: codec.roundTrip 0.013s
1121 + DupelessSeq codecs: codec.consistency with accumulating 0.04s
1122 + DupelessSeq codecs: codec.decoder serializability 0.004s
1123 + DupelessSeq codecs: codec.encoder serializability 0.002s
1124 + DupelessSeq codecs: codec.roundTrip 0.009s
1125 + NonEmptyDupelessSeq codecs: codec.consistency with accumulating 0.033s
1126 + NonEmptyDupelessSeq codecs: codec.decoder serializability 0.004s
1127 + NonEmptyDupelessSeq codecs: codec.encoder serializability 0.002s
1128 + NonEmptyDupelessSeq codecs: codec.roundTrip 0.008s
1129 + NonEmptySet codecs: codec.consistency with accumulating 0.041s
1130 + NonEmptySet codecs: codec.decoder serializability 0.003s
1131 + NonEmptySet codecs: codec.encoder serializability 0.002s
1132 + NonEmptySet codecs: codec.roundTrip 0.005s
1133Starting build for ProjectRef(file:/build/repo/,core) (tmm-scala-collections-core)... [2/4]
1134Compile scalacOptions: -encoding, UTF-8, -unchecked, -language:implicitConversions, -Ykind-projector, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
1135[info] compiling 11 Scala sources to /build/repo/core/target/scala-3.8.0-RC4/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.BufferedIteratorOpsSpec:
1140au.id.tmm.collections.NonEmptyArraySeqSpec:
1141au.id.tmm.collections.syntax.SeqOpsSpec:
1142au.id.tmm.collections.syntax.IterableOpsSpec:
1143 + The specialised factory methods create a specialised NonEmptyArraySeq from one element 0.012s
1144 + at most one return None for an empty iterable 0.012s
1145 + finding every nth element return empty for an empty seq 0.013s
1146 + takeUpTo work for an empty iterator 0.011s
1147 + at most one return Some for a single element list 0.0s
1148 + The specialised factory methods create a specialised NonEmptyArraySeq from many elements 0.001s
1149 + The specialised factory methods create a specialised NonEmptyArraySeq from a head and a tail 0.0s
1150 + finding every nth element return the first element if there are less than n elements 0.002s
1151 + finding every nth element return every nth element 0.0s
1152 + at most one return an error for a 2 element list 0.003s
1153 + takeUpTo work for a collection where the first element does not match predicate 0.004s
1154 + takeUpTo take elements from the front of the iterator until the first element that fails the test 0.0s
1155 + at most one return an error for an infinitely sized list 0.001s
1156 + takeUpTo not progress the underlying iterator beyond the first failed element 0.001s
1157 + only element return an error for an empty iterable 0.0s
1158 + takeUpTo return an iterator with a known size if the underlying iterator is empty 0.0s
1159 + only element return the element for a 1 element iterable 0.0s
1160 + takeUpTo return an iterator with a known size if the head does not match the predicate 0.001s
1161 + The specialised factory methods create a specialised NonEmptyArraySeq from an iterable 0.004s
1162 + takeUpTo return an unknown size if the head matches the predicate 0.0s
1163 + The untagged factory methods create an unspecialised NonEmptyArraySeq from one element 0.0s
1164 + finding every nth element drop any extra elements 0.004s
1165 + only element return an error for a 2 element list 0.007s
1166 + only element return an error for an infinitely sized list 0.001s
1167 + head or error return an error for an empty iterable 0.001s
1168au.id.tmm.collections.NonEmptyDupelessSeqSpec:
1169 + head or error return the element for a 1 element iterable 0.001s
1170au.id.tmm.collections.NonEmptyMapSpec:
1171 + head or error return the first element for a 2 element list 0.003s
1172 + head or error return the first element for an infinitely sized list 0.001s
1173au.id.tmm.collections.syntax.IteratorOpsSpec:
1174 + last or error return an error for an empty iterable 0.001s
1175 + last or error return the element for a 1 element iterable 0.001s
1176 + last or error return an error for a 2 element list 0.0s
1177 + emptyOr return unit for an empty iterable 0.002s
1178 + emptyOr return an error if the iterable is nonempty 0.001s
1179 + count occurrences count the occurances of each element 0.001s
1180 + count occurrences return an empty map for an empty collection 0.0s
1181 + readAtMost read the first n elements of the iterator 0.007s
1182 + groupByKey group by the key for a list of tuples 0.003s
1183 + readAtMost leave the underlying iterator iterating through the subsequent elements 0.001s
1184 + a non-empty map be flatMapped with a possibly empty collection of tuples 0.014s
1185 + readAtMost read only as many elements remain in the iterator 0.001s
1186 + a non-empty map be flatMapped with a possibly empty collection of single elements 0.001s
1187 + readUntil read until encountering an element matching the condition 0.0s
1188 + a non-empty map be flatMapped with another NonEmptyMap of tuples 0.001s
1189 + a non-empty map be constructed from a non-empty arrayseq 0.0s
1190 + a non-empty dupelessSeq be flattened 0.017s
1191 + readUntil leave the underlying iterator iterating through the subsequent elements 0.002s
1192 + groupByKey group by the the key for a Set of tuples 0.003s
1193 + a non-empty dupelessSeq be flatMapped to another non-empty dupelessSeq 0.004s
1194 + readUntil read only as many elements remain in the iterator 0.0s
1195 + a non-empty dupelessSeq be flatMapped to a possibly empty collection 0.001s
1196 + a non-empty dupelessSeq be converted to an ArraySeq 0.0s
1197 + groupByKey return an empty map for an empty list of tuples 0.001s
1198 + readAtMostUntil read until encountering an element matching the condition if that is less than the size limit 0.003s
1199 + readAtMostUntil read up to the size limit if no elements match condition 0.0s
1200 + readAtMostUntil leave the underlying iterator iterating through the subsequent elements when hitting the number limit 0.001s
1201 + a non-empty dupelessSeq be converted to a NonEmptySet 0.005s
1202 + readAtMostUntil leave the underlying iterator iterating through the subsequent elements when finding an element that matches 0.002s
1203 + a non-empty dupelessSeq be grouped 0.005s
1204au.id.tmm.collections.classes.SafeGroupBySpec:
1205au.id.tmm.collections.syntax.UnzipOpsSpec:
1206 + safe group by for a Set work 0.013s
1207 + unzip10 unzip 0.007s
1208 + safe group by for a NonEmptyDupelessSeq work 0.003s
1209au.id.tmm.collections.NonEmptySetSpec:
1210 + A non-empty set be constructed with a single element 0.001s
1211 + safe group by for a NonEmptySet work 0.002s
1212 + A non-empty set be constructed with multiple elements 0.0s
1213 + unzip9 unzip 0.006s
1214 + A non-empty set not be equal to another set with a different implementation but same elements 0.002s
1215au.id.tmm.collections.DupelessSeqSpec:
1216 + a DupelessSeq retain the order of the earliest element when initialised 0.0s
1217 + a DupelessSeq not contain duplicates 0.0s
1218 + unzip8 unzip 0.003s
1219 + a DupelessSeq retain insertion order 0.0s
1220 + A non-empty set be constructed from a non-empty set 0.003s
1221 + A non-empty set not be constructed from an empty set 0.0s
1222 + A non-empty set be constructed unsafely from a non-empty set 0.001s
1223 + A non-empty set not be constructed unsafely from an empty set 0.0s
1224 + a DupelessSeq correctly implement contains 0.003s
1225 + a DupelessSeq correctly implement size 0.0s
1226 + a DupelessSeq correctly implement size for the empty seq 0.001s
1227 + a DupelessSeq append an element correctly 0.0s
1228 + a DupelessSeq return the same seq when appending a duplicate element 0.001s
1229 + A non-empty set produce subsets 0.006s
1230 + unzip7 unzip 0.009s
1231 + a DupelessSeq prepend an element correctly 0.003s
1232 + a DupelessSeq return the same seq when prepending a duplicate element 0.0s
1233 + unzip6 unzip 0.001s
1234 + unzip5 unzip 0.002s
1235 + A non-empty set have a sensible toString 0.0s
1236 + A non-empty set be constructed from a non-empty iterable 0.0s
1237 + A non-empty set be constructed from a non-empty iterable which is a Set 0.001s
1238 + a DupelessSeq remove an element correctly 0.004s
1239 + a DupelessSeq return the same seq when removing an element not in the seq 0.0s
1240 + a DupelessSeq have a sensible toString 0.001s
1241 + a DupelessSeq allow random access 0.0s
1242 + a DupelessSeq support splitting at an index 0.001s
1243 + A non-empty set not be constructed from an empty iterable 0.003s
1244 + A non-empty set be constructed unsafely from a non-empty iterable 0.0s
1245 + a DupelessSeq support updating an element with a new element 0.0s
1246 + A non-empty set not be constructed unsafely from an empty iterable 0.0s
1247 + A non-empty set be constructed from cons 0.001s
1248 + a DupelessSeq remove an element when updating it with an element that exists before it in the seq 0.001s
1249 + A non-empty set map 0.0s
1250 + a DupelessSeq remove the later element when updating it with an element that exists after it in the seq 0.0s
1251 + A non-empty set flatMap 0.001s
1252 + a DupelessSeq pad the end of the seq with an element that is not in the seq 0.0s
1253 + a DupelessSeq return the same seq if padded with an element already in the seq 0.0s
1254 + a DupelessSeq support sorting 0.003s
1255 + A non-empty set be flattened 0.004s
1256 + a DupelessSeq be reversed 0.0s
1257 + unzip4 unzip 0.012s
1258 + a DupelessSeq be iterated over 0.001s
1259 + a DupelessSeq be iterated over in reverse 0.005s
1260 + a DupelessSeq return itself when asked for distinct elements 0.001s
1261 + a DupelessSeq be converted to a Set 0.0s
1262 + a DupelessSeq be converted to a Set of a higher type 0.0s
1263 + a DupelessSeq be converted to a Vector 0.001s
1264 + a DupelessSeq be equal to a DupelessSeq with the same elements and order 0.0s
1265 + a DupelessSeq not be equal to a DupelessSeq with the same elements and a different order 0.0s
1266 + a DupelessSeq not be equal to a DupelessSeq with different elements 0.001s
1267 + a DupelessSeq not be equal to a list with the same elements 0.0s
1268 + a DupelessSeq not be equal to a list with duplicated elements 0.0s
1269 + a DupelessSeq not be equal to a set with the same elements 0.003s
1270 + a DupelessSeq allow appending an element 0.0s
1271 + a DupelessSeq allow appending a list 0.001s
1272 + a DupelessSeq be converted to a NonEmptyDupelessSeq if it is nonEmpty 0.001s
1273 + the empty DupelessSeq be a singleton 0.0s
1274 + the empty DupelessSeq not be converted to a NonEmptyDupelessSeq 0.003s
1275 + the DupelessSeq builder build the empty seq 0.001s
1276 + the empty DupelessSeq build a seq with 2 distinct items 0.001s
1277 + the empty DupelessSeq iterate in the order of first insertion 0.0s
1278 + the empty DupelessSeq be cleared 0.0s
1279 + the empty DupelessSeq append multiple elements at once 0.003s
1280 + the empty DupelessSeq accept a size hint 0.0s
1281 + the empty DupelessSeq be converted to an ArraySeq 0.001s
1282 + the empty DupelessSeq allow appending an element 0.0s
1283 + the empty DupelessSeq allow appending a list 0.0s
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": 19168, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1292 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1293 "test-compile": {"status": "ok", "tookMs": 4677, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1294 "test": {"status": "ok", "tookMs": 29751, "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": 1022, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1302 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1303 "test-compile": {"status": "ok", "tookMs": 1585, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1304 "test": {"status": "ok", "tookMs": 1064, "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": 61, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1312 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1313 "test-compile": {"status": "ok", "tookMs": 1978, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1314 "test": {"status": "ok", "tookMs": 313, "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": 107, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1322 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1323 "test-compile": {"status": "ok", "tookMs": 132, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1324 "test": {"status": "ok", "tookMs": 133, "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: 75 s (0:01:15.0), completed Dec 22, 2025, 6:54:30 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.