(progress: Arc<Self>)
| 2547 | if work_idx >= work_total { |
| 2548 | break; |
| 2549 | } |
| 2550 | // `clear_releasing_memory` preserves `profile_sink`, so recording |
| 2551 | // accumulates across scheduled-block boundaries. |
| 2552 | if checks_since_clear >= clear_every { |
| 2553 | kenv.clear_releasing_memory(); |
| 2554 | checks_since_clear = 0; |
| 2555 | } |
| 2556 | let primary_addr = match &work[work_idx] { |
| 2557 | AnonWorkItem::Standalone { addr, .. } => addr.clone(), |
| 2558 | AnonWorkItem::Block { primary_addr, .. } => primary_addr.clone(), |
| 2559 | }; |
| 2560 | let kid = KId::<Anon>::new(primary_addr, ()); |
| 2561 | let res = { |
| 2562 | let mut tc = |
| 2563 | TypeChecker::<Anon>::new_with_lazy_anon(&mut kenv, &env); |
| 2564 | let r = tc.check_const(&kid); |
| 2565 | // The TypeChecker is recreated per work item, so the final |
| 2566 | // constant's record would never be flushed by a trailing reset — |
| 2567 | // flush it explicitly. |
| 2568 | tc.finish_constant_accounting(); |
| 2569 | r |
nothing calls this directly
no test coverage detected