Build Logs
tmccarthy/tmm-scala-collections • 3.8.0-RC2:2025-11-28
Errors
0
Warnings
42
Total Lines
1337
1##################################
2Clonning https://github.com/tmccarthy/tmm-scala-collections.git into /build/repo using revision v0.2.0
3##################################
4Note: switching to '9e995bb834fd10cb2a926289be197a7e1a502de3'.
5
6You are in 'detached HEAD' state. You can look around, make experimental
7changes and commit them, and you can discard any commits you make in this
8state without impacting any branches by switching back to a branch.
9
10If you want to create a new branch to retain commits you create, you may
11do so (now or later) by using -c with the switch command. Example:
12
13 git switch -c <new-branch-name>
14
15Or undo this operation with:
16
17 git switch -
18
19Turn off this advice by setting config variable advice.detachedHead to false
20
21Using target Scala version for migration: 3.7.4
22Migrating project for -source:3.4 using Scala 3.7.4
23----
24Preparing build for 3.7.4
25Would try to apply common scalacOption (best-effort, sbt/mill only):
26Append: -rewrite,REQUIRE:-source:3.4-migration
27Remove: -indent,-no-indent,-new-syntax,,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
28
29Try apply source patch:
30Path: build.sbt
31Pattern: ThisBuild / tlFatalWarnings := true
32Replacement:
33Starting compilation server
34Compiling project (Scala 3.7.3, JVM (17))
35Compiled project (Scala 3.7.3, JVM (17))
36Successfully applied pattern 'ThisBuild / tlFatalWarnings := true' in build.sbt
37----
38Starting build for 3.7.4
39Execute tests: false
40sbt project found:
41Sbt version 1.7.0 is not supported, minimal supported version is 1.11.5
42Enforcing usage of sbt in version 1.11.5
43No prepare script found for project tmccarthy/tmm-scala-collections
44##################################
45Scala version: 3.7.4
46Targets: au.id.tmm.tmm-scala-collections%tmm-scala-collections-cats au.id.tmm.tmm-scala-collections%tmm-scala-collections-circe au.id.tmm.tmm-scala-collections%tmm-scala-collections-core au.id.tmm.tmm-scala-collections%tmm-scala-collections-scalacheck
47Project projectConfig: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"compile-only","migrationVersions":["3.4"],"sourcePatches":[{"path":"build.sbt","pattern":"ThisBuild / tlFatalWarnings := true","replaceWith":""}]}
48##################################
49Using extra scalacOptions: -rewrite,REQUIRE:-source:3.4-migration
50Filtering out scalacOptions: -indent,-no-indent,-new-syntax,,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
51[sbt_options] declare -a sbt_options=()
52[process_args] java_version = '17'
53[copyRt] java9_rt = '/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8/rt.jar'
54# Executing command line:
55java
56-Dfile.encoding=UTF-8
57-Dcommunitybuild.scala=3.7.4
58-Dcommunitybuild.project.dependencies.add=
59-Xmx7G
60-Xms4G
61-Xss8M
62-Dsbt.script=/root/.sdkman/candidates/sbt/current/bin/sbt
63-Dscala.ext.dirs=/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8
64-jar
65/root/.sdkman/candidates/sbt/1.11.5/bin/sbt-launch.jar
66"setCrossScalaVersions 3.7.4"
67"++3.7.4 -v"
68"mapScalacOptions "-rewrite,REQUIRE:-source:3.4-migration,-Wconf:msg=can be rewritten automatically under:s" "-indent,-no-indent,-new-syntax,,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e""
69"set every credentials := Nil"
70"excludeLibraryDependency com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}"
71"removeScalacOptionsStartingWith -P:wartremover"
72
73moduleMappings
74"runBuild 3.7.4 """{"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"compile-only","migrationVersions":["3.4"],"sourcePatches":[{"path":"build.sbt","pattern":"ThisBuild / tlFatalWarnings := true","replaceWith":""}]}""" au.id.tmm.tmm-scala-collections%tmm-scala-collections-cats au.id.tmm.tmm-scala-collections%tmm-scala-collections-circe au.id.tmm.tmm-scala-collections%tmm-scala-collections-core au.id.tmm.tmm-scala-collections%tmm-scala-collections-scalacheck"
75
76[info] welcome to sbt 1.11.5 (Eclipse Adoptium Java 17.0.8)
77[info] loading settings for project repo-build from akka.sbt, plugins.sbt...
78[info] loading project definition from /build/repo/project
79[info] compiling 2 Scala sources to /build/repo/project/target/scala-2.12/sbt-1.0/classes ...
80[info] Non-compiled module 'compiler-bridge_2.12' for Scala 2.12.20. Compiling...
81[info] Compilation completed in 8.969s.
82[info] done compiling
83[info] loading settings for project root from build.sbt...
84[info] set scmInfo to https://github.com/tmccarthy/tmm-scala-collections
85[info] set current project to tmm-scala-collections (in build file:/build/repo/)
86Execute setCrossScalaVersions: 3.7.4
87OpenCB::Changing crossVersion 3.1.3 -> 3.7.4 in rootNative/crossScalaVersions
88OpenCB::Changing crossVersion 3.1.3 -> 3.7.4 in rootJS/crossScalaVersions
89OpenCB::Changing crossVersion 3.1.3 -> 3.7.4 in circe/crossScalaVersions
90OpenCB::Changing crossVersion 3.1.3 -> 3.7.4 in core/crossScalaVersions
91OpenCB::Changing crossVersion 3.1.3 -> 3.7.4 in root/crossScalaVersions
92OpenCB::Changing crossVersion 3.1.3 -> 3.7.4 in cats/crossScalaVersions
93OpenCB::Changing crossVersion 3.1.3 -> 3.7.4 in rootJVM/crossScalaVersions
94OpenCB::Changing crossVersion 3.1.3 -> 3.7.4 in scalaCheck/crossScalaVersions
95[info] set scmInfo to https://github.com/tmccarthy/tmm-scala-collections
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 Nov 28, 2025, 12:16:10 PM
136Build config: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"compile-only","migrationVersions":["3.4"],"sourcePatches":[{"path":"build.sbt","pattern":"ThisBuild / tlFatalWarnings := true","replaceWith":""}]}
137Parsed config: Success(ProjectBuildConfig(ProjectsConfig(List(),Map()),CompileOnly,List()))
138Starting build...
139Projects: Set(cats, circe, core, scalaCheck)
140Starting build for ProjectRef(file:/build/repo/,cats) (tmm-scala-collections-cats)... [0/4]
141OpenCB::Exclude Scala3 specific scalacOption `-rewrite` in Scala 2.12.20 module Global
142OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.4-migration` in Scala 2.12.20 module Global
143OpenCB::Filter out '-deprecation', matches setting pattern '^-?-deprecation'
144OpenCB::Filter out '-feature', matches setting pattern '^-?-feature'
145OpenCB::Filter out '-source:3.0-migration', matches setting pattern '^-?-source(:.*)?'
146Compile scalacOptions: -encoding, UTF-8, -unchecked, -language:implicitConversions, -Ykind-projector, -rewrite, -Wconf:msg=can be rewritten automatically under:s, -source:3.4-migration
147[info] compiling 15 Scala sources to /build/repo/core/target/scala-3.7.4/classes ...
148[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
149[info] [patched file /build/repo/core/src/main/scala/au/id/tmm/collections/DupelessSeq.scala]
150[info] [patched file /build/repo/core/src/main/scala/au/id/tmm/collections/NonEmptySeqOps.scala]
151[info] [patched file /build/repo/core/src/main/scala/au/id/tmm/collections/NonEmptyMap.scala]
152[warn] one warning found
153[info] done compiling
154[info] compiling 6 Scala sources to /build/repo/scalacheck/target/scala-3.7.4/classes ...
155[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
156[warn] one warning found
157[info] done compiling
158[info] compiling 21 Scala sources to /build/repo/cats/target/scala-3.7.4/classes ...
159[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
160[info] [patched file /build/repo/cats/src/main/scala/au/id/tmm/collections/cats/instances/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/NonEmptyArraySeqInstances.scala]
164[info] [patched file /build/repo/cats/src/main/scala/au/id/tmm/collections/cats/instances/NonEmptyDupelessSeqInstances.scala]
165[info] [patched file /build/repo/cats/src/main/scala/au/id/tmm/collections/cats/instances/NonEmptySetInstances.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/NonEmptyDupelessSeqInstancesLawsSpec.scala]
187[info] [patched file /build/repo/cats/src/test/scala/au/id/tmm/collections/cats/instances/NonEmptySetInstancesLawsSpec.scala]
188[info] [patched file /build/repo/cats/src/test/scala/au/id/tmm/collections/cats/instances/unlawful/MapUnlawfulInstancesSpec.scala]
189[warn] one warning found
190[info] done compiling
191[info] compiling 3 Scala sources to /build/repo/cats/target/scala-3.7.4/test-classes ...
192[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
193[warn] one warning found
194[info] done compiling
195Starting build for ProjectRef(file:/build/repo/,circe) (tmm-scala-collections-circe)... [1/4]
196Compile scalacOptions: -encoding, UTF-8, -unchecked, -language:implicitConversions, -Ykind-projector, -rewrite, -Wconf:msg=can be rewritten automatically under:s, -source:3.4-migration
197[info] compiling 8 Scala sources to /build/repo/circe/target/scala-3.7.4/classes ...
198[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
199[warn] one warning found
200[info] done compiling
201[info] compiling 7 Scala sources to /build/repo/circe/target/scala-3.7.4/test-classes ...
202[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
203[info] [patched file /build/repo/circe/src/test/scala/au/id/tmm/collections/circe/codecs/NonEmptyMapCodecsSpec.scala]
204[info] [patched file /build/repo/circe/src/test/scala/au/id/tmm/collections/circe/codecs/ArraySeqDecodersSpec.scala]
205[warn] one warning found
206[info] done compiling
207[info] compiling 2 Scala sources to /build/repo/circe/target/scala-3.7.4/test-classes ...
208[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
209[warn] one warning found
210[info] done compiling
211Starting build for ProjectRef(file:/build/repo/,core) (tmm-scala-collections-core)... [2/4]
212Compile scalacOptions: -encoding, UTF-8, -unchecked, -language:implicitConversions, -Ykind-projector, -rewrite, -Wconf:msg=can be rewritten automatically under:s, -source:3.4-migration
213[info] compiling 11 Scala sources to /build/repo/core/target/scala-3.7.4/test-classes ...
214[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
215[info] [patched file /build/repo/core/src/test/scala/au/id/tmm/collections/DupelessSeqSpec.scala]
216[info] [patched file /build/repo/core/src/test/scala/au/id/tmm/collections/NonEmptyArraySeqSpec.scala]
217[info] [patched file /build/repo/core/src/test/scala/au/id/tmm/collections/syntax/IteratorOpsSpec.scala]
218[warn] one warning found
219[info] done compiling
220[info] compiling 3 Scala sources to /build/repo/core/target/scala-3.7.4/test-classes ...
221[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
222[warn] one warning found
223[info] done compiling
224Starting build for ProjectRef(file:/build/repo/,scalaCheck) (tmm-scala-collections-scalacheck)... [3/4]
225Compile scalacOptions: -encoding, UTF-8, -unchecked, -language:implicitConversions, -Ykind-projector, -rewrite, -Wconf:msg=can be rewritten automatically under:s, -source:3.4-migration
226
227************************
228Build summary:
229[{
230 "module": "tmm-scala-collections-cats",
231 "compile": {"status": "ok", "tookMs": 13388, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
232 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
233 "test-compile": {"status": "ok", "tookMs": 8652, "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": 1048, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
242 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
243 "test-compile": {"status": "ok", "tookMs": 1323, "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": 45, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
252 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
253 "test-compile": {"status": "ok", "tookMs": 1693, "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": 94, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
262 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
263 "test-compile": {"status": "ok", "tookMs": 112, "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: 53 s, completed Nov 28, 2025, 12:17:03 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 784afa0] 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-RC2
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-RC2
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-RC2
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-RC2
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-RC2"
327"++3.8.0-RC2 -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-RC2 """{"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-RC2
343OpenCB::Changing crossVersion 3.1.3 -> 3.8.0-RC2 in core/crossScalaVersions
344OpenCB::Changing crossVersion 3.1.3 -> 3.8.0-RC2 in rootJS/crossScalaVersions
345OpenCB::Changing crossVersion 3.1.3 -> 3.8.0-RC2 in circe/crossScalaVersions
346OpenCB::Changing crossVersion 3.1.3 -> 3.8.0-RC2 in rootNative/crossScalaVersions
347[info] set scmInfo to https://github.com/tmccarthy/tmm-scala-collections
348OpenCB::Changing crossVersion 3.1.3 -> 3.8.0-RC2 in root/crossScalaVersions
349OpenCB::Changing crossVersion 3.1.3 -> 3.8.0-RC2 in cats/crossScalaVersions
350OpenCB::Changing crossVersion 3.1.3 -> 3.8.0-RC2 in rootJVM/crossScalaVersions
351OpenCB::Changing crossVersion 3.1.3 -> 3.8.0-RC2 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-RC2 on 8 projects.
354[info] Switching Scala version on:
355[info] * root (2.13.8, 3.8.0-RC2)
356[info] rootJS (2.13.8, 3.8.0-RC2)
357[info] rootJVM (2.13.8, 3.8.0-RC2)
358[info] rootNative (2.13.8, 3.8.0-RC2)
359[info] circe (2.13.8, 3.8.0-RC2)
360[info] cats (2.13.8, 3.8.0-RC2)
361[info] core (2.13.8, 3.8.0-RC2)
362[info] scalaCheck (2.13.8, 3.8.0-RC2)
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 Nov 28, 2025, 12:17:17 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-RC2/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-RC2/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-RC2/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-RC2/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.NonEmptySetInstancesSpec:
419au.id.tmm.collections.cats.instances.MapOverKeysInstancesSpec:
420 + the show for a NonEmptySet should produce a sensible string 0.077s
421 + the monoid for a map over keys should combine values 0.076s
422au.id.tmm.collections.cats.instances.DupelessSeqInstancesSpec:
423 + the traverse for a NonEmptySet should traverse the set 0.054s
424 + combineN work for an empty DupelessSeq 0.046s
425au.id.tmm.collections.cats.syntax.ArraySeqConversionsSpec:
426au.id.tmm.collections.cats.instances.unlawful.NonEmptyMapUnlawfulInstancesSpec:
427 + a non-empty arrayseq can be converted to a non-empty vector 0.04s
428 + a non-empty vector can be converted to a non-empty arrayseq 0.002s
429au.id.tmm.collections.cats.instances.NonEmptyMapInstancesLawsSpec:
430 + a non-empty vector can be converted to a specialised non-empty arraySeq 0.001s
431au.id.tmm.collections.cats.instances.unlawful.MapUnlawfulInstancesSpec:
432au.id.tmm.collections.cats.instances.DupelessSeqInstancesLawsSpec:
433 + Eq for DupelessSeq: eq.antisymmetry eq 0.134s
434 + Traverse for NonEmptyMap: traverse.collectFirst reference 0.279s
435 + Eq for DupelessSeq: eq.reflexivity eq 0.05s
436 + the group for map should subtract elements as appropriate 0.243s
437 + Eq for tmmUtils NonEmptyMap: eq.antisymmetry eq 0.291s
438 + Eq for DupelessSeq: eq.symmetry eq 0.057s
439 + Eq for tmmUtils NonEmptyMap: eq.reflexivity eq 0.064s
440 + Traverse for NonEmptyMap: traverse.collectFirstSome reference 0.104s
441 + Eq for DupelessSeq: eq.transitivity eq 0.067s
442 + Hash for DupelessSeq: hash.antisymmetry eq 0.045s
443 + Eq for tmmUtils NonEmptyMap: eq.symmetry eq 0.093s
444 + Hash for DupelessSeq: hash.hash compatibility 0.033s
445 + Unlawful Group for Map: group.associative 0.214s
446 + Hash for DupelessSeq: hash.reflexivity eq 0.019s
447 + Unlawful Group for Map: group.collect0 0.049s
448 + Hash for DupelessSeq: hash.same as scala hashing 0.045s
449 + Eq for tmmUtils NonEmptyMap: eq.transitivity eq 0.093s
450 + Hash for DupelessSeq: hash.same as universal hash 0.038s
451 + Hash for DupelessSeq: hash.symmetry eq 0.011s
452 + Hash for DupelessSeq: hash.transitivity eq 0.013s
453 + Hash for tmmUtils NonEmptyMap: hash.antisymmetry eq 0.079s
454 + Traverse for NonEmptyMap: traverse.contains all elements from itself 0.278s
455 + Monoid for DupelessSeq: monoid.associative 0.066s
456 + Traverse for NonEmptyMap: traverse.contains consistent with exists 0.04s
457 + Monoid for DupelessSeq: monoid.collect0 0.012s
458 + Hash for tmmUtils NonEmptyMap: hash.hash compatibility 0.065s
459 + Hash for tmmUtils NonEmptyMap: hash.reflexivity eq 0.072s
460 + Traverse for NonEmptyMap: traverse.contains consistent with forall 0.081s
461 + Hash for tmmUtils NonEmptyMap: hash.same as scala hashing 0.043s
462 + Hash for tmmUtils NonEmptyMap: hash.same as universal hash 0.075s
463 + Hash for tmmUtils NonEmptyMap: hash.symmetry eq 0.06s
464 + Traverse for NonEmptyMap: traverse.covariant composition 0.227s
465 + Hash for tmmUtils NonEmptyMap: hash.transitivity eq 0.097s
466 + Traverse for NonEmptyMap: traverse.covariant identity 0.056s
467 + Traverse for NonEmptyMap: traverse.dropWhile_ reference 0.049s
468 + Traverse for NonEmptyMap: traverse.exists consistent with find 0.03s
469 + Traverse for NonEmptyMap: traverse.exists is lazy 0.062s
470 + Traverse for NonEmptyMap: traverse.filter_ reference 0.039s
471 + Traverse for NonEmptyMap: traverse.fold reference 0.034s
472 + UnorderedTraverse for tmmUtils NonEmptyMap: unorderedTraverse.contains all elements from itself 0.26s
473 + Traverse for NonEmptyMap: traverse.foldLeft consistent with foldMap 0.045s
474 + UnorderedTraverse for tmmUtils NonEmptyMap: unorderedTraverse.contains consistent with exists 0.042s
475 + UnorderedTraverse for tmmUtils NonEmptyMap: unorderedTraverse.contains consistent with forall 0.028s
476 + Traverse for NonEmptyMap: traverse.foldM identity 0.064s
477 + UnorderedTraverse for tmmUtils NonEmptyMap: unorderedTraverse.exists is lazy 0.033s
478 + Traverse for NonEmptyMap: traverse.foldRight consistent with foldMap 0.043s
479 + Traverse for NonEmptyMap: traverse.foldRight is lazy 0.021s
480 + UnorderedTraverse for tmmUtils NonEmptyMap: unorderedTraverse.forall consistent with exists 0.031s
481 + UnorderedTraverse for tmmUtils NonEmptyMap: unorderedTraverse.forall is lazy 0.028s
482 + Traverse for NonEmptyMap: traverse.foldRightDefer consistency 0.057s
483 + UnorderedTraverse for tmmUtils NonEmptyMap: unorderedTraverse.forall true if empty 0.03s
484 + Traverse for NonEmptyMap: traverse.forall consistent with exists 0.032s
485 + UnorderedTraverse for tmmUtils NonEmptyMap: unorderedTraverse.nonEmpty reference 0.032s
486 + Traverse for NonEmptyMap: traverse.forall is lazy 0.054s
487 + UnorderedTraverse for tmmUtils NonEmptyMap: unorderedTraverse.unordered traverse consistent with sequence 0.057s
488 + Traverse for NonEmptyMap: traverse.forall true if empty 0.014s
489 + Traverse for NonEmptyMap: traverse.get reference 0.096s
490 + UnorderedTraverse for tmmUtils NonEmptyMap: unorderedTraverse.unordered traverse parallel composition 0.142s
491 + Unlawful Group for Map: group.combine all 1.266s
492 + Traverse for NonEmptyMap: traverse.invariant composition 0.123s
493 + UnorderedTraverse for tmmUtils NonEmptyMap: unorderedTraverse.unordered traverse sequential composition 0.105s
494 + UnorderedTraverse for tmmUtils NonEmptyMap: unorderedTraverse.unorderedFold consistent with unorderedFoldMap 0.022s
495 + Traverse for NonEmptyMap: traverse.invariant identity 0.036s
496 + Traverse for NonEmptyMap: traverse.nonEmpty reference 0.012s
497 + Functor for tmmUtils NonEmptyMap: functor.covariant composition 0.045s
498 + Traverse for NonEmptyMap: traverse.ordered consistency 0.031s
499 + Functor for tmmUtils NonEmptyMap: functor.covariant identity 0.013s
500 + Functor for tmmUtils NonEmptyMap: functor.invariant composition 0.04s
501 + Traverse for NonEmptyMap: traverse.reduceLeftOption consistent with reduceLeftToOption 0.044s
502 + Functor for tmmUtils NonEmptyMap: functor.invariant identity 0.034s
503 + Traverse for NonEmptyMap: traverse.reduceRightOption consistent with reduceRightToOption 0.063s
504 + Traverse for NonEmptyMap: traverse.takeWhile_ reference 0.032s
505 + Traverse for NonEmptyMap: traverse.toList reference 0.043s
506 + Traverse for NonEmptyMap: traverse.traverse derive foldMap 0.053s
507 + Traverse for NonEmptyMap: traverse.traverse identity 0.076s
508 + Align for tmmUtils NonEmptyMap: align.align associativity 0.255s
509 + Traverse for NonEmptyMap: traverse.traverse order consistency 0.043s
510 + Align for tmmUtils NonEmptyMap: align.align homomorphism 0.068s
511 + Traverse for NonEmptyMap: traverse.traverse parallel composition 0.048s
512 + Align for tmmUtils NonEmptyMap: align.alignWith consistent 0.087s
513 + Monoid for DupelessSeq: monoid.combine all 1.736s
514 + CommutativeSemigroup for tmmUtils NonEmptyMap: commutativeSemigroup.associative 0.092s
515 + Traverse for NonEmptyMap: traverse.traverse ref mapAccumulate 0.179s
516 + Traverse for NonEmptyMap: traverse.traverse ref mapWithIndex 0.101s
517 + Unlawful Group for Map: group.combineAllOption 0.836s
518 + Traverse for NonEmptyMap: traverse.traverse ref traverseWithIndexM 0.053s
519 + Unlawful Group for Map: group.consistent inverse 0.053s
520 + Traverse for NonEmptyMap: traverse.traverse ref zipWithIndex 0.097s
521 + Traverse for NonEmptyMap: traverse.traverse sequential composition 0.067s
522 + Traverse for NonEmptyMap: traverse.traverse traverseTap 0.086s
523 + Traverse for NonEmptyMap: traverse.unordered traverse consistent with sequence 0.017s
524 + Traverse for NonEmptyMap: traverse.unordered traverse parallel composition 0.082s
525 + Traverse for NonEmptyMap: traverse.unordered traverse sequential composition 0.047s
526 + Traverse for NonEmptyMap: traverse.unorderedFold consistent with unorderedFoldMap 0.031s
527au.id.tmm.collections.cats.syntax.safegroupby.SafeGroupBySyntaxSpec:
528 + safe group by for Set should work 0.02s
529 + safe group by for Set should work for groupMap 0.001s
530 + safe group by for Set should work for the key value 0.001s
531 + safe group by for List should work for a list of tuples 0.018s
532 + safe group by for List should work for an empty list 0.002s
533au.id.tmm.collections.cats.instances.NonEmptyDupelessSeqInstancesLawsSpec:
534 + Eq for NonEmptyDupelessSeq: eq.antisymmetry eq 0.015s
535 + Eq for NonEmptyDupelessSeq: eq.reflexivity eq 0.005s
536 + Eq for NonEmptyDupelessSeq: eq.symmetry eq 0.008s
537 + CommutativeSemigroup for tmmUtils NonEmptyMap: commutativeSemigroup.combineAllOption 0.786s
538 + Eq for NonEmptyDupelessSeq: eq.transitivity eq 0.014s
539 + Hash for NonEmptyDupelessSeq: hash.antisymmetry eq 0.009s
540 + Hash for NonEmptyDupelessSeq: hash.hash compatibility 0.009s
541 + CommutativeSemigroup for tmmUtils NonEmptyMap: commutativeSemigroup.commutative 0.024s
542 + Hash for NonEmptyDupelessSeq: hash.reflexivity eq 0.008s
543 + Monoid for DupelessSeq: monoid.combineAllOption 0.907s
544 + Hash for NonEmptyDupelessSeq: hash.same as scala hashing 0.017s
545 + Hash for NonEmptyDupelessSeq: hash.same as universal hash 0.009s
546 + Hash for NonEmptyDupelessSeq: hash.symmetry eq 0.007s
547 + Hash for NonEmptyDupelessSeq: hash.transitivity eq 0.005s
548 + Band for NonEmptyDupelessSeq: band.associative 0.018s
549 + Unlawful Group for Map: group.intercalateCombineAllOption 0.873s
550 + Unlawful Group for Map: group.intercalateIntercalates 0.039s
551 + Unlawful Group for Map: group.intercalateRepeat1 0.022s
552 + Unlawful Group for Map: group.intercalateRepeat2 0.027s
553 + Unlawful Group for Map: group.is id 0.011s
554 + Unlawful Group for Map: group.left identity 0.025s
555==> i au.id.tmm.collections.cats.instances.unlawful.MapUnlawfulInstancesSpec.Unlawful Group for Map: group.left inverse ignored 0.0s
556 + Unlawful Group for Map: group.repeat0 0.025s
557 + Unlawful Group for Map: group.repeat1 0.017s
558 + Unlawful Group for Map: group.repeat2 0.023s
559 + CommutativeSemigroup for tmmUtils NonEmptyMap: commutativeSemigroup.intercalateCombineAllOption 0.648s
560 + CommutativeSemigroup for tmmUtils NonEmptyMap: commutativeSemigroup.intercalateIntercalates 0.053s
561 + Band for NonEmptyDupelessSeq: band.combineAllOption 0.637s
562 + Band for NonEmptyDupelessSeq: band.idempotency 0.003s
563 + CommutativeSemigroup for tmmUtils NonEmptyMap: commutativeSemigroup.intercalateRepeat1 0.038s
564 + CommutativeSemigroup for tmmUtils NonEmptyMap: commutativeSemigroup.intercalateRepeat2 0.035s
565 + CommutativeSemigroup for tmmUtils NonEmptyMap: commutativeSemigroup.repeat1 0.011s
566 + CommutativeSemigroup for tmmUtils NonEmptyMap: commutativeSemigroup.repeat2 0.013s
567 + Monoid for DupelessSeq: monoid.intercalateCombineAllOption 0.888s
568 + Monoid for DupelessSeq: monoid.intercalateIntercalates 0.008s
569 + Monoid for DupelessSeq: monoid.intercalateRepeat1 0.002s
570 + Monoid for DupelessSeq: monoid.intercalateRepeat2 0.006s
571 + Monoid for DupelessSeq: monoid.is id 0.004s
572 + Monoid for DupelessSeq: monoid.left identity 0.002s
573 + Monoid for DupelessSeq: monoid.repeat0 0.002s
574 + Monoid for DupelessSeq: monoid.repeat1 0.002s
575 + Monoid for DupelessSeq: monoid.repeat2 0.003s
576 + Unlawful Group for Map: group.reverseCombineAllOption 0.487s
577 + Unlawful Group for Map: group.reverseRepeat1 0.01s
578 + Unlawful Group for Map: group.reverseRepeat2 0.013s
579 + Unlawful Group for Map: group.reverseReverses 0.022s
580 + Unlawful Group for Map: group.right identity 0.011s
581==> i au.id.tmm.collections.cats.instances.unlawful.MapUnlawfulInstancesSpec.Unlawful Group for Map: group.right inverse ignored 0.0s
582 + Unlawful CommutativeGroup for Map: group.associative 0.031s
583 + Unlawful CommutativeGroup for Map: group.collect0 0.015s
584 + Band for NonEmptyDupelessSeq: band.intercalateCombineAllOption 0.578s
585 + Band for NonEmptyDupelessSeq: band.intercalateIntercalates 0.008s
586 + Band for NonEmptyDupelessSeq: band.intercalateRepeat1 0.004s
587 + Band for NonEmptyDupelessSeq: band.intercalateRepeat2 0.005s
588 + Band for NonEmptyDupelessSeq: band.repeat1 0.002s
589 + Band for NonEmptyDupelessSeq: band.repeat2 0.004s
590 + CommutativeSemigroup for tmmUtils NonEmptyMap: commutativeSemigroup.reverseCombineAllOption 0.582s
591 + CommutativeSemigroup for tmmUtils NonEmptyMap: commutativeSemigroup.reverseRepeat1 0.011s
592 + CommutativeSemigroup for tmmUtils NonEmptyMap: commutativeSemigroup.reverseRepeat2 0.013s
593 + CommutativeSemigroup for tmmUtils NonEmptyMap: commutativeSemigroup.reverseReverses 0.022s
594 + Semigroup for tmmUtils NonEmptyMap: semigroup.associative 0.035s
595 + Unlawful CommutativeGroup for Map: group.combine all 0.42s
596 + Monoid for DupelessSeq: monoid.reverseCombineAllOption 0.751s
597 + Monoid for DupelessSeq: monoid.reverseRepeat1 0.005s
598 + Monoid for DupelessSeq: monoid.reverseRepeat2 0.003s
599 + Monoid for DupelessSeq: monoid.reverseReverses 0.005s
600 + Monoid for DupelessSeq: monoid.right identity 0.003s
601 + Band for DupelessSeq: band.associative 0.007s
602 + Band for NonEmptyDupelessSeq: band.reverseCombineAllOption 0.526s
603 + Band for NonEmptyDupelessSeq: band.reverseRepeat1 0.003s
604 + Band for NonEmptyDupelessSeq: band.reverseRepeat2 0.002s
605 + Band for NonEmptyDupelessSeq: band.reverseReverses 0.003s
606 + SemigroupK for NonEmptyDupelessSeq: semigroupK.semigroupK associative 0.008s
607 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.collectFirst reference 0.003s
608 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.collectFirstSome reference 0.003s
609 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.contains all elements from itself 0.026s
610 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.contains consistent with exists 0.002s
611 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.contains consistent with forall 0.006s
612 + Unlawful CommutativeGroup for Map: group.combineAllOption 0.427s
613 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.covariant composition 0.04s
614 + Unlawful CommutativeGroup for Map: group.consistent inverse 0.045s
615 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.covariant identity 0.014s
616 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.dropWhile_ reference 0.007s
617 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.exists consistent with find 0.007s
618 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.exists is lazy 0.005s
619 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.filter_ reference 0.005s
620 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.fold reference 0.004s
621 + Semigroup for tmmUtils NonEmptyMap: semigroup.combineAllOption 0.521s
622 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.foldLeft consistent with foldMap 0.006s
623 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.foldM identity 0.016s
624 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.foldRight consistent with foldMap 0.008s
625 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.foldRight is lazy 0.003s
626 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.foldRightDefer consistency 0.011s
627 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.forall consistent with exists 0.005s
628 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.forall is lazy 0.002s
629 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.forall true if empty 0.002s
630 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.get reference 0.011s
631 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.invariant composition 0.026s
632 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.invariant identity 0.008s
633 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.nonEmpty reference 0.004s
634 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.nonEmptySequence_ consistent with sequence_ 0.014s
635 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.nonEmptyTraverse derive reduceMap 0.042s
636 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.nonEmptyTraverse identity 0.013s
637 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.nonEmptyTraverse parallel composition 0.02s
638 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.nonEmptyTraverse sequential composition 0.024s
639 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.nonEmptyTraverse_ consistent with traverse_ 0.008s
640 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.ordered consistency 0.005s
641 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.reduce consistent with reduceLeft 0.008s
642 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.reduceLeftOption consistent with reduceLeftToOption 0.01s
643 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.reduceLeftTo consistent with reduceMap 0.01s
644 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.reduceRight consistent with reduceRightOption 0.018s
645 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.reduceRightOption consistent with reduceRightToOption 0.009s
646 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.reduceRightTo consistent with reduceMap 0.008s
647 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.reduceRightTo consistent with reduceRightToOption 0.012s
648 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.size consistent with reduceMap 0.008s
649 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.takeWhile_ reference 0.008s
650 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.toList reference 0.002s
651 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.traverse derive foldMap 0.012s
652 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.traverse identity 0.007s
653 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.traverse order consistency 0.017s
654 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.traverse parallel composition 0.012s
655 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.traverse ref mapAccumulate 0.022s
656 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.traverse ref mapWithIndex 0.018s
657 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.traverse ref traverseWithIndexM 0.01s
658 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.traverse ref zipWithIndex 0.027s
659 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.traverse sequential composition 0.012s
660 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.traverse traverseTap 0.008s
661 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.unordered traverse consistent with sequence 0.007s
662 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.unordered traverse parallel composition 0.013s
663 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.unordered traverse sequential composition 0.01s
664 + Band for DupelessSeq: band.combineAllOption 0.773s
665 + Band for DupelessSeq: band.idempotency 0.003s
666 + NonEmptyTraverse for NonEmptyDupelessSeq: nonEmptyTraverse.unorderedFold consistent with unorderedFoldMap 0.002s
667 + Semigroup for tmmUtils NonEmptyMap: semigroup.intercalateCombineAllOption 0.789s
668 + Unlawful CommutativeGroup for Map: group.intercalateCombineAllOption 0.852s
669 + Semigroup for tmmUtils NonEmptyMap: semigroup.intercalateIntercalates 0.065s
670 + Monad for NonEmptyDupelessSeq: monad.ap consistent with product + map 0.36s
671 + Unlawful CommutativeGroup for Map: group.intercalateIntercalates 0.068s
672 + Monad for NonEmptyDupelessSeq: monad.applicative homomorphism 0.006s
673 + Semigroup for tmmUtils NonEmptyMap: semigroup.intercalateRepeat1 0.036s
674 + Monad for NonEmptyDupelessSeq: monad.applicative identity 0.007s
675 + Unlawful CommutativeGroup for Map: group.intercalateRepeat1 0.027s
676 + Monad for NonEmptyDupelessSeq: monad.applicative interchange 0.021s
677 + Semigroup for tmmUtils NonEmptyMap: semigroup.intercalateRepeat2 0.024s
678 + Monad for NonEmptyDupelessSeq: monad.applicative map 0.007s
679 + Monad for NonEmptyDupelessSeq: monad.applicative unit 0.001s
680 + Semigroup for tmmUtils NonEmptyMap: semigroup.repeat1 0.018s
681 + Unlawful CommutativeGroup for Map: group.intercalateRepeat2 0.025s
682 + Unlawful CommutativeGroup for Map: group.is id 0.011s
683 + Semigroup for tmmUtils NonEmptyMap: semigroup.repeat2 0.015s
684 + Unlawful CommutativeGroup for Map: group.left identity 0.016s
685==> i au.id.tmm.collections.cats.instances.unlawful.MapUnlawfulInstancesSpec.Unlawful CommutativeGroup for Map: group.left inverse ignored 0.0s
686 + Unlawful CommutativeGroup for Map: group.repeat0 0.011s
687 + Unlawful CommutativeGroup for Map: group.repeat1 0.012s
688 + Unlawful CommutativeGroup for Map: group.repeat2 0.012s
689 + Semigroup for tmmUtils NonEmptyMap: semigroup.reverseCombineAllOption 0.372s
690 + Band for DupelessSeq: band.intercalateCombineAllOption 0.814s
691 + Band for DupelessSeq: band.intercalateIntercalates 0.007s
692 + Semigroup for tmmUtils NonEmptyMap: semigroup.reverseRepeat1 0.011s
693 + Unlawful CommutativeGroup for Map: group.reverseCombineAllOption 0.332s
694 + Band for DupelessSeq: band.intercalateRepeat1 0.003s
695 + Band for DupelessSeq: band.intercalateRepeat2 0.007s
696 + Unlawful CommutativeGroup for Map: group.reverseRepeat1 0.011s
697 + Semigroup for tmmUtils NonEmptyMap: semigroup.reverseRepeat2 0.013s
698 + Band for DupelessSeq: band.repeat1 0.004s
699 + Band for DupelessSeq: band.repeat2 0.006s
700 + Unlawful CommutativeGroup for Map: group.reverseRepeat2 0.02s
701 + Semigroup for tmmUtils NonEmptyMap: semigroup.reverseReverses 0.024s
702 + Unlawful CommutativeGroup for Map: group.reverseReverses 0.041s
703 + Unlawful CommutativeGroup for Map: group.right identity 0.01s
704==> i au.id.tmm.collections.cats.instances.unlawful.MapUnlawfulInstancesSpec.Unlawful CommutativeGroup for Map: group.right inverse ignored 0.0s
705au.id.tmm.collections.cats.instances.NonEmptySetInstancesLawsSpec:
706==> i au.id.tmm.collections.cats.instances.NonEmptySetInstancesLawsSpec.Eq for tmmUtils NonEmptySet: eq.antisymmetry eq ignored 0.0s
707 + Eq for tmmUtils NonEmptySet: eq.reflexivity eq 0.006s
708 + Eq for tmmUtils NonEmptySet: eq.symmetry eq 0.005s
709 + Eq for tmmUtils NonEmptySet: eq.transitivity eq 0.005s
710 + Hash for tmmUtils NonEmptySet: hash.antisymmetry eq 0.005s
711 + Hash for tmmUtils NonEmptySet: hash.hash compatibility 0.004s
712 + Hash for tmmUtils NonEmptySet: hash.reflexivity eq 0.002s
713 + Hash for tmmUtils NonEmptySet: hash.same as scala hashing 0.005s
714 + Hash for tmmUtils NonEmptySet: hash.same as universal hash 0.008s
715 + Hash for tmmUtils NonEmptySet: hash.symmetry eq 0.005s
716 + Hash for tmmUtils NonEmptySet: hash.transitivity eq 0.008s
717 + Semilattice for tmmUtils NonEmptySet: semilattice.associative 0.022s
718 + Functor over keys for tmmUtils NonEmptyMap: functor.covariant composition 0.201s
719 + Functor over keys for tmmUtils NonEmptyMap: functor.covariant identity 0.027s
720 + Semilattice for tmmUtils NonEmptySet: semilattice.combineAllOption 0.164s
721 + Semilattice for tmmUtils NonEmptySet: semilattice.commutative 0.008s
722 + Semilattice for tmmUtils NonEmptySet: semilattice.idempotency 0.002s
723 + Functor over keys for tmmUtils NonEmptyMap: functor.invariant composition 0.149s
724 + Functor over keys for tmmUtils NonEmptyMap: functor.invariant identity 0.022s
725 + SemigroupK over keys for tmmUtils NonEmptyMap: semigroupK.semigroupK associative 0.044s
726au.id.tmm.collections.cats.instances.NonEmptyArraySeqInstancesLawsSpec:
727 + Eq for NonEmptyArraySeq: eq.antisymmetry eq 0.013s
728 + Eq for NonEmptyArraySeq: eq.reflexivity eq 0.008s
729 + Eq for NonEmptyArraySeq: eq.symmetry eq 0.007s
730 + Eq for NonEmptyArraySeq: eq.transitivity eq 0.008s
731 + Hash for NonEmptyArraySeq: hash.antisymmetry eq 0.006s
732 + Hash for NonEmptyArraySeq: hash.hash compatibility 0.006s
733 + Hash for NonEmptyArraySeq: hash.reflexivity eq 0.002s
734 + Hash for NonEmptyArraySeq: hash.same as scala hashing 0.005s
735 + Hash for NonEmptyArraySeq: hash.same as universal hash 0.008s
736 + Hash for NonEmptyArraySeq: hash.symmetry eq 0.002s
737 + Hash for NonEmptyArraySeq: hash.transitivity eq 0.003s
738 + Semilattice for tmmUtils NonEmptySet: semilattice.intercalateCombineAllOption 0.279s
739 + Semilattice for tmmUtils NonEmptySet: semilattice.intercalateIntercalates 0.004s
740 + Semilattice for tmmUtils NonEmptySet: semilattice.intercalateRepeat1 0.005s
741 + Semilattice for tmmUtils NonEmptySet: semilattice.intercalateRepeat2 0.006s
742 + Semilattice for tmmUtils NonEmptySet: semilattice.repeat1 0.004s
743 + Semilattice for tmmUtils NonEmptySet: semilattice.repeat2 0.002s
744 + Semilattice for tmmUtils NonEmptySet: semilattice.reverseCombineAllOption 0.088s
745 + Semilattice for tmmUtils NonEmptySet: semilattice.reverseRepeat1 0.004s
746 + Semilattice for tmmUtils NonEmptySet: semilattice.reverseRepeat2 0.005s
747 + Semilattice for tmmUtils NonEmptySet: semilattice.reverseReverses 0.006s
748 + SemigroupK for tmmUtils NonEmptySet: semigroupK.semigroupK associative 0.008s
749 + UnorderedTraverse for tmmUtils NonEmptySet: unorderedTraverse.contains all elements from itself 0.024s
750 + UnorderedTraverse for tmmUtils NonEmptySet: unorderedTraverse.contains consistent with exists 0.003s
751 + UnorderedTraverse for tmmUtils NonEmptySet: unorderedTraverse.contains consistent with forall 0.003s
752 + UnorderedTraverse for tmmUtils NonEmptySet: unorderedTraverse.exists is lazy 0.002s
753 + UnorderedTraverse for tmmUtils NonEmptySet: unorderedTraverse.forall consistent with exists 0.002s
754 + UnorderedTraverse for tmmUtils NonEmptySet: unorderedTraverse.forall is lazy 0.002s
755 + UnorderedTraverse for tmmUtils NonEmptySet: unorderedTraverse.forall true if empty 0.006s
756 + Bimonad for NonEmptyArraySeq: bimonad.ap consistent with product + map 0.224s
757 + Bimonad for NonEmptyArraySeq: bimonad.applicative homomorphism 0.001s
758 + Bimonad for NonEmptyArraySeq: bimonad.applicative identity 0.003s
759 + UnorderedTraverse for tmmUtils NonEmptySet: unorderedTraverse.nonEmpty reference 0.007s
760 + Bimonad for NonEmptyArraySeq: bimonad.applicative interchange 0.01s
761 + UnorderedTraverse for tmmUtils NonEmptySet: unorderedTraverse.unordered traverse consistent with sequence 0.015s
762 + Bimonad for NonEmptyArraySeq: bimonad.applicative map 0.008s
763 + Bimonad for NonEmptyArraySeq: bimonad.applicative unit 0.003s
764 + UnorderedTraverse for tmmUtils NonEmptySet: unorderedTraverse.unordered traverse parallel composition 0.014s
765 + UnorderedTraverse for tmmUtils NonEmptySet: unorderedTraverse.unordered traverse sequential composition 0.019s
766 + UnorderedTraverse for tmmUtils NonEmptySet: unorderedTraverse.unorderedFold consistent with unorderedFoldMap 0.005s
767 + Band for DupelessSeq: band.reverseCombineAllOption 0.956s
768 + Band for DupelessSeq: band.reverseRepeat1 0.002s
769 + Band for DupelessSeq: band.reverseRepeat2 0.002s
770 + Band for DupelessSeq: band.reverseReverses 0.004s
771 + MonoidK for DupelessSeq: monoidK.monoidK left identity 0.003s
772 + MonoidK for DupelessSeq: monoidK.monoidK right identity 0.002s
773 + MonoidK for DupelessSeq: monoidK.semigroupK associative 0.008s
774 + Traverse for DupelessSeq: traverse.collectFirst reference 0.011s
775 + Traverse for DupelessSeq: traverse.collectFirstSome reference 0.009s
776 + Traverse for DupelessSeq: traverse.contains all elements from itself 0.024s
777 + Traverse for DupelessSeq: traverse.contains consistent with exists 0.003s
778 + Traverse for DupelessSeq: traverse.contains consistent with forall 0.005s
779 + Traverse for DupelessSeq: traverse.covariant composition 0.012s
780 + Traverse for DupelessSeq: traverse.covariant identity 0.005s
781 + Traverse for DupelessSeq: traverse.dropWhile_ reference 0.006s
782 + Traverse for DupelessSeq: traverse.exists consistent with find 0.006s
783 + Traverse for DupelessSeq: traverse.exists is lazy 0.007s
784 + Traverse for DupelessSeq: traverse.filter_ reference 0.007s
785 + Traverse for DupelessSeq: traverse.fold reference 0.006s
786 + Monad for NonEmptySet: monad.ap consistent with product + map 0.227s
787 + Monad for NonEmptySet: monad.applicative homomorphism 0.003s
788 + Monad for NonEmptySet: monad.applicative identity 0.004s
789 + Monad for NonEmptySet: monad.applicative interchange 0.011s
790 + Monad for NonEmptySet: monad.applicative map 0.006s
791 + Monad for NonEmptySet: monad.applicative unit 0.002s
792 + Traverse for DupelessSeq: traverse.foldLeft consistent with foldMap 0.114s
793 + Traverse for DupelessSeq: traverse.foldM identity 0.151s
794 + Traverse for DupelessSeq: traverse.foldRight consistent with foldMap 0.111s
795 + Traverse for DupelessSeq: traverse.foldRight is lazy 0.003s
796 + Traverse for DupelessSeq: traverse.foldRightDefer consistency 0.137s
797 + Traverse for DupelessSeq: traverse.forall consistent with exists 0.002s
798 + Traverse for DupelessSeq: traverse.forall is lazy 0.002s
799 + Traverse for DupelessSeq: traverse.forall true if empty 0.003s
800 + Traverse for DupelessSeq: traverse.get reference 0.002s
801 + Traverse for DupelessSeq: traverse.invariant composition 0.013s
802 + Traverse for DupelessSeq: traverse.invariant identity 0.003s
803 + Traverse for DupelessSeq: traverse.nonEmpty reference 0.002s
804 + Traverse for DupelessSeq: traverse.ordered consistency 0.004s
805 + Traverse for DupelessSeq: traverse.reduceLeftOption consistent with reduceLeftToOption 0.007s
806 + Traverse for DupelessSeq: traverse.reduceRightOption consistent with reduceRightToOption 0.02s
807 + Traverse for DupelessSeq: traverse.takeWhile_ reference 0.004s
808 + Traverse for DupelessSeq: traverse.toList reference 0.002s
809 + Traverse for DupelessSeq: traverse.traverse derive foldMap 0.2s
810 + Traverse for DupelessSeq: traverse.traverse identity 0.01s
811 + Traverse for DupelessSeq: traverse.traverse order consistency 0.007s
812 + Traverse for DupelessSeq: traverse.traverse parallel composition 0.017s
813 + Traverse for DupelessSeq: traverse.traverse ref mapAccumulate 0.119s
814 + Traverse for DupelessSeq: traverse.traverse ref mapWithIndex 0.013s
815 + Traverse for DupelessSeq: traverse.traverse ref traverseWithIndexM 0.01s
816 + Traverse for DupelessSeq: traverse.traverse ref zipWithIndex 0.014s
817 + Traverse for DupelessSeq: traverse.traverse sequential composition 0.009s
818 + Traverse for DupelessSeq: traverse.traverse traverseTap 0.025s
819 + Traverse for DupelessSeq: traverse.unordered traverse consistent with sequence 0.028s
820 + Traverse for DupelessSeq: traverse.unordered traverse parallel composition 0.097s
821 + Traverse for DupelessSeq: traverse.unordered traverse sequential composition 0.039s
822 + Traverse for DupelessSeq: traverse.unorderedFold consistent with unorderedFoldMap 0.005s
823 + Monad for DupelessSeq: monad.ap consistent with product + map 0.223s
824 + Monad for DupelessSeq: monad.applicative homomorphism 0.003s
825 + Monad for DupelessSeq: monad.applicative identity 0.005s
826 + Monad for DupelessSeq: monad.applicative interchange 0.016s
827 + Monad for DupelessSeq: monad.applicative map 0.016s
828 + Monad for DupelessSeq: monad.applicative unit 0.005s
829 + Monad for NonEmptyDupelessSeq: monad.apply composition 4.727s
830 + Monad for NonEmptyDupelessSeq: monad.covariant composition 0.01s
831 + Monad for NonEmptyDupelessSeq: monad.covariant identity 0.005s
832 + Monad for NonEmptySet: monad.apply composition 3.167s
833 + Monad for NonEmptySet: monad.covariant composition 0.006s
834 + Monad for NonEmptySet: monad.covariant identity 0.002s
835 + Monad for NonEmptySet: monad.flatMap associativity 1.318s
836 + Monad for NonEmptySet: monad.flatMap consistent apply 0.11s
837 + Monad for NonEmptySet: monad.flatMap from tailRecM consistency 0.173s
838 + Monad for NonEmptyDupelessSeq: monad.flatMap associativity 1.619s
839 + Monad for NonEmptySet: monad.invariant composition 0.015s
840 + Monad for NonEmptySet: monad.invariant identity 0.005s
841 + Monad for NonEmptySet: monad.map flatMap coherence 0.008s
842 + Monad for NonEmptyDupelessSeq: monad.flatMap consistent apply 0.115s
843 + Monad for NonEmptySet: monad.map2/map2Eval consistency 0.096s
844 + Monad for NonEmptySet: monad.map2/product-map consistency 0.155s
845 + Monad for NonEmptySet: monad.monad left identity 0.004s
846 + Monad for NonEmptySet: monad.monad right identity 0.003s
847 + Monad for NonEmptySet: monad.monoidal left identity 0.005s
848 + Monad for NonEmptySet: monad.monoidal right identity 0.005s
849 + Monad for NonEmptyDupelessSeq: monad.flatMap from tailRecM consistency 0.207s
850 + Monad for NonEmptyDupelessSeq: monad.invariant composition 0.006s
851 + Monad for NonEmptyDupelessSeq: monad.invariant identity 0.002s
852 + Monad for NonEmptyDupelessSeq: monad.map flatMap coherence 0.007s
853 + Monad for NonEmptyDupelessSeq: monad.map2/map2Eval consistency 0.093s
854 + Monad for NonEmptySet: monad.mproduct consistent flatMap 0.167s
855 + Monad for NonEmptySet: monad.productL consistent map2 0.032s
856 + Monad for NonEmptySet: monad.productR consistent map2 0.028s
857 + Monad for NonEmptyDupelessSeq: monad.map2/product-map consistency 0.107s
858 + Monad for NonEmptyDupelessSeq: monad.monad left identity 0.007s
859 + Monad for NonEmptyDupelessSeq: monad.monad right identity 0.003s
860 + Monad for NonEmptyDupelessSeq: monad.monoidal left identity 0.018s
861 + Monad for NonEmptyDupelessSeq: monad.monoidal right identity 0.015s
862 + Monad for NonEmptySet: monad.replicateA_ consistent with replicateA.void 0.109s
863 + Monad for DupelessSeq: monad.apply composition 4.092s
864 + Monad for DupelessSeq: monad.covariant composition 0.007s
865 + Monad for DupelessSeq: monad.covariant identity 0.002s
866 + Monad for NonEmptyDupelessSeq: monad.mproduct consistent flatMap 0.262s
867 + Monad for NonEmptyDupelessSeq: monad.productL consistent map2 0.022s
868 + Monad for NonEmptyDupelessSeq: monad.productR consistent map2 0.021s
869 + Bimonad for NonEmptyArraySeq: bimonad.apply composition 5.988s
870 + Monad for NonEmptyDupelessSeq: monad.replicateA_ consistent with replicateA.void 0.125s
871 + Bimonad for NonEmptyArraySeq: bimonad.coflatMap associativity 0.216s
872 + Bimonad for NonEmptyArraySeq: bimonad.coflatMap identity 0.01s
873 + Bimonad for NonEmptyArraySeq: bimonad.coflatMapIdentity 0.007s
874 + Bimonad for NonEmptyArraySeq: bimonad.coflatten coherence 0.076s
875 + Bimonad for NonEmptyArraySeq: bimonad.coflatten throughMap 0.041s
876 + Bimonad for NonEmptyArraySeq: bimonad.coflattenCoherence 0.031s
877 + Bimonad for NonEmptyArraySeq: bimonad.coflattenThroughMap 0.029s
878 + Bimonad for NonEmptyArraySeq: bimonad.comonad left identity 0.006s
879 + Bimonad for NonEmptyArraySeq: bimonad.comonad right identity 0.008s
880 + Bimonad for NonEmptyArraySeq: bimonad.covariant composition 0.007s
881 + Bimonad for NonEmptyArraySeq: bimonad.covariant identity 0.003s
882 + Bimonad for NonEmptyArraySeq: bimonad.extract/flatMap entwining 0.035s
883 + Bimonad for NonEmptyArraySeq: bimonad.extractCoflattenIdentity 0.002s
884 + Monad for DupelessSeq: monad.flatMap associativity 1.479s
885 + Monad for DupelessSeq: monad.flatMap consistent apply 0.128s
886 + Monad for DupelessSeq: monad.flatMap from tailRecM consistency 0.081s
887 + Monad for DupelessSeq: monad.invariant composition 0.009s
888 + Monad for DupelessSeq: monad.invariant identity 0.004s
889 + Monad for DupelessSeq: monad.map flatMap coherence 0.006s
890 + Monad for DupelessSeq: monad.map2/map2Eval consistency 0.076s
891 + Monad for DupelessSeq: monad.map2/product-map consistency 0.107s
892 + Monad for DupelessSeq: monad.monad left identity 0.005s
893 + Monad for DupelessSeq: monad.monad right identity 0.003s
894 + Monad for DupelessSeq: monad.monoidal left identity 0.008s
895 + Monad for DupelessSeq: monad.monoidal right identity 0.006s
896 + Monad for DupelessSeq: monad.mproduct consistent flatMap 0.109s
897 + Monad for DupelessSeq: monad.productL consistent map2 0.018s
898 + Monad for DupelessSeq: monad.productR consistent map2 0.016s
899 + Monad for DupelessSeq: monad.replicateA_ consistent with replicateA.void 0.042s
900 + Monad for NonEmptySet: monad.semigroupal associativity 2.867s
901 + Monad for NonEmptySet: monad.tailRecM consistent flatMap 0.135s
902 + Monad for NonEmptySet: monad.tailRecM stack safety 0.067s
903 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.collectFirst reference 0.006s
904 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.collectFirstSome reference 0.006s
905 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.contains all elements from itself 0.019s
906 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.contains consistent with exists 0.002s
907 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.contains consistent with forall 0.006s
908 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.covariant composition 0.008s
909 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.covariant identity 0.002s
910 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.dropWhile_ reference 0.005s
911 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.exists consistent with find 0.011s
912 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.exists is lazy 0.005s
913 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.filter_ reference 0.006s
914 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.fold reference 0.006s
915 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.foldLeft consistent with foldMap 0.007s
916 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.foldM identity 0.003s
917 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.foldRight consistent with foldMap 0.01s
918 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.foldRight is lazy 0.005s
919 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.foldRightDefer consistency 0.006s
920 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.forall consistent with exists 0.007s
921 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.forall is lazy 0.005s
922 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.forall true if empty 0.002s
923 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.get reference 0.004s
924 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.invariant composition 0.014s
925 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.invariant identity 0.002s
926 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.nonEmpty reference 0.001s
927 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.nonEmptySequence_ consistent with sequence_ 0.015s
928 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.nonEmptyTraverse derive reduceMap 0.02s
929 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.nonEmptyTraverse identity 0.043s
930 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.nonEmptyTraverse parallel composition 0.025s
931 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.nonEmptyTraverse sequential composition 0.013s
932 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.nonEmptyTraverse_ consistent with traverse_ 0.01s
933 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.ordered consistency 0.003s
934 + Bimonad for NonEmptyArraySeq: bimonad.flatMap associativity 2.613s
935 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.reduce consistent with reduceLeft 0.006s
936 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.reduceLeftOption consistent with reduceLeftToOption 0.01s
937 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.reduceLeftTo consistent with reduceMap 0.007s
938 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.reduceRight consistent with reduceRightOption 0.011s
939 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.reduceRightOption consistent with reduceRightToOption 0.007s
940 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.reduceRightTo consistent with reduceMap 0.01s
941 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.reduceRightTo consistent with reduceRightToOption 0.011s
942 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.size consistent with reduceMap 0.005s
943 + Bimonad for NonEmptyArraySeq: bimonad.flatMap consistent apply 0.08s
944 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.takeWhile_ reference 0.009s
945 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.toList reference 0.006s
946 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.traverse derive foldMap 0.01s
947 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.traverse identity 0.01s
948==> i au.id.tmm.collections.cats.instances.NonEmptySetInstancesLawsSpec.NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.traverse order consistency ignored 0.0s
949 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.traverse parallel composition 0.021s
950 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.traverse ref mapAccumulate 0.026s
951 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.traverse ref mapWithIndex 0.007s
952 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.traverse ref traverseWithIndexM 0.01s
953 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.traverse ref zipWithIndex 0.011s
954 + Bimonad for NonEmptyArraySeq: bimonad.flatMap from tailRecM consistency 0.11s
955 + Bimonad for NonEmptyArraySeq: bimonad.invariant composition 0.013s
956 + Bimonad for NonEmptyArraySeq: bimonad.invariant identity 0.001s
957 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.traverse sequential composition 0.017s
958 + Bimonad for NonEmptyArraySeq: bimonad.map flatMap coherence 0.007s
959 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.traverse traverseTap 0.01s
960 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.unordered traverse consistent with sequence 0.008s
961 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.unordered traverse parallel composition 0.019s
962 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.unordered traverse sequential composition 0.01s
963 + NonEmptyTraverse for NonEmptySet: nonEmptyTraverse.unorderedFold consistent with unorderedFoldMap 0.002s
964au.id.tmm.collections.cats.syntax.NonEmptySetOpsSpec:
965 + a non-empty set can be converted to a cats NonEmptyList 0.002s
966 + a non-empty set can be converted to a cats NonEmptyVector 0.002s
967 + a non-empty list can be converted to a tmmUtils NonEmptySet 0.001s
968 + a non-empty vector can be converted to a tmmUtils NonEmptySet 0.0s
969au.id.tmm.collections.cats.instances.MapOverKeysInstancesLawsSpec:
970 + Bimonad for NonEmptyArraySeq: bimonad.map2/map2Eval consistency 0.241s
971 + Functor for Map over keys: functor.covariant composition 0.177s
972 + Functor for Map over keys: functor.covariant identity 0.012s
973 + Functor for Map over keys: functor.invariant composition 0.099s
974 + Bimonad for NonEmptyArraySeq: bimonad.map2/product-map consistency 0.145s
975 + Functor for Map over keys: functor.invariant identity 0.017s
976 + Bimonad for NonEmptyArraySeq: bimonad.mapCoflatMapCoherence 0.01s
977 + Bimonad for NonEmptyArraySeq: bimonad.mapCoflattenIdentity 0.006s
978 + MonoidK for Map over keys: monoidK.monoidK left identity 0.012s
979 + Bimonad for NonEmptyArraySeq: bimonad.monad left identity 0.006s
980 + Bimonad for NonEmptyArraySeq: bimonad.monad right identity 0.001s
981 + Bimonad for NonEmptyArraySeq: bimonad.monoidal left identity 0.029s
982 + Bimonad for NonEmptyArraySeq: bimonad.monoidal right identity 0.009s
983 + MonoidK for Map over keys: monoidK.monoidK right identity 0.053s
984 + MonoidK for Map over keys: monoidK.semigroupK associative 0.067s
985au.id.tmm.collections.cats.instances.NonEmptyDupelessSeqInstancesSpec:
986 + the semigroup instance for NonEmptyDupelessSeq can be found with a simple import 0.0s
987 + the show instance for NonEmptyDupelessSeq should produce a sensible string 0.001s
988 + Bimonad for NonEmptyArraySeq: bimonad.mproduct consistent flatMap 0.167s
989 + Bimonad for NonEmptyArraySeq: bimonad.productL consistent map2 0.026s
990 + Bimonad for NonEmptyArraySeq: bimonad.productR consistent map2 0.022s
991 + Bimonad for NonEmptyArraySeq: bimonad.pure andThen extract = id 0.001s
992 + Bimonad for NonEmptyArraySeq: bimonad.pure/coflatMap entwining 0.002s
993 + Bimonad for NonEmptyArraySeq: bimonad.replicateA_ consistent with replicateA.void 0.011s
994 + Monad for DupelessSeq: monad.semigroupal associativity 3.451s
995 + Monad for DupelessSeq: monad.tailRecM consistent flatMap 0.084s
996 + Monad for DupelessSeq: monad.tailRecM stack safety 0.117s
997 + Bimonad for NonEmptyArraySeq: bimonad.semigroupal associativity 2.09s
998 + Bimonad for NonEmptyArraySeq: bimonad.tailRecM consistent flatMap 0.052s
999 + Bimonad for NonEmptyArraySeq: bimonad.tailRecM stack safety 0.016s
1000 + SemigroupK for NonEmptyArraySeq: semigroupK.semigroupK associative 0.004s
1001 + Align for NonEmptyArraySeq: align.align associativity 0.019s
1002 + Align for NonEmptyArraySeq: align.align homomorphism 0.016s
1003 + Align for NonEmptyArraySeq: align.alignWith consistent 0.01s
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.02s
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.142s
1010 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.covariant identity 0.002s
1011 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.dropWhile_ reference 0.01s
1012 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.exists consistent with find 0.002s
1013 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.exists is lazy 0.001s
1014 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.filter_ reference 0.005s
1015 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.fold reference 0.004s
1016 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.foldLeft consistent with foldMap 0.004s
1017 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.foldM identity 0.004s
1018 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.foldRight consistent with foldMap 0.004s
1019 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.foldRight is lazy 0.001s
1020 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.foldRightDefer consistency 0.007s
1021 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.forall consistent with exists 0.001s
1022 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.forall is lazy 0.003s
1023 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.forall true if empty 0.002s
1024 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.get reference 0.002s
1025 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.invariant composition 0.006s
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.007s
1029 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.nonEmptyTraverse derive reduceMap 0.006s
1030 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.nonEmptyTraverse identity 0.008s
1031 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.nonEmptyTraverse parallel composition 0.016s
1032 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.nonEmptyTraverse sequential composition 0.01s
1033 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.nonEmptyTraverse_ consistent with traverse_ 0.005s
1034 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.ordered consistency 0.002s
1035 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.reduce consistent with reduceLeft 0.002s
1036 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.reduceLeftOption consistent with reduceLeftToOption 0.004s
1037 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.reduceLeftTo consistent with reduceMap 0.004s
1038 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.reduceRight consistent with reduceRightOption 0.006s
1039 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.reduceRightOption consistent with reduceRightToOption 0.004s
1040 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.reduceRightTo consistent with reduceMap 0.005s
1041 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.reduceRightTo consistent with reduceRightToOption 0.005s
1042 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.size consistent with reduceMap 0.002s
1043 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.takeWhile_ reference 0.003s
1044 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.toList reference 0.002s
1045 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.traverse derive foldMap 0.004s
1046 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.traverse identity 0.004s
1047 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.traverse order consistency 0.003s
1048 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.traverse parallel composition 0.005s
1049 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.traverse ref mapAccumulate 0.011s
1050 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.traverse ref mapWithIndex 0.008s
1051 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.traverse ref traverseWithIndexM 0.002s
1052 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.traverse ref zipWithIndex 0.008s
1053 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.traverse sequential composition 0.006s
1054 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.traverse traverseTap 0.004s
1055 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.unordered traverse consistent with sequence 0.002s
1056 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.unordered traverse parallel composition 0.005s
1057 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.unordered traverse sequential composition 0.004s
1058 + NonEmptyTraverse for NonEmptyArraySeq: nonEmptyTraverse.unorderedFold consistent with unorderedFoldMap 0.002s
1059 + Semigroup for NonEmptyArraySeq: semigroup.associative 0.002s
1060 + Semigroup for NonEmptyArraySeq: semigroup.combineAllOption 0.023s
1061 + Semigroup for NonEmptyArraySeq: semigroup.intercalateCombineAllOption 0.15s
1062 + Semigroup for NonEmptyArraySeq: semigroup.intercalateIntercalates 0.003s
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.002s
1067 + Semigroup for NonEmptyArraySeq: semigroup.reverseCombineAllOption 0.02s
1068 + Semigroup for NonEmptyArraySeq: semigroup.reverseRepeat1 0.001s
1069 + Semigroup for NonEmptyArraySeq: semigroup.reverseRepeat2 0.001s
1070 + Semigroup for NonEmptyArraySeq: semigroup.reverseReverses 0.001s
1071 + Monad for NonEmptyDupelessSeq: monad.semigroupal associativity 12.094s
1072 + Monad for NonEmptyDupelessSeq: monad.tailRecM consistent flatMap 0.051s
1073 + Monad for NonEmptyDupelessSeq: monad.tailRecM stack safety 0.012s
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-RC2/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-RC2/test-classes ...
1081[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
1082[warn] one warning found
1083[info] done compiling
1084au.id.tmm.collections.circe.codecs.NonEmptySetCodecSpec:
1085au.id.tmm.collections.circe.codecs.NonEmptyArraySeqCodecsSpec:
1086au.id.tmm.collections.circe.codecs.DupelessSeqCodecsSpec:
1087 + the non empty set encoder should encode a non-empty set of ordered elements 0.082s
1088 + the nonEmptyArraySeqEncoder should encode a dupeless seq 0.086s
1089 + the dupelessSeqEncoder should encode a dupeless seq 0.086s
1090 + the non empty set encoder can encode a non-empty set of unordered elements 0.005s
1091 + the nonEmptyArraySeqDecoder should decode an array 0.006s
1092 + the non-empty set decoder can decode a non-empty json array 0.002s
1093 + the dupelessSeqDecoder should decode an array 0.009s
1094 + the dupelessSeqDecoder should silently drop duplicates when decoding 0.0s
1095 + the non-empty set decoder can not decode an empty json array 0.006s
1096 + the nonEmptyArraySeqDecoder should error if decoding an empty array 0.01s
1097 + the nonEmptyArraySeqDecoder should specialise the underlying ArraySeq if a classtag is available 0.0s
1098au.id.tmm.collections.circe.codecs.ArraySeqDecodersSpec:
1099 + the ArraySeq decoder should return a ref ArraySeq if its usage is untagged 0.003s
1100au.id.tmm.collections.circe.codecs.NonEmptyDupelessSeqCodecsSpec:
1101 + the ArraySeq decoder should return a ref ArraySeq for a tagged reference type 0.001s
1102 + the ArraySeq decoder should return a specialised ArraySeq for a tagged primative type 0.0s
1103au.id.tmm.collections.circe.codecs.NonEmptyMapCodecsSpec:
1104 + the nonEmptyDupelessSeqEncoder should encode a dupeless seq 0.006s
1105 + the nonEmptyDupelessSeqDecoder should decode an array 0.001s
1106 + the nonEmptyDupelessSeqDecoder should silently drop duplicates when decoding 0.0s
1107 + the nonEmptyDupelessSeqDecoder should error if decoding an empty array 0.0s
1108 + the non empty map encoder should encode a non-empty map with ordered keys 0.012s
1109 + the non empty map encoder can encode a non-empty map with unordered keys 0.015s
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.001s
1112au.id.tmm.collections.circe.codecs.CirceCodecLawsSuite:
1113 + ArraySeq codecs: codec.consistency with accumulating 0.093s
1114 + ArraySeq codecs: codec.decoder serializability 0.019s
1115 + ArraySeq codecs: codec.encoder serializability 0.009s
1116 + ArraySeq codecs: codec.roundTrip 0.015s
1117 + NonEmptyArraySeq codecs: codec.consistency with accumulating 0.048s
1118 + NonEmptyArraySeq codecs: codec.decoder serializability 0.012s
1119 + NonEmptyArraySeq codecs: codec.encoder serializability 0.003s
1120 + NonEmptyArraySeq codecs: codec.roundTrip 0.012s
1121 + DupelessSeq codecs: codec.consistency with accumulating 0.073s
1122 + DupelessSeq codecs: codec.decoder serializability 0.004s
1123 + DupelessSeq codecs: codec.encoder serializability 0.001s
1124 + DupelessSeq codecs: codec.roundTrip 0.01s
1125 + NonEmptyDupelessSeq codecs: codec.consistency with accumulating 0.029s
1126 + NonEmptyDupelessSeq codecs: codec.decoder serializability 0.004s
1127 + NonEmptyDupelessSeq codecs: codec.encoder serializability 0.002s
1128 + NonEmptyDupelessSeq codecs: codec.roundTrip 0.015s
1129 + NonEmptySet codecs: codec.consistency with accumulating 0.05s
1130 + NonEmptySet codecs: codec.decoder serializability 0.009s
1131 + NonEmptySet codecs: codec.encoder serializability 0.003s
1132 + NonEmptySet codecs: codec.roundTrip 0.008s
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-RC2/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.SeqOpsSpec:
1140au.id.tmm.collections.NonEmptySetSpec:
1141au.id.tmm.collections.NonEmptyDupelessSeqSpec:
1142au.id.tmm.collections.syntax.IterableOpsSpec:
1143 + a non-empty dupelessSeq be flattened 0.013s
1144 + at most one return None for an empty iterable 0.013s
1145 + finding every nth element return empty for an empty seq 0.013s
1146 + A non-empty set be constructed with a single element 0.013s
1147 + A non-empty set be constructed with multiple elements 0.0s
1148 + at most one return Some for a single element list 0.0s
1149 + finding every nth element return the first element if there are less than n elements 0.0s
1150 + A non-empty set not be equal to another set with a different implementation but same elements 0.0s
1151 + a non-empty dupelessSeq be flatMapped to another non-empty dupelessSeq 0.002s
1152 + finding every nth element return every nth element 0.001s
1153 + finding every nth element drop any extra elements 0.001s
1154 + a non-empty dupelessSeq be flatMapped to a possibly empty collection 0.001s
1155 + a non-empty dupelessSeq be converted to an ArraySeq 0.0s
1156 + a non-empty dupelessSeq be converted to a NonEmptySet 0.001s
1157 + A non-empty set be constructed from a non-empty set 0.003s
1158 + A non-empty set not be constructed from an empty set 0.0s
1159 + at most one return an error for a 2 element list 0.003s
1160 + A non-empty set be constructed unsafely from a non-empty set 0.001s
1161 + A non-empty set not be constructed unsafely from an empty set 0.001s
1162 + at most one return an error for an infinitely sized list 0.001s
1163 + A non-empty set produce subsets 0.002s
1164 + only element return an error for an empty iterable 0.002s
1165 + a non-empty dupelessSeq be grouped 0.005s
1166 + only element return the element for a 1 element iterable 0.001s
1167 + A non-empty set have a sensible toString 0.003s
1168 + only element return an error for a 2 element list 0.001s
1169 + A non-empty set be constructed from a non-empty iterable 0.0s
1170 + A non-empty set be constructed from a non-empty iterable which is a Set 0.0s
1171 + A non-empty set not be constructed from an empty iterable 0.0s
1172 + A non-empty set be constructed unsafely from a non-empty iterable 0.001s
1173 + A non-empty set not be constructed unsafely from an empty iterable 0.0s
1174 + A non-empty set be constructed from cons 0.001s
1175 + only element return an error for an infinitely sized list 0.001s
1176 + head or error return an error for an empty iterable 0.001s
1177 + head or error return the element for a 1 element iterable 0.0s
1178 + head or error return the first element for a 2 element list 0.0s
1179 + A non-empty set map 0.002s
1180 + A non-empty set flatMap 0.0s
1181 + A non-empty set be flattened 0.001s
1182au.id.tmm.collections.syntax.BufferedIteratorOpsSpec:
1183 + head or error return the first element for an infinitely sized list 0.005s
1184 + takeUpTo work for an empty iterator 0.002s
1185 + last or error return an error for an empty iterable 0.002s
1186 + takeUpTo work for a collection where the first element does not match predicate 0.0s
1187 + last or error return the element for a 1 element iterable 0.001s
1188 + last or error return an error for a 2 element list 0.001s
1189 + takeUpTo take elements from the front of the iterator until the first element that fails the test 0.002s
1190 + takeUpTo not progress the underlying iterator beyond the first failed element 0.0s
1191au.id.tmm.collections.syntax.IteratorOpsSpec:
1192 + takeUpTo return an iterator with a known size if the underlying iterator is empty 0.001s
1193 + takeUpTo return an iterator with a known size if the head does not match the predicate 0.0s
1194 + takeUpTo return an unknown size if the head matches the predicate 0.0s
1195 + emptyOr return unit for an empty iterable 0.002s
1196au.id.tmm.collections.classes.SafeGroupBySpec:
1197 + emptyOr return an error if the iterable is nonempty 0.002s
1198 + count occurrences count the occurances of each element 0.006s
1199 + readAtMost read the first n elements of the iterator 0.01s
1200 + count occurrences return an empty map for an empty collection 0.0s
1201 + readAtMost leave the underlying iterator iterating through the subsequent elements 0.0s
1202 + readAtMost read only as many elements remain in the iterator 0.001s
1203 + groupByKey group by the key for a list of tuples 0.002s
1204 + readUntil read until encountering an element matching the condition 0.002s
1205 + groupByKey group by the the key for a Set of tuples 0.001s
1206 + safe group by for a Set work 0.011s
1207 + readUntil leave the underlying iterator iterating through the subsequent elements 0.002s
1208 + safe group by for a NonEmptyDupelessSeq work 0.003s
1209 + readUntil read only as many elements remain in the iterator 0.002s
1210 + groupByKey return an empty map for an empty list of tuples 0.004s
1211 + safe group by for a NonEmptySet work 0.001s
1212 + readAtMostUntil read until encountering an element matching the condition if that is less than the size limit 0.001s
1213 + readAtMostUntil read up to the size limit if no elements match condition 0.002s
1214 + readAtMostUntil leave the underlying iterator iterating through the subsequent elements when hitting the number limit 0.002s
1215 + readAtMostUntil leave the underlying iterator iterating through the subsequent elements when finding an element that matches 0.0s
1216au.id.tmm.collections.DupelessSeqSpec:
1217au.id.tmm.collections.NonEmptyArraySeqSpec:
1218 + a DupelessSeq retain the order of the earliest element when initialised 0.004s
1219 + a DupelessSeq not contain duplicates 0.0s
1220 + The specialised factory methods create a specialised NonEmptyArraySeq from one element 0.004s
1221 + The specialised factory methods create a specialised NonEmptyArraySeq from many elements 0.0s
1222 + The specialised factory methods create a specialised NonEmptyArraySeq from a head and a tail 0.0s
1223 + The specialised factory methods create a specialised NonEmptyArraySeq from an iterable 0.0s
1224 + The untagged factory methods create an unspecialised NonEmptyArraySeq from one element 0.0s
1225 + a DupelessSeq retain insertion order 0.004s
1226au.id.tmm.collections.NonEmptyMapSpec:
1227 + a DupelessSeq correctly implement contains 0.0s
1228 + a DupelessSeq correctly implement size 0.001s
1229 + a DupelessSeq correctly implement size for the empty seq 0.001s
1230 + a DupelessSeq append an element correctly 0.0s
1231 + a DupelessSeq return the same seq when appending a duplicate element 0.002s
1232au.id.tmm.collections.syntax.UnzipOpsSpec:
1233 + a DupelessSeq prepend an element correctly 0.003s
1234 + a non-empty map be flatMapped with a possibly empty collection of tuples 0.008s
1235 + a DupelessSeq return the same seq when prepending a duplicate element 0.003s
1236 + unzip10 unzip 0.006s
1237 + a DupelessSeq remove an element correctly 0.0s
1238 + a DupelessSeq return the same seq when removing an element not in the seq 0.001s
1239 + a DupelessSeq have a sensible toString 0.0s
1240 + a DupelessSeq allow random access 0.0s
1241 + unzip9 unzip 0.001s
1242 + a non-empty map be flatMapped with a possibly empty collection of single elements 0.005s
1243 + a DupelessSeq support splitting at an index 0.003s
1244 + a DupelessSeq support updating an element with a new element 0.0s
1245 + a non-empty map be flatMapped with another NonEmptyMap of tuples 0.002s
1246 + a DupelessSeq remove an element when updating it with an element that exists before it in the seq 0.001s
1247 + a DupelessSeq remove the later element when updating it with an element that exists after it in the seq 0.0s
1248 + unzip8 unzip 0.005s
1249 + a DupelessSeq pad the end of the seq with an element that is not in the seq 0.001s
1250 + a DupelessSeq return the same seq if padded with an element already in the seq 0.001s
1251 + a DupelessSeq support sorting 0.001s
1252 + a DupelessSeq be reversed 0.0s
1253 + a non-empty map be constructed from a non-empty arrayseq 0.003s
1254 + a DupelessSeq be iterated over 0.0s
1255 + a DupelessSeq be iterated over in reverse 0.002s
1256 + a DupelessSeq return itself when asked for distinct elements 0.0s
1257 + a DupelessSeq be converted to a Set 0.0s
1258 + unzip7 unzip 0.007s
1259 + a DupelessSeq be converted to a Set of a higher type 0.002s
1260 + unzip6 unzip 0.001s
1261 + a DupelessSeq be converted to a Vector 0.001s
1262 + a DupelessSeq be equal to a DupelessSeq with the same elements and order 0.001s
1263 + a DupelessSeq not be equal to a DupelessSeq with the same elements and a different order 0.0s
1264 + unzip5 unzip 0.001s
1265 + a DupelessSeq not be equal to a DupelessSeq with different elements 0.0s
1266 + a DupelessSeq not be equal to a list with the same elements 0.001s
1267 + a DupelessSeq not be equal to a list with duplicated elements 0.0s
1268 + a DupelessSeq not be equal to a set with the same elements 0.0s
1269 + a DupelessSeq allow appending an element 0.001s
1270 + unzip4 unzip 0.002s
1271 + a DupelessSeq allow appending a list 0.002s
1272 + a DupelessSeq be converted to a NonEmptyDupelessSeq if it is nonEmpty 0.001s
1273 + the empty DupelessSeq be a singleton 0.001s
1274 + the empty DupelessSeq not be converted to a NonEmptyDupelessSeq 0.0s
1275 + the DupelessSeq builder build the empty seq 0.0s
1276 + the empty DupelessSeq build a seq with 2 distinct items 0.0s
1277 + the empty DupelessSeq iterate in the order of first insertion 0.001s
1278 + the empty DupelessSeq be cleared 0.001s
1279 + the empty DupelessSeq append multiple elements at once 0.0s
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.001s
1284Starting build for ProjectRef(file:/build/repo/,scalaCheck) (tmm-scala-collections-scalacheck)... [3/4]
1285Compile scalacOptions: -encoding, UTF-8, -unchecked, -language:implicitConversions, -Ykind-projector, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
1286
1287************************
1288Build summary:
1289[{
1290 "module": "tmm-scala-collections-cats",
1291 "compile": {"status": "ok", "tookMs": 16181, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1292 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1293 "test-compile": {"status": "ok", "tookMs": 4645, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1294 "test": {"status": "ok", "tookMs": 26482, "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": 1316, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1302 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1303 "test-compile": {"status": "ok", "tookMs": 1922, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1304 "test": {"status": "ok", "tookMs": 964, "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": 1853, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1314 "test": {"status": "ok", "tookMs": 254, "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": 143, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1324 "test": {"status": "ok", "tookMs": 139, "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: 63 s (0:01:03.0), completed Nov 28, 2025, 12:18:20 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.