Commit f045ced
Revert 79 .expect("TODO: handle error") sites across 3 files (batch 3/N)
Continues the per-site reversal of the .unwrap() → .expect("TODO: handle
error") anti-pattern flagged by CRG-AUDIT-2026-04-18.
Per-site policy:
* Test code → revert to .unwrap() (test convention; preceding asserts
or short-circuits already prove the Some/Ok case). This batch:
- quotes.rs (27 sites in tests::test_*)
- redirection.rs (28 sites in tests::test_redirect_*, test_modification_*)
- external.rs (21 sites in tests::test_execute_*, test_pipeline_*)
* Production code, external.rs (3 sites):
- L164 stdin_cfg: kept `expect` with documented invariant — when
idx > 0, the previous iteration spawned a non-last child with
Stdio::piped() stdout and stored child.stdout into prev_stdout.
The expect now records the unreachable case rather than a TODO.
- L168-185 stdout_cfg + stderr_cfg: restructured to pivot on
`match &redirect_setup` instead of double-checking
`if !redirects.is_empty()` and then `.expect()`-ing the Option.
`redirect_setup` is Some iff `!redirects.is_empty()` (set above).
Both panic sites eliminated; one duplicated emptiness check removed.
Verified locally:
cargo build -> EXIT 0
cargo test -> 703 passed / 0 failed / 14 ignored (unchanged across
batches 1+2+3; restructure preserves behaviour exactly)
Cumulative progress: 136 / ~530 sites cleared (~26%) across 13 files.
Remaining big-3 in impl/rust-cli/src/: parser.rs (116), commands.rs (66),
arith.rs (55) — each warrants its own dedicated session. Mid-tier left:
state.rs (35). Plus impl/rust-ffi/ ↔ ffi/rust/ duplicate tree (~50 more,
separate finding).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1 parent 962da88 commit f045ced
3 files changed
Lines changed: 95 additions & 89 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
160 | 160 | | |
161 | 161 | | |
162 | 162 | | |
163 | | - | |
164 | | - | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
165 | 171 | | |
166 | 172 | | |
167 | | - | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
168 | 177 | | |
169 | | - | |
170 | | - | |
171 | | - | |
172 | | - | |
173 | | - | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
174 | 181 | | |
175 | 182 | | |
176 | 183 | | |
177 | 184 | | |
178 | 185 | | |
179 | 186 | | |
180 | | - | |
181 | | - | |
182 | | - | |
183 | | - | |
184 | | - | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
185 | 191 | | |
186 | 192 | | |
187 | 193 | | |
| |||
694 | 700 | | |
695 | 701 | | |
696 | 702 | | |
697 | | - | |
| 703 | + | |
698 | 704 | | |
699 | 705 | | |
700 | 706 | | |
701 | 707 | | |
702 | 708 | | |
703 | 709 | | |
704 | | - | |
| 710 | + | |
705 | 711 | | |
706 | 712 | | |
707 | 713 | | |
708 | 714 | | |
709 | 715 | | |
710 | 716 | | |
711 | | - | |
| 717 | + | |
712 | 718 | | |
713 | 719 | | |
714 | 720 | | |
715 | 721 | | |
716 | 722 | | |
717 | 723 | | |
718 | 724 | | |
719 | | - | |
720 | | - | |
| 725 | + | |
| 726 | + | |
721 | 727 | | |
722 | 728 | | |
723 | 729 | | |
724 | 730 | | |
725 | 731 | | |
726 | | - | |
| 732 | + | |
727 | 733 | | |
728 | 734 | | |
729 | 735 | | |
730 | 736 | | |
731 | 737 | | |
732 | 738 | | |
733 | 739 | | |
734 | | - | |
735 | | - | |
| 740 | + | |
| 741 | + | |
736 | 742 | | |
737 | 743 | | |
738 | 744 | | |
739 | 745 | | |
740 | 746 | | |
741 | | - | |
| 747 | + | |
742 | 748 | | |
743 | 749 | | |
744 | 750 | | |
745 | 751 | | |
746 | 752 | | |
747 | 753 | | |
748 | 754 | | |
749 | | - | |
750 | | - | |
| 755 | + | |
| 756 | + | |
751 | 757 | | |
752 | 758 | | |
753 | 759 | | |
754 | 760 | | |
755 | 761 | | |
756 | 762 | | |
757 | | - | |
| 763 | + | |
758 | 764 | | |
759 | 765 | | |
760 | 766 | | |
| |||
763 | 769 | | |
764 | 770 | | |
765 | 771 | | |
766 | | - | |
767 | | - | |
| 772 | + | |
| 773 | + | |
768 | 774 | | |
769 | 775 | | |
770 | 776 | | |
| |||
773 | 779 | | |
774 | 780 | | |
775 | 781 | | |
776 | | - | |
| 782 | + | |
777 | 783 | | |
778 | 784 | | |
779 | 785 | | |
780 | 786 | | |
781 | 787 | | |
782 | 788 | | |
783 | | - | |
| 789 | + | |
784 | 790 | | |
785 | 791 | | |
786 | 792 | | |
787 | 793 | | |
788 | 794 | | |
789 | 795 | | |
790 | 796 | | |
791 | | - | |
792 | | - | |
| 797 | + | |
| 798 | + | |
793 | 799 | | |
794 | 800 | | |
795 | 801 | | |
| |||
800 | 806 | | |
801 | 807 | | |
802 | 808 | | |
803 | | - | |
804 | | - | |
| 809 | + | |
| 810 | + | |
805 | 811 | | |
806 | 812 | | |
807 | | - | |
| 813 | + | |
808 | 814 | | |
809 | 815 | | |
810 | 816 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
305 | 305 | | |
306 | 306 | | |
307 | 307 | | |
308 | | - | |
| 308 | + | |
309 | 309 | | |
310 | 310 | | |
311 | 311 | | |
312 | 312 | | |
313 | 313 | | |
314 | 314 | | |
315 | 315 | | |
316 | | - | |
| 316 | + | |
317 | 317 | | |
318 | 318 | | |
319 | 319 | | |
320 | 320 | | |
321 | 321 | | |
322 | 322 | | |
323 | 323 | | |
324 | | - | |
| 324 | + | |
325 | 325 | | |
326 | 326 | | |
327 | 327 | | |
328 | 328 | | |
329 | 329 | | |
330 | 330 | | |
331 | 331 | | |
332 | | - | |
| 332 | + | |
333 | 333 | | |
334 | 334 | | |
335 | 335 | | |
| |||
339 | 339 | | |
340 | 340 | | |
341 | 341 | | |
342 | | - | |
| 342 | + | |
343 | 343 | | |
344 | 344 | | |
345 | 345 | | |
| |||
351 | 351 | | |
352 | 352 | | |
353 | 353 | | |
354 | | - | |
| 354 | + | |
355 | 355 | | |
356 | 356 | | |
357 | 357 | | |
358 | 358 | | |
359 | 359 | | |
360 | 360 | | |
361 | 361 | | |
362 | | - | |
| 362 | + | |
363 | 363 | | |
364 | 364 | | |
365 | 365 | | |
366 | 366 | | |
367 | 367 | | |
368 | 368 | | |
369 | 369 | | |
370 | | - | |
| 370 | + | |
371 | 371 | | |
372 | 372 | | |
373 | 373 | | |
374 | 374 | | |
375 | 375 | | |
376 | | - | |
| 376 | + | |
377 | 377 | | |
378 | 378 | | |
379 | 379 | | |
380 | 380 | | |
381 | 381 | | |
382 | | - | |
| 382 | + | |
383 | 383 | | |
384 | 384 | | |
385 | 385 | | |
386 | 386 | | |
387 | | - | |
| 387 | + | |
388 | 388 | | |
389 | 389 | | |
390 | 390 | | |
| |||
407 | 407 | | |
408 | 408 | | |
409 | 409 | | |
410 | | - | |
| 410 | + | |
411 | 411 | | |
412 | 412 | | |
413 | 413 | | |
414 | | - | |
| 414 | + | |
415 | 415 | | |
416 | 416 | | |
417 | 417 | | |
418 | | - | |
| 418 | + | |
419 | 419 | | |
420 | 420 | | |
421 | 421 | | |
422 | 422 | | |
423 | 423 | | |
424 | | - | |
| 424 | + | |
425 | 425 | | |
426 | 426 | | |
427 | 427 | | |
428 | | - | |
| 428 | + | |
429 | 429 | | |
430 | 430 | | |
431 | 431 | | |
432 | 432 | | |
433 | 433 | | |
434 | 434 | | |
435 | | - | |
| 435 | + | |
436 | 436 | | |
437 | 437 | | |
438 | | - | |
| 438 | + | |
439 | 439 | | |
440 | 440 | | |
441 | | - | |
| 441 | + | |
442 | 442 | | |
443 | 443 | | |
444 | 444 | | |
445 | 445 | | |
446 | 446 | | |
447 | | - | |
| 447 | + | |
448 | 448 | | |
449 | 449 | | |
450 | | - | |
| 450 | + | |
451 | 451 | | |
452 | 452 | | |
453 | | - | |
| 453 | + | |
454 | 454 | | |
455 | 455 | | |
456 | 456 | | |
457 | 457 | | |
458 | 458 | | |
459 | 459 | | |
460 | | - | |
| 460 | + | |
461 | 461 | | |
462 | 462 | | |
463 | 463 | | |
464 | | - | |
| 464 | + | |
465 | 465 | | |
466 | 466 | | |
467 | 467 | | |
468 | | - | |
| 468 | + | |
469 | 469 | | |
470 | 470 | | |
471 | 471 | | |
472 | 472 | | |
473 | 473 | | |
474 | | - | |
| 474 | + | |
475 | 475 | | |
476 | 476 | | |
477 | | - | |
| 477 | + | |
478 | 478 | | |
479 | 479 | | |
480 | 480 | | |
0 commit comments