Build Logs

j-mie6/parsley • 3.8.0-RC5:2025-12-31

Errors

4

Warnings

522

Total Lines

1650

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