roc/test
Richard Feldman cc3423a709
Implement ? (question mark) operator for error propagation
The ? operator now desugars expr? to a match expression that unwraps Ok
values and early returns Err values:

  match expr {
      Ok(#ok) => #ok,
      Err(#err) => return Err(#err),
  }

Implementation details:
- Use pre-interned identifiers (#ok, #err) for synthetic variables
- Use pre-interned Ok/Err tag names from CommonIdents
- Create applied_tag patterns for Ok and Err
- Build match branches with proper scope isolation
- Mark synthetic patterns as used to avoid unused variable warnings
- Create e_lookup_local, e_tag, and e_return expressions for branch bodies

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 20:06:33 -05:00
..
cli Merge origin/main 2025-11-22 15:45:17 -05:00
fuzzing Don't special-case Str 2025-10-24 10:18:15 -04:00
fx Implement ? (question mark) operator for error propagation 2025-11-29 20:06:33 -05:00
int cleanup platform provides and requires fields 2025-11-29 22:15:05 +11:00
playground-integration Merge remote-tracking branch 'origin/main' into propagate_is_eq 2025-11-26 16:26:57 -05:00
snapshots Implement ? (question mark) operator for error propagation 2025-11-29 20:06:33 -05:00
str cleanup platform provides and requires fields 2025-11-29 22:15:05 +11:00
serialization_size_check.zig Merge remote-tracking branch 'origin/main' into str-to-utf8 2025-11-27 22:48:03 -05:00