native/MASM divergence for `i64::checked_mul`
- Langage dominant
- Rust
- Étoiles
- 115
- Forks
- 84
- Merge moyen
- 1 j 8 h
- PR mergées (30 j)
- 15
Description
Reproduction requires #1140
```sh
cargo nextest run -p midenc-integration-tests \
--run-ignored all \
-E 'test(/checked_mul_i64_edge_case/)'
```
```
thread 'end_to_end::arithmetic::checked_mul_i64_edge_cases' (188951) panicked at tests/integration/src/end_to_end/arithmetic.rs:1082:13:
Found minimal(shrinked) failing case: (-4611686018427387904, 2)
Failure: Reason("assertion failed: `(left == right)` \n left: `[0, 0, 0, 0, 0, 0, 0, 128, 1]`, \n right: `[0, 0, 0, 0, 0, 0, 0, 128, 0]`: VM output mismatch at tests/integration/src/end_to_end/arithmetic.rs:1075")
```
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
The failing test is in tests/integration/src/end_to_end/arithmetic.rs, line 1082. Run the provided cargo nextest command to reproduce the divergence between native and MASM for i64::checked_mul with inputs (-4611686018427387904, 2). Examine the compiler's code generation for checked multiplication, focusing on overflow handling for 64-bit integers.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- rust
- Domaine
- compilers
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- Calme
- Clarté
- Plutôt claire
- Accessibilité débutants
- 45/100