Files
Siegfried Pammer dc15270ceb Add xfailed pretty test for C# 14 null-conditional assignment
Covers assignment through a null-conditional access on property, field,
ref-returning property, indexer, and array-element targets; compound
assignment (arithmetic, shift, bitwise, string concat) and ??= on
properties and fields; chained conditional accesses with conditional and
unconditional assignment tails; value-used forms (return, ?? coalesce,
argument position, reference-typed result); event += and -= through ?.
(new in C# 14, not part of C# 6 null propagation); side-effecting
receivers and index expressions pinning single-evaluation order; and
class-constrained plus unconstrained generic receivers. Nullable value
type receivers, ++/-- and deconstruction targets are compile errors in
C# 14 (verified against the SDK compiler) and are documented as out of
scope in the fixture.

The test is Assert.Ignore'd because the decompiler does not reconstruct
the ?. assignment syntax yet (#829); it prints the equivalent guarded
"if (x != null)" form for every construct, which recompiles cleanly, so
the fixture is the desired output. Both RoslynLatest debug/opt configs
compile the fixture and fail only at the output comparison, with every
diverging line being one of the feature statements.

Assisted-by: Claude:claude-fable-5:Claude Code
2026-07-29 07:17:16 +02:00
..