You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
refactor(rustc_codegen_tuffy): replace silent skip with unimplemented!() for unsupported MIR
Change MIR-to-IR translation to panic with unimplemented!() instead of
silently returning None/false when encountering unsupported constructs:
- Unsupported rvalue kinds (catch-all and PtrMetadata)
- Unsupported place projections (OpaqueCast, UnwrapUnsafeBinder)
- Unhandled intrinsics and memory intrinsics
- Unhandled terminator and statement kinds
Also fix coerce_to_ptr missing function body in ctx.rs and a partial
move error for float_ty in rvalue.rs.
Update README.md with the error policy.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Handles i128/u128 types through annotation-based legalization rather than type splitting at the IR level.
52
52
- Supports `dump-ir` via `-C llvm-args=dump-ir` for debugging IR output.
53
53
54
+
## Error Policy
55
+
56
+
Unsupported MIR constructs (rvalue kinds, statement kinds, terminator kinds, intrinsics, place projections) must **not** be silently skipped. Use `unimplemented!()` with a descriptive message so the missing support is immediately visible. When an `unimplemented!()` is hit, the correct response is to add a concrete implementation for that construct — not to suppress the error.
0 commit comments