Commit c22da52
refactor: return lazy boxed iterator from BuildTaskRunner
BuildTaskRunner::run previously collected the entire cargo message stream
into a Vec, which forced every message to be parsed and allocated up front
and prevented get_target_dir_from_output from short-circuiting once the
matching cdylib artifact is found.
Return Box<dyn Iterator<..>> instead so the runner forwards BuildTask::run's
lazy stream while still being mockable (mockall cannot mock an opaque
impl Trait return, but can mock a boxed trait object). BuildTask::run gains
+ use<> precise capturing so its owned, 'static iterator can move out of the
temporary BuildTask and be boxed.
Addresses PR review comment r3581534373.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: fa978dd1-9d61-4cea-a03a-7ebc914228fa1 parent 14ee218 commit c22da52
3 files changed
Lines changed: 24 additions & 8 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
50 | 50 | | |
51 | 51 | | |
52 | 52 | | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
53 | 60 | | |
54 | 61 | | |
55 | 62 | | |
56 | 63 | | |
57 | | - | |
58 | | - | |
59 | | - | |
60 | | - | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
61 | 68 | | |
62 | 69 | | |
63 | 70 | | |
| |||
110 | 117 | | |
111 | 118 | | |
112 | 119 | | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
113 | 125 | | |
114 | 126 | | |
115 | | - | |
| 127 | + | |
116 | 128 | | |
117 | 129 | | |
118 | 130 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
418 | 418 | | |
419 | 419 | | |
420 | 420 | | |
421 | | - | |
422 | | - | |
| 421 | + | |
423 | 422 | | |
424 | 423 | | |
425 | 424 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
822 | 822 | | |
823 | 823 | | |
824 | 824 | | |
825 | | - | |
| 825 | + | |
| 826 | + | |
| 827 | + | |
| 828 | + | |
| 829 | + | |
| 830 | + | |
826 | 831 | | |
827 | 832 | | |
828 | 833 | | |
| |||
0 commit comments