Surfaced by an extended parity fuzz discovery run.
RN's Text wrapper forwards a nullish style as-is. It only guards against undefined (Text.js: if (_style !== undefined) processedProps.style = _style;), so style={null} reaches NativeText as style: null. Boost omits the style prop entirely. Natively the two are likely equivalent, but the strict parity diff flags it, so any fuzz run that samples this input goes red.
Since the difference is likely harmless at the host level, the fix may be a documented normalization in parity/normalize.ts (null ≈ absent for style) rather than an optimizer change.
Repro
<Text style={null}>hello</Text>
- Expected: parity with the wrapper;
NativeText receives style: null, or the difference is normalized away with a comment explaining why it's harmless
- Actual:
style is omitted and the fuzz suite reports parity divergence on keys [style]
Surfaced by an extended parity fuzz discovery run.
RN's
Textwrapper forwards a nullishstyleas-is. It only guards againstundefined(Text.js:if (_style !== undefined) processedProps.style = _style;), sostyle={null}reachesNativeTextasstyle: null. Boost omits thestyleprop entirely. Natively the two are likely equivalent, but the strict parity diff flags it, so any fuzz run that samples this input goes red.Since the difference is likely harmless at the host level, the fix may be a documented normalization in
parity/normalize.ts(null ≈ absent forstyle) rather than an optimizer change.Repro
NativeTextreceivesstyle: null, or the difference is normalized away with a comment explaining why it's harmlessstyleis omitted and the fuzz suite reportsparity divergence on keys [style]