Build Logs
j-mie6/parsley • 3.8.0-RC6:2026-01-08
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-RC6
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-RC6"
45Successfully applied pattern 'val Scala3 = "3.3.7"' in build.sbt
46----
47Starting build for 3.8.0-RC6
48Execute tests: true
49sbt project found:
50No prepare script found for project j-mie6/parsley
51##################################
52Scala version: 3.8.0-RC6
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-RC6
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-RC6"
74"++3.8.0-RC6 -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-RC6 """{"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.239s.
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-RC6
95OpenCB::Changing crossVersion 3.8.0-RC6 -> 3.8.0-RC6 in unidocs/crossScalaVersions
96[info] set scmInfo to https://github.com/j-mie6/parsley
97OpenCB::Changing crossVersion 3.8.0-RC6 -> 3.8.0-RC6 in root/crossScalaVersions
98OpenCB::Limitting incorrect crossVersions List() -> List(3.8.0-RC6) in root/crossScalaVersions
99OpenCB::Changing crossVersion 3.8.0-RC6 -> 3.8.0-RC6 in parsleyDebug/crossScalaVersions
100OpenCB::Changing crossVersion 3.8.0-RC6 -> 3.8.0-RC6 in parsleyJS/crossScalaVersions
101OpenCB::Changing crossVersion 3.8.0-RC6 -> 3.8.0-RC6 in docs/crossScalaVersions
102OpenCB::Changing crossVersion 3.8.0-RC6 -> 3.8.0-RC6 in rootNative/crossScalaVersions
103OpenCB::Changing crossVersion 3.8.0-RC6 -> 3.8.0-RC6 in rootJS/crossScalaVersions
104OpenCB::Changing crossVersion 3.8.0-RC6 -> 3.8.0-RC6 in parsleyDebugJS/crossScalaVersions
105OpenCB::Changing crossVersion 3.8.0-RC6 -> 3.8.0-RC6 in parsleyDebugNative/crossScalaVersions
106OpenCB::Changing crossVersion 3.8.0-RC6 -> 3.8.0-RC6 in rootJVM/crossScalaVersions
107OpenCB::Changing crossVersion 3.8.0-RC6 -> 3.8.0-RC6 in parsleyNative/crossScalaVersions
108OpenCB::Changing crossVersion 3.8.0-RC6 -> 3.8.0-RC6 in parsley/crossScalaVersions
109[info] set current project to root (in build file:/build/repo/)
110[info] Setting Scala version to 3.8.0-RC6 on 12 projects.
111[info] Switching Scala version on:
112[info] * root (3.8.0-RC6)
113[info] parsleyDebug (2.13.16, 2.12.20, 3.8.0-RC6)
114[info] unidocs (2.13.16, 2.12.20, 3.8.0-RC6)
115[info] rootJS (2.13.16, 2.12.20, 3.8.0-RC6)
116[info] docs (2.13.16, 2.12.20, 3.8.0-RC6)
117[info] parsleyDebugNative (2.13.16, 2.12.20, 3.8.0-RC6)
118[info] rootJVM (2.13.16, 2.12.20, 3.8.0-RC6)
119[info] rootNative (2.13.16, 2.12.20, 3.8.0-RC6)
120[info] parsleyNative (2.13.16, 2.12.20, 3.8.0-RC6)
121[info] parsley (2.13.16, 2.12.20, 3.8.0-RC6)
122[info] parsleyDebugJS (2.13.16, 2.12.20, 3.8.0-RC6)
123[info] parsleyJS (2.13.16, 2.12.20, 3.8.0-RC6)
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 Jan 8, 2026, 2:24:52 AM
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-RC6/classes ...
163[info] done compiling
164[info] compiling 46 Scala sources to /build/repo/parsley/jvm/target/scala-3.8.0-RC6/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] DefuncHintsTests:
297[info] EmptyHints
298[info] - should have size 0
299[info] - should yield an empty set
300[info] AddError
301[info] - should should increase the size
302[info] ReplaceHint
303[info] - should do nothing on empty
304[info] - should replace the hints under it
305[info] MergeHints
306[info] - should ensure all elements from both hints
307[info] PositionTests:
308[info] line
309[info] - should start at 1
310[info] - should increment on newline
311[info] - should not increment on tabs or other chars
312[info] col
313[info] - should start at 1
314[info] - should reset on newline
315[info] - should go to tab boundaries
316[info] - should increment on other chars
317[info] offset
318[info] - should start at 0
319[info] - should only increase by one regardless of character
320[info] withWidth
321[info] - should return 0 for pure things
322[info] - should correctly span input consumption
323[info] TrieSpec:
324[info] - a Trie constructed from a set should contain all of its elements
325[info] - a Trie constructed from a set should not contain extra keys
326[info] NamesTests:
327[info] identifier
328[info] - should parse valid identifiers
329[info] - should fail to parse valid keywords
330[info] - should point at the correct place for the error
331[info] - should report the correct label
332[info] - should work in the presence of case insensitivity with respect to keywords
333[info] user defined operator
334[info] - should parse valid operators that are not keywords
335[info] - should fail to parse hard operators
336[info] refined identifier
337[info] - should only allow identifiers with the given start characters
338[info] refined operator
339[info] - should only allow operators with the given start characters
340[info] - should only allow operators with the given end characters
341[info] - should be able to constrain both ends
342[info] SpaceTests:
343[info] whiteSpace
344[info] - should parse spaces when no comments are defined
345[info] - should supported unicode definition
346[info] - should parse spaces and line comments when defined
347[info] - should parse spaces and multi-line comment when defined
348[info] - should parse spaces and mixed comments when defined
349[info] - should be skipComments with no whitespace allowed
350[info] - should allow for line comments to end in EOF
351[info] - should or not allow EOF
352[info] - should parse nested comments when applicable
353[info] - should not parse nested comments when applicable
354[info] skipComments
355[info] - should parse single-line comments
356[info] - should parse multi-line comments
357[info] - should parse mixed comments
358[info] - should parse nested comments when applicable
359[info] - should not parse nested comments when applicable
360[info] - should do nothing with no comments
361[info] - should allow for line comments to end in EOF
362[info] - should or not allow EOF
363[info] - should not aggressively eat everything
364[info] context-dependent whitespace
365[info] - must be initialised
366[info] init
367[info] - should initialise the space so it can be used
368[info] - should initialise space to the default space definition
369[info] - should not work if context-dependent whitespace is off
370[info] alter
371[info] - should not work if context-dependent whitespace is off
372[info] - should temporarily alter how whitespace is parsed
373[info] - should not restore old whitespace if the given parser fails having consumed input
374[info] fully
375[info] - should parse leading whitespace and ensure eof
376[info] - should initialise dependent whitespace
377[info] unicode spaces
378[info] - should not revive dead hints
379[info] FilterTests:
380[info] filtering parsers
381[info] - should function correctly
382[info] the collect/mapFilter combinators
383[info] - should act like a filter then a map
384[info] filterOut
385[info] - should not corrupt the stack under a handler
386[info] partial functions within filters
387[info] - should not be evaluated twice
388[info] + filterOut
389[info] + unexpectedWhen
390[info] + unexpectedWithReasonWhen
391[info] + collectMsg
392[info] + guardAgainst
393[info] + mapFilterMsg
394[info] ExpressionSemanticPreservationSpec:
395[info] the new precedence implementation
396[info] - should successfully parse basic expressions and not vary based on optimisations
397[info] - should fail to parse basic expressions and not vary based on optimisations
398[info] - should parse expressions with parentheses and not vary based on optimisations
399[info] - should parse chained non-associative operators and not vary based on optimisations
400[info] - should parse random expressions and not vary based on optimisations
401[info] StringTests:
402[info] string literals
403[info] - should be allowed to be empty
404[info] - should be allowed to be non-empty
405[info] - should allow for escape sequences
406[info] - should allow for different graphic characters
407[info] - should allow for change in literal end
408[info] - should allow for string gaps when configured
409[info] - should allow for empty characters when configured
410[info] - should allow for no graphical character
411[info] plain string literals
412[info] - should not allow for newlines in the string
413[info] plain utf-16 string literals
414[info] - should parse valid utf-16 strings, even with multiple codepoints
415[info] plain latin string literals
416[info] - should parse valid latin
417[info] - should not accept bmp or other unicode, including in escapes
418[info] plain ascii string literals
419[info] - should parse only valid ascii
420[info] - should not accept latin or unicode, including from escapes
421[info] plain multi-line string literals
422[info] - should parse regular strings
423[info] - should also allow (and preserve) line breaks in the string
424[info] raw string literals
425[info] - should parse regular strings without escapes
426[info] - should not allow for escaped string ends
427[info] - should not allow for line breaks
428[info] - should allow only for a empty-string when no graphic character allowed
429[info] raw multi-line string literals
430[info] - should preserve line breaks in text and not admit escapes
431[info] - should allow for the graphic char to be swapped
432[info] combined strings
433[info] - should allow for for either string with no ambiguity
434[info] SignedIntegerTests:
435[info] signed decimal
436[info] - should parse valid decimal numbers of any size
437[info] - should not allow for plus when configured
438[info] - should require a plus when configured
439[info] - should require at least one digit
440[info] signed hexadecimal
441[info] - should parse valid decimal numbers of any size
442[info] - should not allow for plus when configured
443[info] - should require a plus when configured
444[info] unsigned octal
445[info] - should parse valid decimal numbers of any size
446[info] - should not allow for plus when configured
447[info] - should require a plus when configured
448[info] unsigned binary
449[info] - should parse valid decimal numbers of any size
450[info] - should not allow for leading zeros when configured
451[info] - should allow for literal break characters when configured
452[info] number
453[info] - should support any of the different bases
454[info] bounded numbers
455[info] - should also work across any different base
456[info] ExpressionParserTests:
457[info] chain.postfix
458[info] - must require an initial value
459[info] - must parse all operators that follow
460[info] - must apply the functions
461[info] - must fail if an operator fails after consuming input
462[info] - must not leave the stack in an inconsistent state on failure
463[info] chain.postfix1
464[info] - must require and initial value AND an initial operator
465[info] - must parse all operators that follow
466[info] - must apply the functions
467[info] - must fail if an operator fails after consuming input
468[info] chain.prefix
469[info] - must parse an operatorless value
470[info] - must parse all operators that precede a value
471[info] - must fail if the final value is absent
472[info] - must apply the functions
473[info] chain.prefix1
474[info] - must not parse an operatorless value
475[info] - must parse all operators that precede a value
476[info] - must fail if the final value is absent
477[info] - must apply the functions
478[info] chain.right1
479[info] - must require an initial value
480[info] - must parse all operators and values that follow
481[info] - must apply the functions with correct associativity
482[info] - must fail if an operator or p fails after consuming input
483[info] - must correctly accept the use of a wrapping function
484[info] chain.right
485[info] - must allow for no initial value
486[info] chain.left1
487[info] - must require an initial value
488[info] - must parse all operators and values that follow
489[info] - must apply the functions with correct associativity
490[info] - must fail if an operator fails after consuming input
491[info] - must not leave the stack in an inconsistent state on failure
492[info] - must correctly accept the use of a wrapping function
493[info] chain.left
494[info] - must allow for no initial value
495[info] expression parsers
496[info] - should result in correct precedence
497[info] - should work for multiple operators at the same level
498[info] - should work for mixed associativity operators
499[info] - should parse mathematical expressions
500[info] - should parse prefix operators mixed with infix operators
501[info] - should be able to parse prefix operators weaker than an infix
502[info] - should generalise to sub-typed structures
503[info] - should generalise to non-monolithic structures
504[info] - should generalise to non-monolithic structures with more than one chainl1
505[info] mixed expressions
506[info] - should also be parsable
507[info] mixed chains
508[info] - should allow the mixing of prefix with infix-right
509[info] - should allow the mixing of postfix with infix-left
510[info] SymbolSemanticPreservationSpec:
511[info] - reading keywords should not vary based on optimisations
512[info] - reading operators should not vary based on optimisations
513[info] DefuncErrorTests:
514[info] ClassicExpectedError
515[info] - should evaluate to TrivialError
516[info] - should only be empty when its label is
517[info] ClassicExpectedErrorWithReason
518[info] - should evaluate to TrivialError
519[info] - should only be empty when its label is
520[info] ClassicUnexpectedError
521[info] - should evaluate to TrivialError
522[info] - should only be empty when its label is
523[info] - should allow for flexible and rigid carets
524[info] ClassicFancyError
525[info] - should evaluate to FancyError
526[info] - should always be empty
527[info] EmptyError
528[info] - should evaluate to TrivialError
529[info] EmptyErrorWithReason
530[info] - should evaluate to TrivialError
531[info] MergedErrors
532[info] - should be trivial if both children are
533[info] - should be a trivial error if one trivial child is further than the other fancy child
534[info] - should be a fancy error in any other case
535[info] - should be empty when trivial and same offset only when both children are empty
536[info] - should contain all the expecteds from both branches when appropriate
537[info] WithHints
538[info] - should be trivial if its child is
539[info] - should support fancy errors as not trivial
540[info] - should only be empty when its label is
541[info] WithReason
542[info] - should be trivial if its child is
543[info] - should support fancy errors as not trivial
544[info] - should only be empty when its label is
545[info] WithLabel
546[info] - should be trivial if its child is
547[info] - should support fancy errors as not trivial
548[info] - should be empty if the label is empty and not otherwise
549[info] - should replace all expected
550[info] Amended
551[info] - should Change the error position information
552[info] - should work for fancy errors too
553[info] Entrenched
554[info] - should guard against amendment
555[info] - should work for fancy errors too
556[info] Dislodged
557[info] - should remove an entrenchment
558[info] - should work for fancy errors too
559[info] VisitorTests:
560[info] - should maintain laziness of the parsers visited
561[info] - should all return the constant unit object from the test visitor
562[info] DescriptionRequireTests:
563[info] SymbolDesc
564[info] - should not allow an intersection between operators and keywords
565[info] ExponentDesc.Supported
566[info] - should not allow for empty exponents
567[info] NumericDesc
568[info] - should not allow for multiple prefixless descriptions
569[info] - should not rule out valid configurations
570[info] - should not allow for leading zeros if there is a prefixless description
571[info] NumberOfDigits.AtMost
572[info] - should not allow for 0 or negative numbers of digits
573[info] NumberOfDigits.Exactly
574[info] - should not allow for 0 or negative numebrs of digits
575[info] EscapeDesc
576[info] - should not allow for empty string escapes
577[info] - should not permit ambiguity with the different mappings
578[info] - should not allow for constant escapes that aren't valid characters
579[info] TextDesc
580[info] - should not allow for string literals without ends
581[info] CoreIOTests:
582[info] parse
583[info] - should work
584[info] - should fail with an error when file does not exist
585[info] ProfilerTests:
586[info] The profiler
587[info] - should handle sequential entries and exits
588[info] - should handle recursive entries
589[info] - should handle mutually recursive entries
590[info] - should handle mixed iterative and recursive entries
591[info] - should handle mixed iterative and self-recursive entries
592[info] CoreTests:
593[info] Character parsers
594[info] - should fail on no input
595[info] - should fail when given incorrect input
596[info] - should succeed when given correct input
597[info] - must only consume a single character of input at most
598[info] Pure parsers
599[info] - should not require input
600[info] - must result in their correct value
601[info] - must not consume any input
602[info] Fresh parsers
603[info] - should generate unique objects on every run
604[info] - must obey the homomorphism law: pure f <*> pure x = pure (f x)
605[info] - must obey the fmap law: pure f <*> p = f <$> p
606[info] - must obey the interchange law: u <*> pure x = ($x) <$> u
607[info] - must obey the composition law: pure (.) <*> u <*> v <*> w = u <*> (v <*> w)
608[info] lift22
609[info] - must work correctly (and by extension 21-3)
610[info] Selective parsers
611[info] - must obey the selective left-branch law
612[info] - must obey the selective right-branch law
613[info] - must obey the fold law
614[info] Monadic parsers
615[info] - must obey the left identity law: pure x >>= f = f x
616[info] - must obey the right identity law: m >>= pure = m
617[info] - must obey the associativity law: (m >>= f) >>= g = m >>= (x => f x >>= g)
618[info] - must allow for flattening
619[info] branch
620[info] - must work correctly for non-pure components
621[info] <|>
622[info] - should not try the second alternative if the first succeeded
623[info] - should only try second alternative if the first failed without consuming input
624[info] - should not try the second alternative if the first failed after consuming input
625[info] - should not be affected by an empty on the left
626[info] atomic
627[info] - should cause <|> to try second alternative even if input consumed
628[info] notFollowedBy
629[info] - must succeed if p fails
630[info] - must succeed even if p consumed input
631[info] - must fail if p succeeds
632[info] - must behave like empty if provided a parser that consumes no input
633[info] lookAhead
634[info] - should consume no input on success
635[info] - must fail when input is consumed, and input is consumed
636[info] many
637[info] - should crash when given a parser that does not consume input
638[info] stateful parsers
639[info] - should allow for persistent state
640[info] - should be modifiable
641[info] - should provide localised context
642[info] - should be correctly allocated when found inside recursion
643[info] - should be correctly allocated when found inside sub-routines
644[info] - should be preserved by callee-save in flatMap
645[info] - should be preserved by callee-save in flatMap even when it fails
646[info] - should be able to be rolled back if they fail softly
647[info] - should but not roll back if they hard fail
648[info] - should not rollback if successful
649[info] - should support more than 4 registers
650[info] fillReg
651[info] - should appear to create a fresh register every time its invoked
652[info] - should also appear to create a fresh register even in the presence of a hard failure
653[info] ternary parsers
654[info] - should function correctly
655[info] filtered parsers
656[info] - should function correctly
657[info] the collect combinator
658[info] - should act like a filter then a map
659[info] foldRight
660[info] - should work correctly
661[info] foldRight1
662[info] - should work correctly
663[info] foldLeft
664[info] - should work correctly
665[info] foldLeft1
666[info] - should work correctly
667[info] reduceRightOption
668[info] - should return Some on success
669[info] - should return None if there is no p
670[info] reduceLeftOption
671[info] - should return Some on success
672[info] - should return None if there is no p
673[info] stack overflows
674[info] - should not be thrown by recursive parsers
675[info] - should not be caused by bind optimisation
676[info] lazy parsley
677[info] - should be able to prevent overly strict combinators
678[info] overflows
679[info] - should allow for forwarding via the Cont monad
680[info] failures through call boundary
681[info] - should ensure that stateful instructions are restored correctly
682[info] flatMap
683[info] - should consistently generate a callee-save instruction if needed
684[info] span
685[info] - should return all the input parsed by a parser, exactly as it was
686[info] UnsignedIntegerTests:
687[info] unsigned decimal
688[info] - should parse valid decimal numbers of any size
689[info] - should not allow for leading zeros when configured
690[info] - should allow for literal break characters when configured
691[info] - should allow for literal breaks without leading zeros when configured
692[info] - should require at least one digit
693[info] unsigned hexadecimal
694[info] - should parse valid decimal numbers of any size
695[info] - should not allow for leading zeros when configured
696[info] - should allow for literal break characters when configured
697[info] - should allow for literal breaks without leading zeros when configured
698[info] - should not allow for literal break cases after prefix when configured
699[info] - should require at least one digit
700[info] unsigned octal
701[info] - should parse valid decimal numbers of any size
702[info] - should not allow for leading zeros when configured
703[info] - should allow for literal break characters when configured
704[info] - should allow for literal breaks without leading zeros when configured
705[info] - should not allow for literal break cases after prefix when configured
706[info] - should require at least one digit
707[info] unsigned binary
708[info] - should parse valid decimal numbers of any size
709[info] - should not allow for leading zeros when configured
710[info] - should allow for literal break characters when configured
711[info] - should allow for literal breaks without leading zeros when configured
712[info] - should not allow for literal break cases after prefix when configured
713[info] - should require at least one digit
714[info] prefixless numbers
715[info] - should be supported with a leading 0
716[info] number
717[info] - should support any of the different bases
718[info] bounded numbers
719[info] - should also work across any different base
720[info] SymbolTests:
721[info] soft keywords
722[info] - should parse even when not in the keyword set
723[info] - should parse full utf-16
724[info] - should be able to be case-insensitive
725[info] - should not consumed input when they fail
726[info] - should not be affected by tablification optimisation
727[info] soft operators
728[info] - should parse even when not in the operators set
729[info] - should not consume input when they fail
730[info] symbols
731[info] - should be parsed according to category
732[info] EscapeTests:
733[info] escape characters
734[info] - should handle regular literal escapes
735[info] - should handle a change in opening character
736[info] - should handle single-character mappings
737[info] - should handle multi-character mappings
738[info] - should not deal with empty escapes or gaps
739[info] - should handle decimal escapes
740[info] - should handle octal escapes
741[info] - should handle hexadecimal escapes
742[info] - should handle binary escapes
743[info] CharacterTests:
744[info] character literals
745[info] - should require end char
746[info] - should parse any defined "graphic character"
747[info] - should be able to parse escape sequences too
748[info] - should not allow for string gaps or empty characters
749[info] - should be able to set the literal end char
750[info] - should handle empty graphic chars, by parsing escape sequences
751[info] full utf-16 literals
752[info] - should parse any valid single code-point
753[info] - should not parse multi-code point characters
754[info] basic multi-lingual plane literals
755[info] - should parse any valid bmp code-point
756[info] - should not parse wider unicode, including from escape characters
757[info] - should also behave similarly when given a non-unicode predicate
758[info] extended-ascii literals
759[info] - should parse any valid extended ascii code-point
760[info] - should not parse other utf-16 characters, including from escape sequences
761[info] ascii literals
762[info] - should parse any valid ascii code-point
763[info] - should not parse other utf-16 characters, including from escape sequences
764[info] ResultTests:
765[info] Success
766[info] - should return true for isSuccess
767[info] - should return false for isFailure
768[info] - should not throw an exception on get
769[info] Failure
770[info] - should return false for isSuccess
771[info] - should return true for isFailure
772[info] - should throw an exception on get
773[info] Result[A]
774[info] - should behave like Either[String, A] on success
775[info] - should behave like Either[String, A] on failure
776[info] - should behave like Option[A] when extracting elements
777[info] - should throw an exception when it fails and converted to Try
778[info] - should be convertible to a possibly one element sequence
779[info] - should support contains
780[info] - should support forall
781[info] - should support foreach
782[info] - should flatten correctly
783[info] - should be filterable
784[info] - should be foldable
785[info] ErrorTests:
786[info] mzero parsers
787[info] - should always fail
788[info] label
789[info] - should affect base error messages
790[info] - should work across a recursion boundary
791[info] - should replace everything under the label
792[info] - should not replace hints if input is consumed
793[info] hide
794[info] - should not produce any visible output
795[info] - should suppress hints even if input is consumed
796[info] - should not allow hints to be unsuppressed by another label
797[info] explain
798[info] - should provide a message, but only on failure
799[info] - should not have any effect when more input has been consumed since it was added
800[info] fail
801[info] - should yield a raw message
802[info] - should be flexible when the width is unspecified
803[info] - should dominate otherwise
804[info] unexpected
805[info] - should yield changes to unexpected messages
806[info] - should produce expected message under influence of ?, along with original message
807[info] - should be flexible when the width is unspecified
808[info] - should dominate otherwise
809[info] lookAhead
810[info] - should produce no hints following it
811[info] notFollowedBy
812[info] - should produce no hints
813[info] empty
814[info] - should produce unknown error messages
815[info] - should produce no unknown message under influence of ?
816[info] - should not produce an error message at the end of <|> chain
817[info] - should produce an expected error under influence of ? in <|> chain
818[info] - should have an effect if it's caret is wider
819[info] eof
820[info] - should produce expected end of input
821[info] - should change message under influence of ?
822[info] amend
823[info] - should change error messages under it
824[info] - should not affect input consumption
825[info] entrench
826[info] - should prevent the change of error messages under it
827[info] - should not prevent the action of amend inside it
828[info] dislodge
829[info] - should undo an entrench so that amend works again
830[info] - should not prevent another entrench from occurring
831[info] - should only unwind as many as instructed if applicable
832[info] amendThenDislodge
833[info] - should amend only non-entrenched messages and dislodge those that are
834[info] - should only unwind as many as instructed if applicable
835[info] partialAmend
836[info] - should perform visual amendment but allow for domination
837[info] + a regular amend should lose against even a shallower error
838[info] + a partial amend can win against an error at a lesser offset but greater presentation
839[info] + however, they do not win at equal underlying offset
840[info] oneOf
841[info] - should incorporate range notation into the error
842[info] - should incorporate sets of characters into the error
843[info] noneOf
844[info] - should incorporate range notation into the error
845[info] - should incorporate sets of characters into the error
846[info] verifiedFail
847[info] - should fail having consumed input on the parser success
848[info] - should not consume input if the parser did not succeed
849[info] - should not produce any labels
850[info] verifiedExplain/Unexpected
851[info] - should fail having consumed input on the parser success
852[info] - should not consume input if the parser did not succeed
853[info] - should not produce any labels
854[info] preventativeFail
855[info] - should fail having consumed input on the parser success
856[info] - should not consume input if the parser did not succeed and not fail
857[info] preventativeExplain
858[info] - should fail having consumed input on the parser success
859[info] - should not consume input if the parser did not succeed and not fail
860[info] - should produce labels when specified
861[info] hints
862[info] - should incorporate only with errors at the same offset depth
863[info] CharTests:
864[info] item
865[info] - should accept any character
866[info] - should fail if the input has run out, expecting any character
867[info] space
868[info] - should consume ' ' or ' '
869[info] spaces
870[info] - should consume lots of spaces
871[info] - should never fail
872[info] whitespace
873[info] - should consume any whitespace chars
874[info] endOfLine
875[info] - should consume windows or unix line endings
876[info] - should fail otherwise
877[info] letter
878[info] - should accept non-latin characters
879[info] - should not accept high surrogates
880[info] satisfyMap
881[info] - should allow for simultaneous mapping and testing
882[info] upper
883[info] - should only accept uppercase characters
884[info] - should fail otherwise
885[info] lower
886[info] - should only accept lowercase characters
887[info] - should fail otherwise
888[info] digit parsers
889[info] - should accept the appropriate characters
890[info] - should fail otherwise
891[info] oneOf
892[info] - should match any of the characters provided
893[info] - should always fail if provided no characters
894[info] - should work for single character ranges too
895[info] noneOf
896[info] - should match none of the characters provided
897[info] - should match anything if provided no characters
898[info] - should work for single character ranges too
899[info] stringOfMany
900[info] - should not cache the builder
901[info] stringOfSome
902[info] - should not cache the builder
903[info] TokenExtractorTests:
904[info] SingleChar
905[info] - should return a single printable ascii character
906[info] - should handle supplementary unicode characters
907[info] - should deal with whitespace characters by naming them
908[info] - should refuse to print control characters
909[info] - should refuse to print non-printable supplementary characters
910[info] MatchParserDemand
911[info] - should return a single printable ascii character
912[info] - should handle supplementary unicode characters
913[info] - should deal with whitespace characters by naming them
914[info] - should refuse to print control characters
915[info] - should refuse to print non-printable supplementary characters
916[info] TillNextWhitespace
917[info] - should return a single printable ascii character
918[info] - should handle supplementary unicode characters
919[info] - should deal with whitespace characters by naming them
920[info] - should refuse to print control characters
921[info] - should refuse to print non-printable supplementary characters
922[info] LexToken
923[info] - should handle raw input when no token can be matched
924[info] - should stop making raw input when a real token is encountered
925[info] - should never crash when given an incomplete token
926[info] - should not try and parse tokens when in lexical mode
927[info] - should parse tokens when possible
928[info] - should always pick the longest token
929[info] UnicodeTests:
930[info] item
931[info] - should accept any character
932[info] - should fail if the input has run out, expecting any character
933[info] space
934[info] - should consume ' ' or ' '
935[info] spaces
936[info] - should consume lots of spaces
937[info] - should never fail
938[info] whitespace
939[info] - should consume any whitespace chars
940[info] endOfLine
941[info] - should consume windows or unix line endings
942[info] - should fail otherwise
943[info] letter
944[info] - should accept non-latin characters
945[info] - should not accept raw high-surrogates but parse supplemental letters
946[info] upper
947[info] - should only accept uppercase characters
948[info] - should fail otherwise
949[info] lower
950[info] - should only accept lowercase characters
951[info] - should fail otherwise
952[info] digit parsers
953[info] - should accept the appropriate characters
954[info] - should fail otherwise
955[info] oneOf
956[info] - should match any of the characters provided
957[info] - should always fail if provided no characters
958[info] - should work for single character ranges too
959[info] noneOf
960[info] - should match none of the characters provided
961[info] - should match anything if provided no characters
962[info] - should work for single character ranges too
963[info] char
964[info] - should handle BMP characters
965[info] - should handle multi-character codepoints
966[info] - should handle multi-character codepoints atomically on fail
967[info] EscapeSemanticPreservationSpec:
968[info] - reading escape characters should not vary based on optimisations
969[info] CombinatorTests:
970[info] choice
971[info] - should fail if given the empty list
972[info] - should behave like p for List(p)
973[info] - should parse in order
974[info] - should fail if none of the parsers succeed
975[info] atomicChoice
976[info] - should correctly ensure the subparsers backtrack
977[info] exactly
978[info] - should parse n times for n > 0
979[info] - must fail if n inputs are not present
980[info] option
981[info] - should succeed with Some if p succeeds
982[info] - should succeed with None if p fails without consumption
983[info] - should fail if p fails with consumption
984[info] decide
985[info] - must succeed for Some
986[info] - must fail for None
987[info] - must succeed for None with an alternative
988[info] - must compose with option to become identity
989[info] optional
990[info] - must succeed if p succeeds
991[info] - must also succeed if p fails without consumption
992[info] - must fail if p failed with consumption
993[info] manyN
994[info] - must ensure that n are parsed
995[info] - should not care if more are present
996[info] sepBy
997[info] - must accept empty input
998[info] - must not allow sep at the end of chain
999[info] - should be able to parse 2 or more p
1000[info] sepBy1
1001[info] - must require a p
1002[info] sepEndBy
1003[info] - must accept empty input
1004[info] - should not require sep at the end of chain
1005[info] - should be able to parse 2 or more p
1006[info] - should be able to parse a final sep
1007[info] - should fail if p fails after consuming input
1008[info] - should fail if sep fails after consuming input
1009[info] - must not corrupt the stack on sep hard-fail
1010[info] sepEndBy1
1011[info] - must require a p
1012[info] endBy
1013[info] - must accept empty input
1014[info] - must require sep at end of chain
1015[info] - should be able to parse 2 or more p
1016[info] endBy1
1017[info] - must require a p
1018[info] eof
1019[info] - must succeed at the end of input
1020[info] - must fail if input remains
1021[info] manyTill
1022[info] - must require an end
1023[info] - should parse the end without result
1024[info] - should parse p until that end is found
1025[info] someTill
1026[info] - must parse at least 1 p
1027[info] forYieldP
1028[info] - should be able to parse context-sensitive grammars
1029[info] forYieldP_
1030[info] - should be able to parse context-sensitive grammars
1031[info] count
1032[info] - should report how many successful parses occurred
1033[info] - should not allow partial results
1034[info] - should allow for ranges
1035[info] range
1036[info] - should collect results up instead of count
1037[info] StringTests:
1038[info] string
1039[info] - should consume succeed if it is found at head
1040[info] - should not consume input if it fails on first character
1041[info] - should consume input if it fails mid-string
1042[info] - should not consume input if it fails mid-string when combined with atomic
1043[info] - should update positions correctly
1044[info] - should respect multiple tabs
1045[info] - should reject the empty string
1046[info] strings
1047[info] - should have longest match behaviour
1048[info] - should be extrinsically the same as a manual equivalent
1049[info] + parsing "hello"
1050[info] + parsing "hell"
1051[info] + parsing "h"
1052[info] + parsing "a"
1053[info] + parsing "b"
1054[info] character.stringOfMany
1055[info] - should allow for no letters
1056[info] - should consume as many letters as it can
1057[info] - should fail if pc fails having consumed input
1058[info] character.stringOfSome
1059[info] - should not allow for no letters
1060[info] - should consume as many letters as it can
1061[info] - should fail if pc fails having consumed input
1062[info] unicode.stringOfMany
1063[info] - should allow for no letters
1064[info] - should consume as many letters as it can
1065[info] - should fail if pc fails having consumed input
1066[info] unicode.stringOfSome
1067[info] - should not allow for no letters
1068[info] - should consume as many letters as it can
1069[info] - should fail if pc fails having consumed input
1070[info] TokeniserTests:
1071[info] semiSep
1072[info] - should parse semi-colon separated values
1073[info] semiSep1
1074[info] - should parse semi-colon separated values
1075[info] commaSep
1076[info] - should parse comma separated values
1077[info] commaSep1
1078[info] - should parse comma separated values
1079[info] parens
1080[info] - should parse values within parentheses
1081[info] braces
1082[info] - should parse values within braces
1083[info] angles
1084[info] - should parse values within angle brackets
1085[info] brackets
1086[info] - should parse values within square brackets
1087[info] naturalOrFloat
1088[info] - should parse either naturals or unsigned floats
1089[info] - should not allow hexadecimal floats without the exponent
1090[info] - should not allow octal floats without the exponent
1091[info] number
1092[info] - should parse integers or floats
1093[info] NamesSemanticPreservationSpec:
1094[info] - reading identifiers should not vary based on optimisations
1095[info] - reading user-defined operators should not vary based on optimisations
1096[info] InternalTests:
1097[info] subroutines
1098[info] - should function correctly and be picked up
1099[info] - should function correctly under error messages
1100[info] - should not duplicate subroutines when error label is the same
1101[info] error alternatives for JumpTable
1102[info] - should be complete across all branches
1103[info] + parsing 'h'
1104[info] + parsing 'b'
1105[info] + parsing 'a'
1106[info] - should contain the default in case of no input
1107[info] - should contain the default for mid-points without backtracking
1108[info] + parsing 'c'
1109[info] + parsing 'd'
1110[info] - should be complete when backtracking is disabled
1111[info] + parsing 'h'
1112[info] + parsing 'g'
1113[info] + parsing 'a'
1114[info] - should merge properly when more input is consumed in a non-backtracking branch
1115[info] + parsing nothing
1116[info] + parsing 'a'
1117[info] + parsing 'b'
1118[info] + parsing 'c'
1119[info] JumpTable
1120[info] - must not try and commute branches
1121[info] tablification
1122[info] - should not occur for optional
1123[info] RealTests:
1124[info] decimal reals
1125[info] - should parse unbounded real numbers
1126[info] - should permit leading and trailing dots when applicable
1127[info] - should not allow for both leading and trailing dots
1128[info] - should not allow for a break past a dot
1129[info] - should allow for scientific notation when configured
1130[info] - should not allow for blank exponents via leading dot
1131[info] - should not allow for integer numbers
1132[info] hexadecimal reals
1133[info] - should parse unbounded real numbers
1134[info] - should allow for scientific notation when configured
1135[info] - should not allow for integer numbers
1136[info] octal reals
1137[info] - should parse unbounded real numbers
1138[info] - should allow for scientific notation when configured
1139[info] - should not allow for integer numbers
1140[info] binary reals
1141[info] - should parse unbounded real numbers
1142[info] - should allow for scientific notation when configured
1143[info] - should not allow for integer numbers
1144[info] generic reals
1145[info] - should parse in any base
1146[info] bounded reals
1147[info] - should not permit illegal numbers
1148[info] + trying known valid and invalid exact doubles
1149[info] + trying known valid and invalid exact floats
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-RC6/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-RC6/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] RenameSpec:
1419[info] the Renamer object
1420[info] - should not rename a parser it does not know of
1421[info] - should rename a parser it is aware of
1422[info] - should translate a symbolic parser's name
1423[info] - should pass through Debugged parsers and get the inner parser's name
1424[info] - should override a known name if a parser is named.
1425[info] + the current platform does not support Collector
1426[info] - should collect names of parsers from lexers (on supported platforms)
1427[info] ReuseSpec:
1428[info] the DebugView class and its re-usability / single-use enforcement
1429[info] - should throw when run multiple times, only if the view is marked as single-use
1430[info] + it should not throw when running a reusable frontend multiple times
1431[info] + it should throw when running a single-use frontend multiple times
1432[info] + single-use frontend has thrown after being run multiple times, as expected
1433[info] AnnotationTest:
1434[info] parsley.debuggable
1435[info] - should fill in the names for objects
1436[info] - should fill in the names for classes
1437[info] DebuggerUsageSpec:
1438[info] the Debugged internal frontend class
1439[info] - should not allow nesting of Debugged nodes
1440[info] + assertion exception thrown, as expected
1441[info] - should preserve the prettified names of the parsers
1442[info] the debugger runtime
1443[info] - should preserve the result of parsers
1444[info] - should not cause references to be unallocated
1445[info] - should preserve the side-effecting behaviour of parsers
1446[info] - should store the children, representing the paths the parse-time execution took
1447[info] - should factor out inputs of child parsers
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": 25269, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
1617 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1618 "test-compile": {"status": "ok", "tookMs": 21428, "warnings": 16, "errors": 0, "sourceVersion": "3.4-migration"},
1619 "test": {"status": "ok", "tookMs": 2579, "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": 2746, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
1627 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1628 "test-compile": {"status": "ok", "tookMs": 2126, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
1629 "test": {"status": "ok", "tookMs": 1043, "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": 62, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
1637 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1638 "test-compile": {"status": "ok", "tookMs": 99, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
1639 "test": {"status": "ok", "tookMs": 88, "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: 58 s, completed Jan 8, 2026, 2:25:51 AM
1647[0JChecking patch project/plugins.sbt...
1648Checking patch build.sbt...
1649Applied patch project/plugins.sbt cleanly.
1650Applied patch build.sbt cleanly.