v0.34.0 Phase 1 Scalar-product Review
Result: complete with no open finding (2026-09-04). Character and byte literals now cross one closed syntax-to-native pipeline.
Closed Product
Syntax owns delimiter scanning, escapes, byte cardinality, and Unicode scalar validity. Checking consumes decode_byte_literal and decode_character_literal; it no longer receives a byte token that it cannot type. Character values retain distinct variants through checked constants, constant evaluation, MIR, runtime primitives, machine constants, and semantic presentation. Machine layout alone maps char to an unsigned 32-bit scalar shape, and ARM64 selection consumes that shape and an already validated immediate.
The standard char.from_u32 implementation owns dynamic scalar validation in ordinary Nocter source. Its two exact package-internal primitives only transport a validated value between char and u32; Target validates their signatures and ARM64 treats each as a one-register identity move. The backend does not duplicate surrogate or maximum-scalar rules.
Review Findings Closed During Implementation
The first native integration run rejected calling a consuming char method directly through the borrowed operator receiver. The source implementation now uses the existing package-internal copyability boundary explicitly before scalar observation. No checker exception or implicit borrow-to-value conversion was added.
Hard-coded test standard packages initially omitted the new closed built-in declaration. Every shared fixture authority now declares char, while the broad test-support package models it as its own standard module. This is fixture data only; production mapping remains solely in the bundled standard profile.
Evidence
- lexer tests cover direct Unicode, simple escapes, Unicode escapes, invalid escapes, surrogate and range rejection, newlines, and unterminated input;
- checking verifies the previously incomplete byte literal and the new character constant as distinct types;
- declaration lowering evaluates a character constant;
- the complete native-session test executes character literals, code-point observation, scalar construction and rejection, classification, equality, and ordering on ARM64 Darwin;
cargo test --lib --quiet, focused syntax/diagnostic/constant tests, formatting, and diff hygiene pass for the Phase 1 product.