Skip to content

Fix Crat pass edge cases#92

Merged
Medowhill merged 16 commits intomasterfrom
fix
May 6, 2026
Merged

Fix Crat pass edge cases#92
Medowhill merged 16 commits intomasterfrom
fix

Conversation

@Medowhill
Copy link
Copy Markdown
Contributor

Summary

  • Tightens IO transformations for scanf, fscanf, fgets, and fprintf so translated code preserves whitespace and scanset behavior, tracks EOF handling, parses unsigned negative inputs consistently, and formats struct-backed strings correctly.
  • Fixes pointer and allocation rewrites around escaped malloc ownership, allocator wrapper initialization, raw returns from owned pointer replacements, calloc boxed slice lengths, array-field pointer arithmetic, and raw outparam receiver promotion.
  • Improves static and interface transformations by constraining RefCell borrow scopes for call arguments and generating wrappers that preserve exported names.
  • Fixes libc and dependency edge cases including ASCII ctype classification, consistent magic slice length handling, and preserving existing bytemuck dependency configuration.
  • Adds regression coverage across the affected IO, libc, pointer, and static replacement paths.

Validation

Summary:

  • Test Cases Discovered: 338
  • Test Cases Skipped: 2
  • Test Cases Tested: 336
  • Test Cases Failed: 2
  • Test Vectors Passed: 2603
  • Test Vectors Skipped: 155
  • Test Vectors Failed: 11

@Medowhill Medowhill merged commit 9b8fe00 into master May 6, 2026
2 checks passed
@Medowhill Medowhill deleted the fix branch May 6, 2026 01:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant