Build Logs

j-mie6/parsley • 3.8.1-RC1:2026-01-13

Errors

4

Warnings

522

Total Lines

1655

1##################################
2Clonning https://github.com/j-mie6/parsley.git into /build/repo using revision v5.0.0-M17
3##################################
4Note: switching to 'fc56707a64f25bc1cd7494d91e01883b5c6125c8'.
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
21Would override fixed Scala version: 3.3.7
22----
23Preparing build for 3.8.1-RC1
24Scala binary version found: 3.8
25Using configured source version: 3.4-migration
26Scala binary version found: 3.8
27Using configured source version: 3.4-migration
28Would try to apply common scalacOption (best-effort, sbt/mill only):
29Append: ,REQUIRE:-source:3.4-migration
30Remove: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
31
32Try apply source patch:
33Path: project/plugins.sbt
34Pattern: addSbtPlugin\("pink.cozydev" % "protosearch-sbt" .*\)
35Replacement: // $0
36Starting compilation server
37Compiling project (Scala 3.7.3, JVM (21))
38Compiled project (Scala 3.7.3, JVM (21))
39Successfully applied pattern 'addSbtPlugin\("pink.cozydev" % "protosearch-sbt" .*\)' in project/plugins.sbt
40
41Try apply source patch:
42Path: build.sbt
43Pattern: val Scala3 = "3.3.7"
44Replacement: val Scala3 = "3.8.1-RC1"
45Successfully applied pattern 'val Scala3 = "3.3.7"' in build.sbt
46----
47Starting build for 3.8.1-RC1
48Execute tests: true
49sbt project found:
50Sbt version 1.10.7
511.11.5 is not supported, minimal supported version is 1.11.5
52Enforcing usage of sbt in version 1.11.5
53No prepare script found for project j-mie6/parsley
54##################################
55Scala version: 3.8.1-RC1
56Targets: com.github.j-mie6%parsley com.github.j-mie6%parsley-debug com.github.j-mie6%parsley-docs
57Project projectConfig: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"21"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","sourceVersion":"3.4-migration","migrationVersions":[],"sourcePatches":[{"path":"project/plugins.sbt","pattern":"addSbtPlugin\\(\"pink.cozydev\" % \"protosearch-sbt\" .*\\)","replaceWith":"// $0"},{"path":"build.sbt","pattern":"val Scala3 = \"3.3.7\"","replaceWith":"val Scala3 = \"<SCALA_VERSION>\""}]}
58##################################
59Using extra scalacOptions: ,REQUIRE:-source:3.4-migration
60Filtering out scalacOptions: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
61[sbt_options] declare -a sbt_options=()
62[process_args] java_version = '21'
63[copyRt] java9_rt = '/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_21/rt.jar'
64# Executing command line:
65java
66-Xmx4G
67-Dcommunitybuild.scala=3.8.1-RC1
68-Dcommunitybuild.project.dependencies.add=
69-Xmx7G
70-Xms4G
71-Xss8M
72-Dsbt.script=/root/.sdkman/candidates/sbt/current/bin/sbt
73-Dscala.ext.dirs=/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_21
74-jar
75/root/.sdkman/candidates/sbt/1.11.5/bin/sbt-launch.jar
76"setCrossScalaVersions 3.8.1-RC1"
77"++3.8.1-RC1 -v"
78"mapScalacOptions ",REQUIRE:-source:3.4-migration,-Wconf:msg=can be rewritten automatically under:s" ",-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e""
79"set every credentials := Nil"
80"excludeLibraryDependency com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}"
81"removeScalacOptionsStartingWith -P:wartremover"
82
83moduleMappings
84"runBuild 3.8.1-RC1 """{"projects":{"exclude":[],"overrides":{}},"java":{"version":"21"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","sourceVersion":"3.4-migration","migrationVersions":[],"sourcePatches":[{"path":"project/plugins.sbt","pattern":"addSbtPlugin\\(\"pink.cozydev\" % \"protosearch-sbt\" .*\\)","replaceWith":"// $0"},{"path":"build.sbt","pattern":"val Scala3 = \"3.3.7\"","replaceWith":"val Scala3 = \"<SCALA_VERSION>\""}]}""" com.github.j-mie6%parsley com.github.j-mie6%parsley-debug com.github.j-mie6%parsley-docs"
85
86[info] welcome to sbt 1.11.5 (Eclipse Adoptium Java 21)
87[info] loading settings for project repo-build from akka.sbt, plugins.sbt...
88[info] loading project definition from /build/repo/project
89[info] compiling 4 Scala sources to /build/repo/project/target/scala-2.12/sbt-1.0/classes ...
90[info] Non-compiled module 'compiler-bridge_2.12' for Scala 2.12.20. Compiling...
91[info] Compilation completed in 8.18s.
92[info] done compiling
93[info] loading settings for project root from build.sbt...
94[info] resolving key references (13044 settings) ...
95[info] set scmInfo to https://github.com/j-mie6/parsley
96[info] set current project to root (in build file:/build/repo/)
97Execute setCrossScalaVersions: 3.8.1-RC1
98OpenCB::Changing crossVersion 3.8.1-RC1 -> 3.8.1-RC1 in unidocs/crossScalaVersions
99[info] set scmInfo to https://github.com/j-mie6/parsley
100OpenCB::Changing crossVersion 3.8.1-RC1 -> 3.8.1-RC1 in root/crossScalaVersions
101OpenCB::Limitting incorrect crossVersions List() -> List(3.8.1-RC1) in root/crossScalaVersions
102OpenCB::Changing crossVersion 3.8.1-RC1 -> 3.8.1-RC1 in parsleyDebug/crossScalaVersions
103OpenCB::Changing crossVersion 3.8.1-RC1 -> 3.8.1-RC1 in parsleyJS/crossScalaVersions
104OpenCB::Changing crossVersion 3.8.1-RC1 -> 3.8.1-RC1 in docs/crossScalaVersions
105OpenCB::Changing crossVersion 3.8.1-RC1 -> 3.8.1-RC1 in rootNative/crossScalaVersions
106OpenCB::Changing crossVersion 3.8.1-RC1 -> 3.8.1-RC1 in rootJS/crossScalaVersions
107OpenCB::Changing crossVersion 3.8.1-RC1 -> 3.8.1-RC1 in parsleyDebugJS/crossScalaVersions
108OpenCB::Changing crossVersion 3.8.1-RC1 -> 3.8.1-RC1 in parsleyNative/crossScalaVersions
109OpenCB::Changing crossVersion 3.8.1-RC1 -> 3.8.1-RC1 in rootJVM/crossScalaVersions
110OpenCB::Changing crossVersion 3.8.1-RC1 -> 3.8.1-RC1 in parsleyDebugNative/crossScalaVersions
111OpenCB::Changing crossVersion 3.8.1-RC1 -> 3.8.1-RC1 in parsley/crossScalaVersions
112[info] set current project to root (in build file:/build/repo/)
113[info] Setting Scala version to 3.8.1-RC1 on 12 projects.
114[info] Switching Scala version on:
115[info] * root (3.8.1-RC1)
116[info] parsleyDebug (2.13.16, 2.12.20, 3.8.1-RC1)
117[info] unidocs (2.13.16, 2.12.20, 3.8.1-RC1)
118[info] rootJS (2.13.16, 2.12.20, 3.8.1-RC1)
119[info] docs (2.13.16, 2.12.20, 3.8.1-RC1)
120[info] parsleyDebugNative (2.13.16, 2.12.20, 3.8.1-RC1)
121[info] rootJVM (2.13.16, 2.12.20, 3.8.1-RC1)
122[info] rootNative (2.13.16, 2.12.20, 3.8.1-RC1)
123[info] parsleyNative (2.13.16, 2.12.20, 3.8.1-RC1)
124[info] parsley (2.13.16, 2.12.20, 3.8.1-RC1)
125[info] parsleyDebugJS (2.13.16, 2.12.20, 3.8.1-RC1)
126[info] parsleyJS (2.13.16, 2.12.20, 3.8.1-RC1)
127[info] Excluding projects:
128[info] Reapplying settings...
129[info] set scmInfo to https://github.com/j-mie6/parsley
130[info] set current project to root (in build file:/build/repo/)
131Execute mapScalacOptions: ,REQUIRE:-source:3.4-migration,-Wconf:msg=can be rewritten automatically under:s ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
132[info] Reapplying settings...
133[info] set scmInfo to https://github.com/j-mie6/parsley
134[info] set current project to root (in build file:/build/repo/)
135[info] Defining Global / credentials, credentials and 10 others.
136[info] The new values will be used by Compile / scalafmtOnly, IntegrationTest / scalafmtOnly and 129 others.
137[info] Run `last` for details.
138[info] Reapplying settings...
139[info] set scmInfo to https://github.com/j-mie6/parsley
140[info] set current project to root (in build file:/build/repo/)
141Execute excludeLibraryDependency: com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}
142[info] Reapplying settings...
143OpenCB::Failed to reapply settings in excludeLibraryDependency: Reference to undefined setting:
144
145 Global / allExcludeDependencies from Global / allExcludeDependencies (CommunityBuildPlugin.scala:331)
146 Did you mean rootJVM / allExcludeDependencies ?
147 , retry without global scopes
148[info] Reapplying settings...
149[info] set scmInfo to https://github.com/j-mie6/parsley
150[info] set current project to root (in build file:/build/repo/)
151Execute removeScalacOptionsStartingWith: -P:wartremover
152[info] Reapplying settings...
153[info] set scmInfo to https://github.com/j-mie6/parsley
154[info] set current project to root (in build file:/build/repo/)
155[success] Total time: 0 s, completed Jan 13, 2026, 8:20:45 PM
156Build config: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"21"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","sourceVersion":"3.4-migration","migrationVersions":[],"sourcePatches":[{"path":"project/plugins.sbt","pattern":"addSbtPlugin\\(\"pink.cozydev\" % \"protosearch-sbt\" .*\\)","replaceWith":"// $0"},{"path":"build.sbt","pattern":"val Scala3 = \"3.3.7\"","replaceWith":"val Scala3 = \"<SCALA_VERSION>\""}]}
157Parsed config: Success(ProjectBuildConfig(ProjectsConfig(List(),Map()),Full,List()))
158Starting build...
159Projects: Set(parsley, parsleyDebug, unidocs)
160Starting build for ProjectRef(file:/build/repo/,parsley) (parsley)... [0/3]
161OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.4-migration` in Scala 2.12.20 module Global
162OpenCB::Filter out '-deprecation', matches setting pattern '^-?-deprecation'
163OpenCB::Filter out '-feature', matches setting pattern '^-?-feature'
164Compile scalacOptions: -encoding, UTF-8, -unchecked, -Wunused:implicits, -Wunused:explicits, -Wunused:imports, -Wunused:locals, -Wunused:params, -Wunused:privates, -Wvalue-discard, -language:implicitConversions, -Xkind-projector, --java-output-version:17, -Wconf:msg=can be rewritten automatically under:s, -source:3.4-migration
165[info] compiling 169 Scala sources to /build/repo/parsley/jvm/target/scala-3.8.1-RC1/classes ...
166[info] done compiling
167[info] compiling 47 Scala sources to /build/repo/parsley/jvm/target/scala-3.8.1-RC1/test-classes ...
168[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/CharTests.scala:8:26
169[warn] 8 |import Predef.{ArrowAssoc => _, *}
170[warn] | ^^^^^^^^^^^^^^^
171[warn] | unused import
172[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/CombinatorTests.scala:8:26
173[warn] 8 |import Predef.{ArrowAssoc => _, *}
174[warn] | ^^^^^^^^^^^^^^^
175[warn] | unused import
176[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/CoreTests.scala:8:26
177[warn] 8 |import Predef.{ArrowAssoc => _, *}
178[warn] | ^^^^^^^^^^^^^^^
179[warn] | unused import
180[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/StringTests.scala:8:26
181[warn] 8 |import Predef.{ArrowAssoc => _, *}
182[warn] | ^^^^^^^^^^^^^^^
183[warn] | unused import
184[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/UnicodeTests.scala:8:26
185[warn] 8 |import Predef.{ArrowAssoc => _, *}
186[warn] | ^^^^^^^^^^^^^^^
187[warn] | unused import
188[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/expr/ExpressionParserTests.scala:8:26
189[warn] 8 |import Predef.{ArrowAssoc => _, *}
190[warn] | ^^^^^^^^^^^^^^^
191[warn] | unused import
192[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/SpaceTests.scala:8:26
193[warn] 8 |import Predef.{ArrowAssoc => _, *}
194[warn] | ^^^^^^^^^^^^^^^
195[warn] | unused import
196[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/TokeniserTests.scala:8:26
197[warn] 8 |import Predef.{ArrowAssoc => _, *}
198[warn] | ^^^^^^^^^^^^^^^
199[warn] | unused import
200[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/names/NamesTests.scala:8:26
201[warn] 8 |import Predef.{ArrowAssoc => _, *}
202[warn] | ^^^^^^^^^^^^^^^
203[warn] | unused import
204[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/numeric/RealTests.scala:8:26
205[warn] 8 |import Predef.{ArrowAssoc => _, *}
206[warn] | ^^^^^^^^^^^^^^^
207[warn] | unused import
208[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/numeric/SignedIntegerTests.scala:8:26
209[warn] 8 |import Predef.{ArrowAssoc => _, *}
210[warn] | ^^^^^^^^^^^^^^^
211[warn] | unused import
212[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/numeric/UnsignedIntegerTests.scala:8:26
213[warn] 8 |import Predef.{ArrowAssoc => _, *}
214[warn] | ^^^^^^^^^^^^^^^
215[warn] | unused import
216[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/symbol/SymbolTests.scala:8:26
217[warn] 8 |import Predef.{ArrowAssoc => _, *}
218[warn] | ^^^^^^^^^^^^^^^
219[warn] | unused import
220[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/text/CharacterTests.scala:8:32
221[warn] 8 |import scala.Predef.{ArrowAssoc => _, *}
222[warn] | ^^^^^^^^^^^^^^^
223[warn] | unused import
224[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/text/EscapeTests.scala:8:51
225[warn] 8 |import scala.Predef.{String => SString, ArrowAssoc => _, *}
226[warn] | ^^^^^^^^^^^^^^^
227[warn] | unused import
228[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/text/StringTests.scala:8:32
229[warn] 8 |import scala.Predef.{ArrowAssoc => _, *}
230[warn] | ^^^^^^^^^^^^^^^
231[warn] | unused import
232[info] done compiling
233[warn] 16 warnings found
234[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/CharTests.scala:8:26
235[warn] 8 |import Predef.{ArrowAssoc => _, *}
236[warn] | ^^^^^^^^^^^^^^^
237[warn] | unused import
238[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/numeric/UnsignedIntegerTests.scala:8:26
239[warn] 8 |import Predef.{ArrowAssoc => _, *}
240[warn] | ^^^^^^^^^^^^^^^
241[warn] | unused import
242[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/StringTests.scala:8:26
243[warn] 8 |import Predef.{ArrowAssoc => _, *}
244[warn] | ^^^^^^^^^^^^^^^
245[warn] | unused import
246[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/CombinatorTests.scala:8:26
247[warn] 8 |import Predef.{ArrowAssoc => _, *}
248[warn] | ^^^^^^^^^^^^^^^
249[warn] | unused import
250[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/text/CharacterTests.scala:8:32
251[warn] 8 |import scala.Predef.{ArrowAssoc => _, *}
252[warn] | ^^^^^^^^^^^^^^^
253[warn] | unused import
254[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/expr/ExpressionParserTests.scala:8:26
255[warn] 8 |import Predef.{ArrowAssoc => _, *}
256[warn] | ^^^^^^^^^^^^^^^
257[warn] | unused import
258[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/numeric/SignedIntegerTests.scala:8:26
259[warn] 8 |import Predef.{ArrowAssoc => _, *}
260[warn] | ^^^^^^^^^^^^^^^
261[warn] | unused import
262[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/CoreTests.scala:8:26
263[warn] 8 |import Predef.{ArrowAssoc => _, *}
264[warn] | ^^^^^^^^^^^^^^^
265[warn] | unused import
266[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/symbol/SymbolTests.scala:8:26
267[warn] 8 |import Predef.{ArrowAssoc => _, *}
268[warn] | ^^^^^^^^^^^^^^^
269[warn] | unused import
270[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/UnicodeTests.scala:8:26
271[warn] 8 |import Predef.{ArrowAssoc => _, *}
272[warn] | ^^^^^^^^^^^^^^^
273[warn] | unused import
274[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/TokeniserTests.scala:8:26
275[warn] 8 |import Predef.{ArrowAssoc => _, *}
276[warn] | ^^^^^^^^^^^^^^^
277[warn] | unused import
278[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/numeric/RealTests.scala:8:26
279[warn] 8 |import Predef.{ArrowAssoc => _, *}
280[warn] | ^^^^^^^^^^^^^^^
281[warn] | unused import
282[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/text/EscapeTests.scala:8:51
283[warn] 8 |import scala.Predef.{String => SString, ArrowAssoc => _, *}
284[warn] | ^^^^^^^^^^^^^^^
285[warn] | unused import
286[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/SpaceTests.scala:8:26
287[warn] 8 |import Predef.{ArrowAssoc => _, *}
288[warn] | ^^^^^^^^^^^^^^^
289[warn] | unused import
290[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/text/StringTests.scala:8:32
291[warn] 8 |import scala.Predef.{ArrowAssoc => _, *}
292[warn] | ^^^^^^^^^^^^^^^
293[warn] | unused import
294[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/names/NamesTests.scala:8:26
295[warn] 8 |import Predef.{ArrowAssoc => _, *}
296[warn] | ^^^^^^^^^^^^^^^
297[warn] | unused import
298[warn] 16 warnings found
299[info] SpaceTests:
300[info] whiteSpace
301[info] - should parse spaces when no comments are defined
302[info] - should supported unicode definition
303[info] - should parse spaces and line comments when defined
304[info] - should parse spaces and multi-line comment when defined
305[info] - should parse spaces and mixed comments when defined
306[info] - should be skipComments with no whitespace allowed
307[info] - should allow for line comments to end in EOF
308[info] - should or not allow EOF
309[info] - should parse nested comments when applicable
310[info] - should not parse nested comments when applicable
311[info] skipComments
312[info] - should parse single-line comments
313[info] - should parse multi-line comments
314[info] - should parse mixed comments
315[info] - should parse nested comments when applicable
316[info] - should not parse nested comments when applicable
317[info] - should do nothing with no comments
318[info] - should allow for line comments to end in EOF
319[info] - should or not allow EOF
320[info] - should not aggressively eat everything
321[info] context-dependent whitespace
322[info] - must be initialised
323[info] init
324[info] - should initialise the space so it can be used
325[info] - should initialise space to the default space definition
326[info] - should not work if context-dependent whitespace is off
327[info] alter
328[info] - should not work if context-dependent whitespace is off
329[info] - should temporarily alter how whitespace is parsed
330[info] - should not restore old whitespace if the given parser fails having consumed input
331[info] fully
332[info] - should parse leading whitespace and ensure eof
333[info] - should initialise dependent whitespace
334[info] unicode spaces
335[info] - should not revive dead hints
336[info] CharacterTests:
337[info] character literals
338[info] - should require end char
339[info] - should parse any defined "graphic character"
340[info] - should be able to parse escape sequences too
341[info] - should not allow for string gaps or empty characters
342[info] - should be able to set the literal end char
343[info] - should handle empty graphic chars, by parsing escape sequences
344[info] full utf-16 literals
345[info] - should parse any valid single code-point
346[info] - should not parse multi-code point characters
347[info] basic multi-lingual plane literals
348[info] - should parse any valid bmp code-point
349[info] - should not parse wider unicode, including from escape characters
350[info] - should also behave similarly when given a non-unicode predicate
351[info] extended-ascii literals
352[info] - should parse any valid extended ascii code-point
353[info] - should not parse other utf-16 characters, including from escape sequences
354[info] ascii literals
355[info] - should parse any valid ascii code-point
356[info] - should not parse other utf-16 characters, including from escape sequences
357[info] CoreTests:
358[info] Character parsers
359[info] - should fail on no input
360[info] - should fail when given incorrect input
361[info] - should succeed when given correct input
362[info] - must only consume a single character of input at most
363[info] Pure parsers
364[info] - should not require input
365[info] - must result in their correct value
366[info] - must not consume any input
367[info] Fresh parsers
368[info] - should generate unique objects on every run
369[info] - must obey the homomorphism law: pure f <*> pure x = pure (f x)
370[info] - must obey the fmap law: pure f <*> p = f <$> p
371[info] - must obey the interchange law: u <*> pure x = ($x) <$> u
372[info] - must obey the composition law: pure (.) <*> u <*> v <*> w = u <*> (v <*> w)
373[info] lift22
374[info] - must work correctly (and by extension 21-3)
375[info] Selective parsers
376[info] - must obey the selective left-branch law
377[info] - must obey the selective right-branch law
378[info] - must obey the fold law
379[info] Monadic parsers
380[info] - must obey the left identity law: pure x >>= f = f x
381[info] - must obey the right identity law: m >>= pure = m
382[info] - must obey the associativity law: (m >>= f) >>= g = m >>= (x => f x >>= g)
383[info] - must allow for flattening
384[info] branch
385[info] - must work correctly for non-pure components
386[info] <|>
387[info] - should not try the second alternative if the first succeeded
388[info] - should only try second alternative if the first failed without consuming input
389[info] - should not try the second alternative if the first failed after consuming input
390[info] - should not be affected by an empty on the left
391[info] atomic
392[info] - should cause <|> to try second alternative even if input consumed
393[info] notFollowedBy
394[info] - must succeed if p fails
395[info] - must succeed even if p consumed input
396[info] - must fail if p succeeds
397[info] - must behave like empty if provided a parser that consumes no input
398[info] lookAhead
399[info] - should consume no input on success
400[info] - must fail when input is consumed, and input is consumed
401[info] many
402[info] - should crash when given a parser that does not consume input
403[info] stateful parsers
404[info] - should allow for persistent state
405[info] - should be modifiable
406[info] - should provide localised context
407[info] - should be correctly allocated when found inside recursion
408[info] - should be correctly allocated when found inside sub-routines
409[info] - should be preserved by callee-save in flatMap
410[info] - should be preserved by callee-save in flatMap even when it fails
411[info] - should be able to be rolled back if they fail softly
412[info] - should but not roll back if they hard fail
413[info] - should not rollback if successful
414[info] - should support more than 4 registers
415[info] fillReg
416[info] - should appear to create a fresh register every time its invoked
417[info] - should also appear to create a fresh register even in the presence of a hard failure
418[info] ternary parsers
419[info] - should function correctly
420[info] filtered parsers
421[info] - should function correctly
422[info] the collect combinator
423[info] - should act like a filter then a map
424[info] foldRight
425[info] - should work correctly
426[info] foldRight1
427[info] - should work correctly
428[info] foldLeft
429[info] - should work correctly
430[info] foldLeft1
431[info] - should work correctly
432[info] reduceRightOption
433[info] - should return Some on success
434[info] - should return None if there is no p
435[info] reduceLeftOption
436[info] - should return Some on success
437[info] - should return None if there is no p
438[info] stack overflows
439[info] - should not be thrown by recursive parsers
440[info] - should not be caused by bind optimisation
441[info] lazy parsley
442[info] - should be able to prevent overly strict combinators
443[info] overflows
444[info] - should allow for forwarding via the Cont monad
445[info] failures through call boundary
446[info] - should ensure that stateful instructions are restored correctly
447[info] flatMap
448[info] - should consistently generate a callee-save instruction if needed
449[info] span
450[info] - should return all the input parsed by a parser, exactly as it was
451[info] PositionTests:
452[info] line
453[info] - should start at 1
454[info] - should increment on newline
455[info] - should not increment on tabs or other chars
456[info] col
457[info] - should start at 1
458[info] - should reset on newline
459[info] - should go to tab boundaries
460[info] - should increment on other chars
461[info] offset
462[info] - should start at 0
463[info] - should only increase by one regardless of character
464[info] withWidth
465[info] - should return 0 for pure things
466[info] - should correctly span input consumption
467[info] UnsignedIntegerTests:
468[info] unsigned decimal
469[info] - should parse valid decimal numbers of any size
470[info] - should not allow for leading zeros when configured
471[info] - should allow for literal break characters when configured
472[info] - should allow for literal breaks without leading zeros when configured
473[info] - should require at least one digit
474[info] unsigned hexadecimal
475[info] - should parse valid decimal numbers of any size
476[info] - should not allow for leading zeros when configured
477[info] - should allow for literal break characters when configured
478[info] - should allow for literal breaks without leading zeros when configured
479[info] - should not allow for literal break cases after prefix when configured
480[info] - should require at least one digit
481[info] unsigned octal
482[info] - should parse valid decimal numbers of any size
483[info] - should not allow for leading zeros when configured
484[info] - should allow for literal break characters when configured
485[info] - should allow for literal breaks without leading zeros when configured
486[info] - should not allow for literal break cases after prefix when configured
487[info] - should require at least one digit
488[info] unsigned binary
489[info] - should parse valid decimal numbers of any size
490[info] - should not allow for leading zeros when configured
491[info] - should allow for literal break characters when configured
492[info] - should allow for literal breaks without leading zeros when configured
493[info] - should not allow for literal break cases after prefix when configured
494[info] - should require at least one digit
495[info] prefixless numbers
496[info] - should be supported with a leading 0
497[info] number
498[info] - should support any of the different bases
499[info] bounded numbers
500[info] - should also work across any different base
501[info] DefuncErrorTests:
502[info] ClassicExpectedError
503[info] - should evaluate to TrivialError
504[info] - should only be empty when its label is
505[info] ClassicExpectedErrorWithReason
506[info] - should evaluate to TrivialError
507[info] - should only be empty when its label is
508[info] ClassicUnexpectedError
509[info] - should evaluate to TrivialError
510[info] - should only be empty when its label is
511[info] - should allow for flexible and rigid carets
512[info] ClassicFancyError
513[info] - should evaluate to FancyError
514[info] - should always be empty
515[info] EmptyError
516[info] - should evaluate to TrivialError
517[info] EmptyErrorWithReason
518[info] - should evaluate to TrivialError
519[info] MergedErrors
520[info] - should be trivial if both children are
521[info] - should be a trivial error if one trivial child is further than the other fancy child
522[info] - should be a fancy error in any other case
523[info] - should be empty when trivial and same offset only when both children are empty
524[info] - should contain all the expecteds from both branches when appropriate
525[info] WithHints
526[info] - should be trivial if its child is
527[info] - should support fancy errors as not trivial
528[info] - should only be empty when its label is
529[info] WithReason
530[info] - should be trivial if its child is
531[info] - should support fancy errors as not trivial
532[info] - should only be empty when its label is
533[info] WithLabel
534[info] - should be trivial if its child is
535[info] - should support fancy errors as not trivial
536[info] - should be empty if the label is empty and not otherwise
537[info] - should replace all expected
538[info] Amended
539[info] - should Change the error position information
540[info] - should work for fancy errors too
541[info] Entrenched
542[info] - should guard against amendment
543[info] - should work for fancy errors too
544[info] Dislodged
545[info] - should remove an entrenchment
546[info] - should work for fancy errors too
547[info] StringTests:
548[info] string
549[info] - should consume succeed if it is found at head
550[info] - should not consume input if it fails on first character
551[info] - should consume input if it fails mid-string
552[info] - should not consume input if it fails mid-string when combined with atomic
553[info] - should update positions correctly
554[info] - should respect multiple tabs
555[info] - should reject the empty string
556[info] strings
557[info] - should have longest match behaviour
558[info] - should be extrinsically the same as a manual equivalent
559[info] + parsing "hello"
560[info] + parsing "hell"
561[info] + parsing "h"
562[info] + parsing "a"
563[info] + parsing "b"
564[info] character.stringOfMany
565[info] - should allow for no letters
566[info] - should consume as many letters as it can
567[info] - should fail if pc fails having consumed input
568[info] character.stringOfSome
569[info] - should not allow for no letters
570[info] - should consume as many letters as it can
571[info] - should fail if pc fails having consumed input
572[info] unicode.stringOfMany
573[info] - should allow for no letters
574[info] - should consume as many letters as it can
575[info] - should fail if pc fails having consumed input
576[info] unicode.stringOfSome
577[info] - should not allow for no letters
578[info] - should consume as many letters as it can
579[info] - should fail if pc fails having consumed input
580[info] ResultTests:
581[info] Success
582[info] - should return true for isSuccess
583[info] - should return false for isFailure
584[info] - should not throw an exception on get
585[info] Failure
586[info] - should return false for isSuccess
587[info] - should return true for isFailure
588[info] - should throw an exception on get
589[info] Result[A]
590[info] - should behave like Either[String, A] on success
591[info] - should behave like Either[String, A] on failure
592[info] - should behave like Option[A] when extracting elements
593[info] - should throw an exception when it fails and converted to Try
594[info] - should be convertible to a possibly one element sequence
595[info] - should support contains
596[info] - should support forall
597[info] - should support foreach
598[info] - should flatten correctly
599[info] - should be filterable
600[info] - should be foldable
601[info] UnicodeTests:
602[info] item
603[info] - should accept any character
604[info] - should fail if the input has run out, expecting any character
605[info] space
606[info] - should consume ' ' or ' '
607[info] spaces
608[info] - should consume lots of spaces
609[info] - should never fail
610[info] whitespace
611[info] - should consume any whitespace chars
612[info] endOfLine
613[info] - should consume windows or unix line endings
614[info] - should fail otherwise
615[info] letter
616[info] - should accept non-latin characters
617[info] - should not accept raw high-surrogates but parse supplemental letters
618[info] upper
619[info] - should only accept uppercase characters
620[info] - should fail otherwise
621[info] lower
622[info] - should only accept lowercase characters
623[info] - should fail otherwise
624[info] digit parsers
625[info] - should accept the appropriate characters
626[info] - should fail otherwise
627[info] oneOf
628[info] - should match any of the characters provided
629[info] - should always fail if provided no characters
630[info] - should work for single character ranges too
631[info] noneOf
632[info] - should match none of the characters provided
633[info] - should match anything if provided no characters
634[info] - should work for single character ranges too
635[info] char
636[info] - should handle BMP characters
637[info] - should handle multi-character codepoints
638[info] - should handle multi-character codepoints atomically on fail
639[info] FilterTests:
640[info] filtering parsers
641[info] - should function correctly
642[info] the collect/mapFilter combinators
643[info] - should act like a filter then a map
644[info] filterOut
645[info] - should not corrupt the stack under a handler
646[info] partial functions within filters
647[info] - should not be evaluated twice
648[info] + filterOut
649[info] + unexpectedWhen
650[info] + unexpectedWithReasonWhen
651[info] + collectMsg
652[info] + guardAgainst
653[info] + mapFilterMsg
654[info] RealTests:
655[info] decimal reals
656[info] - should parse unbounded real numbers
657[info] - should permit leading and trailing dots when applicable
658[info] - should not allow for both leading and trailing dots
659[info] - should not allow for a break past a dot
660[info] - should allow for scientific notation when configured
661[info] - should not allow for blank exponents via leading dot
662[info] - should not allow for integer numbers
663[info] hexadecimal reals
664[info] - should parse unbounded real numbers
665[info] - should allow for scientific notation when configured
666[info] - should not allow for integer numbers
667[info] octal reals
668[info] - should parse unbounded real numbers
669[info] - should allow for scientific notation when configured
670[info] - should not allow for integer numbers
671[info] binary reals
672[info] - should parse unbounded real numbers
673[info] - should allow for scientific notation when configured
674[info] - should not allow for integer numbers
675[info] generic reals
676[info] - should parse in any base
677[info] bounded reals
678[info] - should not permit illegal numbers
679[info] + trying known valid and invalid exact doubles
680[info] + trying known valid and invalid exact floats
681[info] InternalTests:
682[info] subroutines
683[info] - should function correctly and be picked up
684[info] - should function correctly under error messages
685[info] - should not duplicate subroutines when error label is the same
686[info] error alternatives for JumpTable
687[info] - should be complete across all branches
688[info] + parsing 'h'
689[info] + parsing 'b'
690[info] + parsing 'a'
691[info] - should contain the default in case of no input
692[info] - should contain the default for mid-points without backtracking
693[info] + parsing 'c'
694[info] + parsing 'd'
695[info] - should be complete when backtracking is disabled
696[info] + parsing 'h'
697[info] + parsing 'g'
698[info] + parsing 'a'
699[info] - should merge properly when more input is consumed in a non-backtracking branch
700[info] + parsing nothing
701[info] + parsing 'a'
702[info] + parsing 'b'
703[info] + parsing 'c'
704[info] JumpTable
705[info] - must not try and commute branches
706[info] tablification
707[info] - should not occur for optional
708[info] CombinatorTests:
709[info] choice
710[info] - should fail if given the empty list
711[info] - should behave like p for List(p)
712[info] - should parse in order
713[info] - should fail if none of the parsers succeed
714[info] atomicChoice
715[info] - should correctly ensure the subparsers backtrack
716[info] exactly
717[info] - should parse n times for n > 0
718[info] - must fail if n inputs are not present
719[info] option
720[info] - should succeed with Some if p succeeds
721[info] - should succeed with None if p fails without consumption
722[info] - should fail if p fails with consumption
723[info] decide
724[info] - must succeed for Some
725[info] - must fail for None
726[info] - must succeed for None with an alternative
727[info] - must compose with option to become identity
728[info] optional
729[info] - must succeed if p succeeds
730[info] - must also succeed if p fails without consumption
731[info] - must fail if p failed with consumption
732[info] manyN
733[info] - must ensure that n are parsed
734[info] - should not care if more are present
735[info] sepBy
736[info] - must accept empty input
737[info] - must not allow sep at the end of chain
738[info] - should be able to parse 2 or more p
739[info] sepBy1
740[info] - must require a p
741[info] sepEndBy
742[info] - must accept empty input
743[info] - should not require sep at the end of chain
744[info] - should be able to parse 2 or more p
745[info] - should be able to parse a final sep
746[info] - should fail if p fails after consuming input
747[info] - should fail if sep fails after consuming input
748[info] - must not corrupt the stack on sep hard-fail
749[info] sepEndBy1
750[info] - must require a p
751[info] endBy
752[info] - must accept empty input
753[info] - must require sep at end of chain
754[info] - should be able to parse 2 or more p
755[info] endBy1
756[info] - must require a p
757[info] eof
758[info] - must succeed at the end of input
759[info] - must fail if input remains
760[info] manyTill
761[info] - must require an end
762[info] - should parse the end without result
763[info] - should parse p until that end is found
764[info] someTill
765[info] - must parse at least 1 p
766[info] forYieldP
767[info] - should be able to parse context-sensitive grammars
768[info] forYieldP_
769[info] - should be able to parse context-sensitive grammars
770[info] count
771[info] - should report how many successful parses occurred
772[info] - should not allow partial results
773[info] - should allow for ranges
774[info] range
775[info] - should collect results up instead of count
776[info] DescriptionRequireTests:
777[info] SymbolDesc
778[info] - should not allow an intersection between operators and keywords
779[info] ExponentDesc.Supported
780[info] - should not allow for empty exponents
781[info] NumericDesc
782[info] - should not allow for multiple prefixless descriptions
783[info] - should not rule out valid configurations
784[info] - should not allow for leading zeros if there is a prefixless description
785[info] NumberOfDigits.AtMost
786[info] - should not allow for 0 or negative numbers of digits
787[info] NumberOfDigits.Exactly
788[info] - should not allow for 0 or negative numebrs of digits
789[info] EscapeDesc
790[info] - should not allow for empty string escapes
791[info] - should not permit ambiguity with the different mappings
792[info] - should not allow for constant escapes that aren't valid characters
793[info] TextDesc
794[info] - should not allow for string literals without ends
795[info] ExpressionParserTests:
796[info] chain.postfix
797[info] - must require an initial value
798[info] - must parse all operators that follow
799[info] - must apply the functions
800[info] - must fail if an operator fails after consuming input
801[info] - must not leave the stack in an inconsistent state on failure
802[info] chain.postfix1
803[info] - must require and initial value AND an initial operator
804[info] - must parse all operators that follow
805[info] - must apply the functions
806[info] - must fail if an operator fails after consuming input
807[info] chain.prefix
808[info] - must parse an operatorless value
809[info] - must parse all operators that precede a value
810[info] - must fail if the final value is absent
811[info] - must apply the functions
812[info] chain.prefix1
813[info] - must not parse an operatorless value
814[info] - must parse all operators that precede a value
815[info] - must fail if the final value is absent
816[info] - must apply the functions
817[info] chain.right1
818[info] - must require an initial value
819[info] - must parse all operators and values that follow
820[info] - must apply the functions with correct associativity
821[info] - must fail if an operator or p fails after consuming input
822[info] - must correctly accept the use of a wrapping function
823[info] chain.right
824[info] - must allow for no initial value
825[info] chain.left1
826[info] - must require an initial value
827[info] - must parse all operators and values that follow
828[info] - must apply the functions with correct associativity
829[info] - must fail if an operator fails after consuming input
830[info] - must not leave the stack in an inconsistent state on failure
831[info] - must correctly accept the use of a wrapping function
832[info] chain.left
833[info] - must allow for no initial value
834[info] expression parsers
835[info] - should result in correct precedence
836[info] - should work for multiple operators at the same level
837[info] - should work for mixed associativity operators
838[info] - should parse mathematical expressions
839[info] - should parse prefix operators mixed with infix operators
840[info] - should be able to parse prefix operators weaker than an infix
841[info] - should generalise to sub-typed structures
842[info] - should generalise to non-monolithic structures
843[info] - should generalise to non-monolithic structures with more than one chainl1
844[info] mixed expressions
845[info] - should also be parsable
846[info] mixed chains
847[info] - should allow the mixing of prefix with infix-right
848[info] - should allow the mixing of postfix with infix-left
849[info] CoreIOTests:
850[info] parse
851[info] - should work
852[info] - should fail with an error when file does not exist
853[info] NamesTests:
854[info] identifier
855[info] - should parse valid identifiers
856[info] - should fail to parse valid keywords
857[info] - should point at the correct place for the error
858[info] - should report the correct label
859[info] - should work in the presence of case insensitivity with respect to keywords
860[info] user defined operator
861[info] - should parse valid operators that are not keywords
862[info] - should fail to parse hard operators
863[info] refined identifier
864[info] - should only allow identifiers with the given start characters
865[info] refined operator
866[info] - should only allow operators with the given start characters
867[info] - should only allow operators with the given end characters
868[info] - should be able to constrain both ends
869[info] StringTests:
870[info] string literals
871[info] - should be allowed to be empty
872[info] - should be allowed to be non-empty
873[info] - should allow for escape sequences
874[info] - should allow for different graphic characters
875[info] - should allow for change in literal end
876[info] - should allow for string gaps when configured
877[info] - should allow for empty characters when configured
878[info] - should allow for no graphical character
879[info] plain string literals
880[info] - should not allow for newlines in the string
881[info] plain utf-16 string literals
882[info] - should parse valid utf-16 strings, even with multiple codepoints
883[info] plain latin string literals
884[info] - should parse valid latin
885[info] - should not accept bmp or other unicode, including in escapes
886[info] plain ascii string literals
887[info] - should parse only valid ascii
888[info] - should not accept latin or unicode, including from escapes
889[info] plain multi-line string literals
890[info] - should parse regular strings
891[info] - should also allow (and preserve) line breaks in the string
892[info] raw string literals
893[info] - should parse regular strings without escapes
894[info] - should not allow for escaped string ends
895[info] - should not allow for line breaks
896[info] - should allow only for a empty-string when no graphic character allowed
897[info] raw multi-line string literals
898[info] - should preserve line breaks in text and not admit escapes
899[info] - should allow for the graphic char to be swapped
900[info] combined strings
901[info] - should allow for for either string with no ambiguity
902[info] TrieSpec:
903[info] - a Trie constructed from a set should contain all of its elements
904[info] - a Trie constructed from a set should not contain extra keys
905[info] VisitorTests:
906[info] - should maintain laziness of the parsers visited
907[info] - should all return the constant unit object from the test visitor
908[info] ProfilerTests:
909[info] The profiler
910[info] - should handle sequential entries and exits
911[info] - should handle recursive entries
912[info] - should handle mutually recursive entries
913[info] - should handle mixed iterative and recursive entries
914[info] - should handle mixed iterative and self-recursive entries
915[info] EscapeSemanticPreservationSpec:
916[info] - reading escape characters should not vary based on optimisations
917[info] ExpressionSemanticPreservationSpec:
918[info] the new precedence implementation
919[info] - should successfully parse basic expressions and not vary based on optimisations
920[info] - should fail to parse basic expressions and not vary based on optimisations
921[info] - should parse expressions with parentheses and not vary based on optimisations
922[info] - should parse chained non-associative operators and not vary based on optimisations
923[info] - should parse random expressions and not vary based on optimisations
924[info] TokeniserTests:
925[info] semiSep
926[info] - should parse semi-colon separated values
927[info] semiSep1
928[info] - should parse semi-colon separated values
929[info] commaSep
930[info] - should parse comma separated values
931[info] commaSep1
932[info] - should parse comma separated values
933[info] parens
934[info] - should parse values within parentheses
935[info] braces
936[info] - should parse values within braces
937[info] angles
938[info] - should parse values within angle brackets
939[info] brackets
940[info] - should parse values within square brackets
941[info] naturalOrFloat
942[info] - should parse either naturals or unsigned floats
943[info] - should not allow hexadecimal floats without the exponent
944[info] - should not allow octal floats without the exponent
945[info] number
946[info] - should parse integers or floats
947[info] SignedIntegerTests:
948[info] signed decimal
949[info] - should parse valid decimal numbers of any size
950[info] - should not allow for plus when configured
951[info] - should require a plus when configured
952[info] - should require at least one digit
953[info] signed hexadecimal
954[info] - should parse valid decimal numbers of any size
955[info] - should not allow for plus when configured
956[info] - should require a plus when configured
957[info] unsigned octal
958[info] - should parse valid decimal numbers of any size
959[info] - should not allow for plus when configured
960[info] - should require a plus when configured
961[info] unsigned binary
962[info] - should parse valid decimal numbers of any size
963[info] - should not allow for leading zeros when configured
964[info] - should allow for literal break characters when configured
965[info] number
966[info] - should support any of the different bases
967[info] bounded numbers
968[info] - should also work across any different base
969[info] CharTests:
970[info] item
971[info] - should accept any character
972[info] - should fail if the input has run out, expecting any character
973[info] space
974[info] - should consume ' ' or ' '
975[info] spaces
976[info] - should consume lots of spaces
977[info] - should never fail
978[info] whitespace
979[info] - should consume any whitespace chars
980[info] endOfLine
981[info] - should consume windows or unix line endings
982[info] - should fail otherwise
983[info] letter
984[info] - should accept non-latin characters
985[info] - should not accept high surrogates
986[info] satisfyMap
987[info] - should allow for simultaneous mapping and testing
988[info] upper
989[info] - should only accept uppercase characters
990[info] - should fail otherwise
991[info] lower
992[info] - should only accept lowercase characters
993[info] - should fail otherwise
994[info] digit parsers
995[info] - should accept the appropriate characters
996[info] - should fail otherwise
997[info] oneOf
998[info] - should match any of the characters provided
999[info] - should always fail if provided no characters
1000[info] - should work for single character ranges too
1001[info] noneOf
1002[info] - should match none of the characters provided
1003[info] - should match anything if provided no characters
1004[info] - should work for single character ranges too
1005[info] stringOfMany
1006[info] - should not cache the builder
1007[info] stringOfSome
1008[info] - should not cache the builder
1009[info] EscapeTests:
1010[info] escape characters
1011[info] - should handle regular literal escapes
1012[info] - should handle a change in opening character
1013[info] - should handle single-character mappings
1014[info] - should handle multi-character mappings
1015[info] - should not deal with empty escapes or gaps
1016[info] - should handle decimal escapes
1017[info] - should handle octal escapes
1018[info] - should handle hexadecimal escapes
1019[info] - should handle binary escapes
1020[info] SymbolSemanticPreservationSpec:
1021[info] - reading keywords should not vary based on optimisations
1022[info] - reading operators should not vary based on optimisations
1023[info] DefuncHintsTests:
1024[info] EmptyHints
1025[info] - should have size 0
1026[info] - should yield an empty set
1027[info] AddError
1028[info] - should should increase the size
1029[info] ReplaceHint
1030[info] - should do nothing on empty
1031[info] - should replace the hints under it
1032[info] MergeHints
1033[info] - should ensure all elements from both hints
1034[info] TokenExtractorTests:
1035[info] SingleChar
1036[info] - should return a single printable ascii character
1037[info] - should handle supplementary unicode characters
1038[info] - should deal with whitespace characters by naming them
1039[info] - should refuse to print control characters
1040[info] - should refuse to print non-printable supplementary characters
1041[info] MatchParserDemand
1042[info] - should return a single printable ascii character
1043[info] - should handle supplementary unicode characters
1044[info] - should deal with whitespace characters by naming them
1045[info] - should refuse to print control characters
1046[info] - should refuse to print non-printable supplementary characters
1047[info] TillNextWhitespace
1048[info] - should return a single printable ascii character
1049[info] - should handle supplementary unicode characters
1050[info] - should deal with whitespace characters by naming them
1051[info] - should refuse to print control characters
1052[info] - should refuse to print non-printable supplementary characters
1053[info] LexToken
1054[info] - should handle raw input when no token can be matched
1055[info] - should stop making raw input when a real token is encountered
1056[info] - should never crash when given an incomplete token
1057[info] - should not try and parse tokens when in lexical mode
1058[info] - should parse tokens when possible
1059[info] - should always pick the longest token
1060[info] NamesSemanticPreservationSpec:
1061[info] - reading identifiers should not vary based on optimisations
1062[info] - reading user-defined operators should not vary based on optimisations
1063[info] SymbolTests:
1064[info] soft keywords
1065[info] - should parse even when not in the keyword set
1066[info] - should parse full utf-16
1067[info] - should be able to be case-insensitive
1068[info] - should not consumed input when they fail
1069[info] - should not be affected by tablification optimisation
1070[info] soft operators
1071[info] - should parse even when not in the operators set
1072[info] - should not consume input when they fail
1073[info] symbols
1074[info] - should be parsed according to category
1075[info] ErrorTests:
1076[info] mzero parsers
1077[info] - should always fail
1078[info] label
1079[info] - should affect base error messages
1080[info] - should work across a recursion boundary
1081[info] - should replace everything under the label
1082[info] - should not replace hints if input is consumed
1083[info] hide
1084[info] - should not produce any visible output
1085[info] - should suppress hints even if input is consumed
1086[info] - should not allow hints to be unsuppressed by another label
1087[info] explain
1088[info] - should provide a message, but only on failure
1089[info] - should not have any effect when more input has been consumed since it was added
1090[info] fail
1091[info] - should yield a raw message
1092[info] - should be flexible when the width is unspecified
1093[info] - should dominate otherwise
1094[info] unexpected
1095[info] - should yield changes to unexpected messages
1096[info] - should produce expected message under influence of ?, along with original message
1097[info] - should be flexible when the width is unspecified
1098[info] - should dominate otherwise
1099[info] lookAhead
1100[info] - should produce no hints following it
1101[info] notFollowedBy
1102[info] - should produce no hints
1103[info] empty
1104[info] - should produce unknown error messages
1105[info] - should produce no unknown message under influence of ?
1106[info] - should not produce an error message at the end of <|> chain
1107[info] - should produce an expected error under influence of ? in <|> chain
1108[info] - should have an effect if it's caret is wider
1109[info] eof
1110[info] - should produce expected end of input
1111[info] - should change message under influence of ?
1112[info] amend
1113[info] - should change error messages under it
1114[info] - should not affect input consumption
1115[info] entrench
1116[info] - should prevent the change of error messages under it
1117[info] - should not prevent the action of amend inside it
1118[info] dislodge
1119[info] - should undo an entrench so that amend works again
1120[info] - should not prevent another entrench from occurring
1121[info] - should only unwind as many as instructed if applicable
1122[info] amendThenDislodge
1123[info] - should amend only non-entrenched messages and dislodge those that are
1124[info] - should only unwind as many as instructed if applicable
1125[info] partialAmend
1126[info] - should perform visual amendment but allow for domination
1127[info] + a regular amend should lose against even a shallower error
1128[info] + a partial amend can win against an error at a lesser offset but greater presentation
1129[info] + however, they do not win at equal underlying offset
1130[info] oneOf
1131[info] - should incorporate range notation into the error
1132[info] - should incorporate sets of characters into the error
1133[info] noneOf
1134[info] - should incorporate range notation into the error
1135[info] - should incorporate sets of characters into the error
1136[info] verifiedFail
1137[info] - should fail having consumed input on the parser success
1138[info] - should not consume input if the parser did not succeed
1139[info] - should not produce any labels
1140[info] verifiedExplain/Unexpected
1141[info] - should fail having consumed input on the parser success
1142[info] - should not consume input if the parser did not succeed
1143[info] - should not produce any labels
1144[info] preventativeFail
1145[info] - should fail having consumed input on the parser success
1146[info] - should not consume input if the parser did not succeed and not fail
1147[info] preventativeExplain
1148[info] - should fail having consumed input on the parser success
1149[info] - should not consume input if the parser did not succeed and not fail
1150[info] - should produce labels when specified
1151[info] hints
1152[info] - should incorporate only with errors at the same offset depth
1153[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/CharTests.scala:8:26
1154[warn] 8 |import Predef.{ArrowAssoc => _, *}
1155[warn] | ^^^^^^^^^^^^^^^
1156[warn] | unused import
1157[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/numeric/UnsignedIntegerTests.scala:8:26
1158[warn] 8 |import Predef.{ArrowAssoc => _, *}
1159[warn] | ^^^^^^^^^^^^^^^
1160[warn] | unused import
1161[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/StringTests.scala:8:26
1162[warn] 8 |import Predef.{ArrowAssoc => _, *}
1163[warn] | ^^^^^^^^^^^^^^^
1164[warn] | unused import
1165[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/CombinatorTests.scala:8:26
1166[warn] 8 |import Predef.{ArrowAssoc => _, *}
1167[warn] | ^^^^^^^^^^^^^^^
1168[warn] | unused import
1169[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/text/CharacterTests.scala:8:32
1170[warn] 8 |import scala.Predef.{ArrowAssoc => _, *}
1171[warn] | ^^^^^^^^^^^^^^^
1172[warn] | unused import
1173[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/expr/ExpressionParserTests.scala:8:26
1174[warn] 8 |import Predef.{ArrowAssoc => _, *}
1175[warn] | ^^^^^^^^^^^^^^^
1176[warn] | unused import
1177[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/numeric/SignedIntegerTests.scala:8:26
1178[warn] 8 |import Predef.{ArrowAssoc => _, *}
1179[warn] | ^^^^^^^^^^^^^^^
1180[warn] | unused import
1181[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/CoreTests.scala:8:26
1182[warn] 8 |import Predef.{ArrowAssoc => _, *}
1183[warn] | ^^^^^^^^^^^^^^^
1184[warn] | unused import
1185[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/symbol/SymbolTests.scala:8:26
1186[warn] 8 |import Predef.{ArrowAssoc => _, *}
1187[warn] | ^^^^^^^^^^^^^^^
1188[warn] | unused import
1189[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/UnicodeTests.scala:8:26
1190[warn] 8 |import Predef.{ArrowAssoc => _, *}
1191[warn] | ^^^^^^^^^^^^^^^
1192[warn] | unused import
1193[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/TokeniserTests.scala:8:26
1194[warn] 8 |import Predef.{ArrowAssoc => _, *}
1195[warn] | ^^^^^^^^^^^^^^^
1196[warn] | unused import
1197[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/numeric/RealTests.scala:8:26
1198[warn] 8 |import Predef.{ArrowAssoc => _, *}
1199[warn] | ^^^^^^^^^^^^^^^
1200[warn] | unused import
1201[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/text/EscapeTests.scala:8:51
1202[warn] 8 |import scala.Predef.{String => SString, ArrowAssoc => _, *}
1203[warn] | ^^^^^^^^^^^^^^^
1204[warn] | unused import
1205[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/SpaceTests.scala:8:26
1206[warn] 8 |import Predef.{ArrowAssoc => _, *}
1207[warn] | ^^^^^^^^^^^^^^^
1208[warn] | unused import
1209[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/text/StringTests.scala:8:32
1210[warn] 8 |import scala.Predef.{ArrowAssoc => _, *}
1211[warn] | ^^^^^^^^^^^^^^^
1212[warn] | unused import
1213[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/names/NamesTests.scala:8:26
1214[warn] 8 |import Predef.{ArrowAssoc => _, *}
1215[warn] | ^^^^^^^^^^^^^^^
1216[warn] | unused import
1217[warn] 16 warnings found
1218[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/CharTests.scala:8:26
1219[warn] 8 |import Predef.{ArrowAssoc => _, *}
1220[warn] | ^^^^^^^^^^^^^^^
1221[warn] | unused import
1222[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/numeric/UnsignedIntegerTests.scala:8:26
1223[warn] 8 |import Predef.{ArrowAssoc => _, *}
1224[warn] | ^^^^^^^^^^^^^^^
1225[warn] | unused import
1226[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/StringTests.scala:8:26
1227[warn] 8 |import Predef.{ArrowAssoc => _, *}
1228[warn] | ^^^^^^^^^^^^^^^
1229[warn] | unused import
1230[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/CombinatorTests.scala:8:26
1231[warn] 8 |import Predef.{ArrowAssoc => _, *}
1232[warn] | ^^^^^^^^^^^^^^^
1233[warn] | unused import
1234[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/text/CharacterTests.scala:8:32
1235[warn] 8 |import scala.Predef.{ArrowAssoc => _, *}
1236[warn] | ^^^^^^^^^^^^^^^
1237[warn] | unused import
1238[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/expr/ExpressionParserTests.scala:8:26
1239[warn] 8 |import Predef.{ArrowAssoc => _, *}
1240[warn] | ^^^^^^^^^^^^^^^
1241[warn] | unused import
1242[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/numeric/SignedIntegerTests.scala:8:26
1243[warn] 8 |import Predef.{ArrowAssoc => _, *}
1244[warn] | ^^^^^^^^^^^^^^^
1245[warn] | unused import
1246[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/CoreTests.scala:8:26
1247[warn] 8 |import Predef.{ArrowAssoc => _, *}
1248[warn] | ^^^^^^^^^^^^^^^
1249[warn] | unused import
1250[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/symbol/SymbolTests.scala:8:26
1251[warn] 8 |import Predef.{ArrowAssoc => _, *}
1252[warn] | ^^^^^^^^^^^^^^^
1253[warn] | unused import
1254[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/UnicodeTests.scala:8:26
1255[warn] 8 |import Predef.{ArrowAssoc => _, *}
1256[warn] | ^^^^^^^^^^^^^^^
1257[warn] | unused import
1258[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/TokeniserTests.scala:8:26
1259[warn] 8 |import Predef.{ArrowAssoc => _, *}
1260[warn] | ^^^^^^^^^^^^^^^
1261[warn] | unused import
1262[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/numeric/RealTests.scala:8:26
1263[warn] 8 |import Predef.{ArrowAssoc => _, *}
1264[warn] | ^^^^^^^^^^^^^^^
1265[warn] | unused import
1266[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/text/EscapeTests.scala:8:51
1267[warn] 8 |import scala.Predef.{String => SString, ArrowAssoc => _, *}
1268[warn] | ^^^^^^^^^^^^^^^
1269[warn] | unused import
1270[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/SpaceTests.scala:8:26
1271[warn] 8 |import Predef.{ArrowAssoc => _, *}
1272[warn] | ^^^^^^^^^^^^^^^
1273[warn] | unused import
1274[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/text/StringTests.scala:8:32
1275[warn] 8 |import scala.Predef.{ArrowAssoc => _, *}
1276[warn] | ^^^^^^^^^^^^^^^
1277[warn] | unused import
1278[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/names/NamesTests.scala:8:26
1279[warn] 8 |import Predef.{ArrowAssoc => _, *}
1280[warn] | ^^^^^^^^^^^^^^^
1281[warn] | unused import
1282[warn] 16 warnings found
1283Starting build for ProjectRef(file:/build/repo/,parsleyDebug) (parsley-debug)... [1/3]
1284Compile scalacOptions: -encoding, UTF-8, -unchecked, -Wunused:implicits, -Wunused:explicits, -Wunused:imports, -Wunused:locals, -Wunused:params, -Wunused:privates, -Wvalue-discard, -language:implicitConversions, -Xkind-projector, --java-output-version:17, -Wconf:msg=can be rewritten automatically under:s, -source:3.4-migration
1285[info] compiling 24 Scala sources to /build/repo/parsley-debug/jvm/target/scala-3.8.1-RC1/classes ...
1286[warn] there was 1 deprecation warning; re-run with -deprecation for details
1287[info] done compiling
1288[warn] one warning found
1289[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/CharTests.scala:8:26
1290[warn] 8 |import Predef.{ArrowAssoc => _, *}
1291[warn] | ^^^^^^^^^^^^^^^
1292[warn] | unused import
1293[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/numeric/UnsignedIntegerTests.scala:8:26
1294[warn] 8 |import Predef.{ArrowAssoc => _, *}
1295[warn] | ^^^^^^^^^^^^^^^
1296[warn] | unused import
1297[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/StringTests.scala:8:26
1298[warn] 8 |import Predef.{ArrowAssoc => _, *}
1299[warn] | ^^^^^^^^^^^^^^^
1300[warn] | unused import
1301[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/CombinatorTests.scala:8:26
1302[warn] 8 |import Predef.{ArrowAssoc => _, *}
1303[warn] | ^^^^^^^^^^^^^^^
1304[warn] | unused import
1305[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/text/CharacterTests.scala:8:32
1306[warn] 8 |import scala.Predef.{ArrowAssoc => _, *}
1307[warn] | ^^^^^^^^^^^^^^^
1308[warn] | unused import
1309[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/expr/ExpressionParserTests.scala:8:26
1310[warn] 8 |import Predef.{ArrowAssoc => _, *}
1311[warn] | ^^^^^^^^^^^^^^^
1312[warn] | unused import
1313[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/numeric/SignedIntegerTests.scala:8:26
1314[warn] 8 |import Predef.{ArrowAssoc => _, *}
1315[warn] | ^^^^^^^^^^^^^^^
1316[warn] | unused import
1317[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/CoreTests.scala:8:26
1318[warn] 8 |import Predef.{ArrowAssoc => _, *}
1319[warn] | ^^^^^^^^^^^^^^^
1320[warn] | unused import
1321[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/symbol/SymbolTests.scala:8:26
1322[warn] 8 |import Predef.{ArrowAssoc => _, *}
1323[warn] | ^^^^^^^^^^^^^^^
1324[warn] | unused import
1325[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/UnicodeTests.scala:8:26
1326[warn] 8 |import Predef.{ArrowAssoc => _, *}
1327[warn] | ^^^^^^^^^^^^^^^
1328[warn] | unused import
1329[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/TokeniserTests.scala:8:26
1330[warn] 8 |import Predef.{ArrowAssoc => _, *}
1331[warn] | ^^^^^^^^^^^^^^^
1332[warn] | unused import
1333[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/numeric/RealTests.scala:8:26
1334[warn] 8 |import Predef.{ArrowAssoc => _, *}
1335[warn] | ^^^^^^^^^^^^^^^
1336[warn] | unused import
1337[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/text/EscapeTests.scala:8:51
1338[warn] 8 |import scala.Predef.{String => SString, ArrowAssoc => _, *}
1339[warn] | ^^^^^^^^^^^^^^^
1340[warn] | unused import
1341[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/SpaceTests.scala:8:26
1342[warn] 8 |import Predef.{ArrowAssoc => _, *}
1343[warn] | ^^^^^^^^^^^^^^^
1344[warn] | unused import
1345[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/text/StringTests.scala:8:32
1346[warn] 8 |import scala.Predef.{ArrowAssoc => _, *}
1347[warn] | ^^^^^^^^^^^^^^^
1348[warn] | unused import
1349[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/names/NamesTests.scala:8:26
1350[warn] 8 |import Predef.{ArrowAssoc => _, *}
1351[warn] | ^^^^^^^^^^^^^^^
1352[warn] | unused import
1353[warn] 16 warnings found
1354[info] compiling 7 Scala sources to /build/repo/parsley-debug/jvm/target/scala-3.8.1-RC1/test-classes ...
1355[info] done compiling
1356[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/CharTests.scala:8:26
1357[warn] 8 |import Predef.{ArrowAssoc => _, *}
1358[warn] | ^^^^^^^^^^^^^^^
1359[warn] | unused import
1360[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/numeric/UnsignedIntegerTests.scala:8:26
1361[warn] 8 |import Predef.{ArrowAssoc => _, *}
1362[warn] | ^^^^^^^^^^^^^^^
1363[warn] | unused import
1364[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/StringTests.scala:8:26
1365[warn] 8 |import Predef.{ArrowAssoc => _, *}
1366[warn] | ^^^^^^^^^^^^^^^
1367[warn] | unused import
1368[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/CombinatorTests.scala:8:26
1369[warn] 8 |import Predef.{ArrowAssoc => _, *}
1370[warn] | ^^^^^^^^^^^^^^^
1371[warn] | unused import
1372[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/text/CharacterTests.scala:8:32
1373[warn] 8 |import scala.Predef.{ArrowAssoc => _, *}
1374[warn] | ^^^^^^^^^^^^^^^
1375[warn] | unused import
1376[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/expr/ExpressionParserTests.scala:8:26
1377[warn] 8 |import Predef.{ArrowAssoc => _, *}
1378[warn] | ^^^^^^^^^^^^^^^
1379[warn] | unused import
1380[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/numeric/SignedIntegerTests.scala:8:26
1381[warn] 8 |import Predef.{ArrowAssoc => _, *}
1382[warn] | ^^^^^^^^^^^^^^^
1383[warn] | unused import
1384[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/CoreTests.scala:8:26
1385[warn] 8 |import Predef.{ArrowAssoc => _, *}
1386[warn] | ^^^^^^^^^^^^^^^
1387[warn] | unused import
1388[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/symbol/SymbolTests.scala:8:26
1389[warn] 8 |import Predef.{ArrowAssoc => _, *}
1390[warn] | ^^^^^^^^^^^^^^^
1391[warn] | unused import
1392[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/UnicodeTests.scala:8:26
1393[warn] 8 |import Predef.{ArrowAssoc => _, *}
1394[warn] | ^^^^^^^^^^^^^^^
1395[warn] | unused import
1396[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/TokeniserTests.scala:8:26
1397[warn] 8 |import Predef.{ArrowAssoc => _, *}
1398[warn] | ^^^^^^^^^^^^^^^
1399[warn] | unused import
1400[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/numeric/RealTests.scala:8:26
1401[warn] 8 |import Predef.{ArrowAssoc => _, *}
1402[warn] | ^^^^^^^^^^^^^^^
1403[warn] | unused import
1404[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/text/EscapeTests.scala:8:51
1405[warn] 8 |import scala.Predef.{String => SString, ArrowAssoc => _, *}
1406[warn] | ^^^^^^^^^^^^^^^
1407[warn] | unused import
1408[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/SpaceTests.scala:8:26
1409[warn] 8 |import Predef.{ArrowAssoc => _, *}
1410[warn] | ^^^^^^^^^^^^^^^
1411[warn] | unused import
1412[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/text/StringTests.scala:8:32
1413[warn] 8 |import scala.Predef.{ArrowAssoc => _, *}
1414[warn] | ^^^^^^^^^^^^^^^
1415[warn] | unused import
1416[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/names/NamesTests.scala:8:26
1417[warn] 8 |import Predef.{ArrowAssoc => _, *}
1418[warn] | ^^^^^^^^^^^^^^^
1419[warn] | unused import
1420[warn] 16 warnings found
1421[info] ReuseSpec:
1422[info] the DebugView class and its re-usability / single-use enforcement
1423[info] - should throw when run multiple times, only if the view is marked as single-use
1424[info] + it should not throw when running a reusable frontend multiple times
1425[info] + it should throw when running a single-use frontend multiple times
1426[info] + single-use frontend has thrown after being run multiple times, as expected
1427[info] RenameSpec:
1428[info] the Renamer object
1429[info] - should not rename a parser it does not know of
1430[info] - should rename a parser it is aware of
1431[info] - should translate a symbolic parser's name
1432[info] - should pass through Debugged parsers and get the inner parser's name
1433[info] - should override a known name if a parser is named.
1434[info] + the current platform does not support Collector
1435[info] - should collect names of parsers from lexers (on supported platforms)
1436[info] DebuggerUsageSpec:
1437[info] the Debugged internal frontend class
1438[info] - should not allow nesting of Debugged nodes
1439[info] + assertion exception thrown, as expected
1440[info] - should preserve the prettified names of the parsers
1441[info] the debugger runtime
1442[info] - should preserve the result of parsers
1443[info] - should not cause references to be unallocated
1444[info] - should preserve the side-effecting behaviour of parsers
1445[info] - should store the children, representing the paths the parse-time execution took
1446[info] - should factor out inputs of child parsers
1447[info] AnnotationTest:
1448[info] parsley.debuggable
1449[info] - should fill in the names for objects
1450[info] - should fill in the names for classes
1451[info] RemoteBreakSpec:
1452[info] Remote breakpoint
1453[info] - should break before input is consumed on EntryBreak
1454[info] - should break after input is consumed on ExitBreak
1455[info] - should call renderWait after hitting a breakpoint
1456[info] - should not break when given NoBreak
1457[info] - should break twice when given FullBreak
1458[info] - should skip one breakpoint
1459[info] - should skip breakpoints many times
1460[info] - should skip many breakpoints at once
1461[info] - should never break if the parser wasn't reached
1462[info] - should break many times with iterative combinators
1463[info] - should stay silent after skipping more breakpoints than there are
1464[info] - should skip indefinitely with the special case of -1
1465[info] - should preserve references that aren't passed to break
1466[info] - should preserve references that are passed in and not returned
1467[info] - should modify Ref[String]
1468[info] - should modify Ref[Char]
1469[info] - should modify Ref[Boolean]
1470[info] - should modify Ref[Byte]
1471[info] - should modify Ref[Short]
1472[info] - should modify Ref[Int]
1473[info] - should modify Ref[Long]
1474[info] - should modify Ref[Float]
1475[info] - should modify Ref[Double]
1476[info] - should modify the same reference many times
1477[info] - should modify multiple references at the same time of different types
1478[info] - should modify correctly with EntryBreak
1479[info] TotalAttachmentSpec:
1480[info] the debug node attachment visitor
1481[info] - should attach debuggers to all opaque nodes of a parser and not otherwise
1482[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/CharTests.scala:8:26
1483[warn] 8 |import Predef.{ArrowAssoc => _, *}
1484[warn] | ^^^^^^^^^^^^^^^
1485[warn] | unused import
1486[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/numeric/UnsignedIntegerTests.scala:8:26
1487[warn] 8 |import Predef.{ArrowAssoc => _, *}
1488[warn] | ^^^^^^^^^^^^^^^
1489[warn] | unused import
1490[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/StringTests.scala:8:26
1491[warn] 8 |import Predef.{ArrowAssoc => _, *}
1492[warn] | ^^^^^^^^^^^^^^^
1493[warn] | unused import
1494[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/CombinatorTests.scala:8:26
1495[warn] 8 |import Predef.{ArrowAssoc => _, *}
1496[warn] | ^^^^^^^^^^^^^^^
1497[warn] | unused import
1498[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/text/CharacterTests.scala:8:32
1499[warn] 8 |import scala.Predef.{ArrowAssoc => _, *}
1500[warn] | ^^^^^^^^^^^^^^^
1501[warn] | unused import
1502[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/expr/ExpressionParserTests.scala:8:26
1503[warn] 8 |import Predef.{ArrowAssoc => _, *}
1504[warn] | ^^^^^^^^^^^^^^^
1505[warn] | unused import
1506[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/numeric/SignedIntegerTests.scala:8:26
1507[warn] 8 |import Predef.{ArrowAssoc => _, *}
1508[warn] | ^^^^^^^^^^^^^^^
1509[warn] | unused import
1510[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/CoreTests.scala:8:26
1511[warn] 8 |import Predef.{ArrowAssoc => _, *}
1512[warn] | ^^^^^^^^^^^^^^^
1513[warn] | unused import
1514[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/symbol/SymbolTests.scala:8:26
1515[warn] 8 |import Predef.{ArrowAssoc => _, *}
1516[warn] | ^^^^^^^^^^^^^^^
1517[warn] | unused import
1518[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/UnicodeTests.scala:8:26
1519[warn] 8 |import Predef.{ArrowAssoc => _, *}
1520[warn] | ^^^^^^^^^^^^^^^
1521[warn] | unused import
1522[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/TokeniserTests.scala:8:26
1523[warn] 8 |import Predef.{ArrowAssoc => _, *}
1524[warn] | ^^^^^^^^^^^^^^^
1525[warn] | unused import
1526[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/numeric/RealTests.scala:8:26
1527[warn] 8 |import Predef.{ArrowAssoc => _, *}
1528[warn] | ^^^^^^^^^^^^^^^
1529[warn] | unused import
1530[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/text/EscapeTests.scala:8:51
1531[warn] 8 |import scala.Predef.{String => SString, ArrowAssoc => _, *}
1532[warn] | ^^^^^^^^^^^^^^^
1533[warn] | unused import
1534[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/SpaceTests.scala:8:26
1535[warn] 8 |import Predef.{ArrowAssoc => _, *}
1536[warn] | ^^^^^^^^^^^^^^^
1537[warn] | unused import
1538[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/text/StringTests.scala:8:32
1539[warn] 8 |import scala.Predef.{ArrowAssoc => _, *}
1540[warn] | ^^^^^^^^^^^^^^^
1541[warn] | unused import
1542[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/names/NamesTests.scala:8:26
1543[warn] 8 |import Predef.{ArrowAssoc => _, *}
1544[warn] | ^^^^^^^^^^^^^^^
1545[warn] | unused import
1546[warn] 16 warnings found
1547[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/CharTests.scala:8:26
1548[warn] 8 |import Predef.{ArrowAssoc => _, *}
1549[warn] | ^^^^^^^^^^^^^^^
1550[warn] | unused import
1551[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/numeric/UnsignedIntegerTests.scala:8:26
1552[warn] 8 |import Predef.{ArrowAssoc => _, *}
1553[warn] | ^^^^^^^^^^^^^^^
1554[warn] | unused import
1555[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/StringTests.scala:8:26
1556[warn] 8 |import Predef.{ArrowAssoc => _, *}
1557[warn] | ^^^^^^^^^^^^^^^
1558[warn] | unused import
1559[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/CombinatorTests.scala:8:26
1560[warn] 8 |import Predef.{ArrowAssoc => _, *}
1561[warn] | ^^^^^^^^^^^^^^^
1562[warn] | unused import
1563[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/text/CharacterTests.scala:8:32
1564[warn] 8 |import scala.Predef.{ArrowAssoc => _, *}
1565[warn] | ^^^^^^^^^^^^^^^
1566[warn] | unused import
1567[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/expr/ExpressionParserTests.scala:8:26
1568[warn] 8 |import Predef.{ArrowAssoc => _, *}
1569[warn] | ^^^^^^^^^^^^^^^
1570[warn] | unused import
1571[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/numeric/SignedIntegerTests.scala:8:26
1572[warn] 8 |import Predef.{ArrowAssoc => _, *}
1573[warn] | ^^^^^^^^^^^^^^^
1574[warn] | unused import
1575[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/CoreTests.scala:8:26
1576[warn] 8 |import Predef.{ArrowAssoc => _, *}
1577[warn] | ^^^^^^^^^^^^^^^
1578[warn] | unused import
1579[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/symbol/SymbolTests.scala:8:26
1580[warn] 8 |import Predef.{ArrowAssoc => _, *}
1581[warn] | ^^^^^^^^^^^^^^^
1582[warn] | unused import
1583[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/UnicodeTests.scala:8:26
1584[warn] 8 |import Predef.{ArrowAssoc => _, *}
1585[warn] | ^^^^^^^^^^^^^^^
1586[warn] | unused import
1587[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/TokeniserTests.scala:8:26
1588[warn] 8 |import Predef.{ArrowAssoc => _, *}
1589[warn] | ^^^^^^^^^^^^^^^
1590[warn] | unused import
1591[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/numeric/RealTests.scala:8:26
1592[warn] 8 |import Predef.{ArrowAssoc => _, *}
1593[warn] | ^^^^^^^^^^^^^^^
1594[warn] | unused import
1595[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/text/EscapeTests.scala:8:51
1596[warn] 8 |import scala.Predef.{String => SString, ArrowAssoc => _, *}
1597[warn] | ^^^^^^^^^^^^^^^
1598[warn] | unused import
1599[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/SpaceTests.scala:8:26
1600[warn] 8 |import Predef.{ArrowAssoc => _, *}
1601[warn] | ^^^^^^^^^^^^^^^
1602[warn] | unused import
1603[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/text/StringTests.scala:8:32
1604[warn] 8 |import scala.Predef.{ArrowAssoc => _, *}
1605[warn] | ^^^^^^^^^^^^^^^
1606[warn] | unused import
1607[warn] -- [E198] Unused Symbol Warning: /build/repo/parsley/shared/src/test/scala/parsley/token/names/NamesTests.scala:8:26
1608[warn] 8 |import Predef.{ArrowAssoc => _, *}
1609[warn] | ^^^^^^^^^^^^^^^
1610[warn] | unused import
1611[warn] 16 warnings found
1612Starting build for ProjectRef(file:/build/repo/,unidocs) (parsley-docs)... [2/3]
1613Compile scalacOptions: -encoding, UTF-8, -unchecked, -Wunused:implicits, -Wunused:explicits, -Wunused:imports, -Wunused:locals, -Wunused:params, -Wunused:privates, -Wvalue-discard, -language:implicitConversions, -Xkind-projector, --java-output-version:17, -Wconf:msg=can be rewritten automatically under:s, -source:3.4-migration
1614
1615************************
1616Build summary:
1617[{
1618 "module": "parsley",
1619 "compile": {"status": "ok", "tookMs": 28983, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
1620 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1621 "test-compile": {"status": "ok", "tookMs": 22489, "warnings": 16, "errors": 0, "sourceVersion": "3.4-migration"},
1622 "test": {"status": "ok", "tookMs": 2582, "passed": 575, "failed": 0, "ignored": 0, "skipped": 0, "total": 575, "byFramework": [{"framework": "unknown", "stats": {"passed": 575, "failed": 0, "ignored": 0, "skipped": 0, "total": 575}}]},
1623 "publish": {"status": "skipped", "tookMs": 0},
1624 "metadata": {
1625 "crossScalaVersions": ["2.13.16", "2.12.20", "3.3.7"]
1626}
1627},{
1628 "module": "parsley-debug",
1629 "compile": {"status": "ok", "tookMs": 2034, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
1630 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1631 "test-compile": {"status": "ok", "tookMs": 2353, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
1632 "test": {"status": "ok", "tookMs": 1024, "passed": 43, "failed": 0, "ignored": 0, "skipped": 0, "total": 43, "byFramework": [{"framework": "unknown", "stats": {"passed": 43, "failed": 0, "ignored": 0, "skipped": 0, "total": 43}}]},
1633 "publish": {"status": "skipped", "tookMs": 0},
1634 "metadata": {
1635 "crossScalaVersions": ["2.13.16", "2.12.20", "3.3.7"]
1636}
1637},{
1638 "module": "parsley-docs",
1639 "compile": {"status": "ok", "tookMs": 65, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
1640 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1641 "test-compile": {"status": "ok", "tookMs": 95, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
1642 "test": {"status": "ok", "tookMs": 76, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
1643 "publish": {"status": "skipped", "tookMs": 0},
1644 "metadata": {
1645 "crossScalaVersions": ["2.13.16", "2.12.20", "3.3.7"]
1646}
1647}]
1648************************
1649[success] Total time: 63 s (0:01:03.0), completed Jan 13, 2026, 8:21:49 PM
1650[0JChecking patch project/plugins.sbt...
1651Checking patch project/build.properties...
1652Checking patch build.sbt...
1653Applied patch project/plugins.sbt cleanly.
1654Applied patch project/build.properties cleanly.
1655Applied patch build.sbt cleanly.