PureYAML/Sources/Parsing
Mihaela M b0dc31922b fix(parsing): reject a block sequence inline as a mapping value
A block sequence cannot be an implicit key's value on the same line as its
':' (key: - a); the value must begin on a following line, or use flow
style. The scanner accepted the inline block entry and parsed it as the
key's sequence value.

The block-entry case now rejects a '-' that starts a sequence when the
line already holds an implicit-key mapping value, reusing the same
same-line-pair flag as the inline nested mapping rule. As there, an
explicit- or null-key ':' opens its line and does not set the flag, so a
compact sequence value after it stays valid, as do a sequence on the next
line, a nested sequence, a flow sequence, and a negative number (key: -1).

Measured against the official YAML test-suite, parse-level conformance
rises from 260/333 (78.1%) to 261/333 (78.4%) with no regression.
2026-06-27 18:35:58 +02:00
..
BlockScalarChomping.swift fix(parsing): classify the keep block-scalar chomping indicator 2026-06-26 07:50:07 +02:00
BlockScalarStyle.swift
CollectionStyle.swift
Event.swift feat(parser): add multi-document stream parsing 2026-06-05 14:55:54 +02:00
EventComposer.Merge.swift refactor(parsing): share merge-key resolution between composers 2026-06-26 05:50:28 +02:00
EventComposer.swift refactor(parsing): share merge-key resolution between composers 2026-06-26 05:50:28 +02:00
EventStreamComposedNode.swift refactor(code-style): one top-level type per source file 2026-06-26 06:14:21 +02:00
EventStreamComposer.swift refactor(code-style): one top-level type per source file 2026-06-26 06:14:21 +02:00
EventStreamComposerMode.swift refactor(code-style): one top-level type per source file 2026-06-26 06:14:21 +02:00
EventStreamContainer.swift refactor(code-style): one top-level type per source file 2026-06-26 06:14:21 +02:00
EventStreamContainerKind.swift refactor(code-style): one top-level type per source file 2026-06-26 06:14:21 +02:00
Mark.swift
MergeResolution.swift refactor(parsing): share merge-key resolution between composers 2026-06-26 05:50:28 +02:00
NodeKind.swift
NodeProperties.swift feat(model): support complex mapping keys 2026-06-05 16:08:45 +02:00
NodeResult.swift
ParseError.swift fix(parsing): reject a block sequence inline as a mapping value 2026-06-27 18:35:58 +02:00
Parser.Events.swift feat(parser): harden diagnostics and streaming 2026-06-06 07:57:48 +02:00
Parser.ScalarComposition.swift feat(tagged): add tag-preserving validation 2026-06-05 15:35:52 +02:00
Parser.swift feat(parser): harden diagnostics and streaming 2026-06-06 07:57:48 +02:00
Reader.swift feat(parser): harden diagnostics and streaming 2026-06-06 07:57:48 +02:00
Scalar.swift fix(parsing): enforce the full YAML 1.2 double-quoted escape table 2026-06-27 16:19:25 +02:00
ScalarStyle.swift feat(parsing): compose events into values 2026-06-05 10:07:28 +02:00
Scanner.Directives.swift fix(parsing): reject content after a document end marker 2026-06-27 17:56:37 +02:00
Scanner.FlowContext.swift refactor(code-style): one top-level type per source file 2026-06-26 06:14:21 +02:00
Scanner.Helpers.swift fix(parsing): reject inline nested block mappings 2026-06-27 18:28:57 +02:00
Scanner.Indentation.swift fix(parsing): comments and over-indented blanks ending block scalars 2026-06-27 15:34:13 +02:00
Scanner.Scalars.swift fix(parsing): reject inline nested block mappings 2026-06-27 18:28:57 +02:00
Scanner.swift fix(parsing): reject a block sequence inline as a mapping value 2026-06-27 18:35:58 +02:00
ScannerFlowContextKind.swift refactor(code-style): one top-level type per source file 2026-06-26 06:14:21 +02:00
TagNormalizer.swift feat(tagged): add tag-preserving validation 2026-06-05 15:35:52 +02:00
Text.swift feat(parsing): compose events into values 2026-06-05 10:07:28 +02:00
Token.swift refactor(code-style): one top-level type per source file 2026-06-26 06:14:21 +02:00
TokenCursor.swift fix(parsing): reject inline nested block mappings 2026-06-27 18:28:57 +02:00
TokenEventParser.Block.swift fix(parsing): preserve leading blank lines in block scalars 2026-06-26 08:42:16 +02:00
TokenEventParser.Flow.swift fix(parsing): reject empty entries in flow collections 2026-06-27 16:26:46 +02:00
TokenEventParser.Helpers.swift fix(parsing): allow an anchor or tag on a non-first mapping key 2026-06-27 00:21:38 +02:00
TokenEventParser.swift docs(parsing): document why the nesting bound is necessary and sufficient 2026-06-23 11:08:30 +02:00
TokenKind.swift refactor(code-style): one top-level type per source file 2026-06-26 06:14:21 +02:00