(
&mut self,
width: &KExpr<M>,
value: &KExpr<M>,
)
| 2558 | let mut total = base_val.0; |
| 2559 | total += parts.major.0; |
| 2560 | total += offset; |
| 2561 | let result = Nat(total); |
| 2562 | let blob_addr = Address::hash(&result.to_le_bytes()); |
| 2563 | Ok(Some(KExpr::nat(result, blob_addr))) |
| 2564 | } |
| 2565 | |
| 2566 | fn nat_rec_literal_parts( |
| 2567 | &mut self, |
| 2568 | e: &KExpr<M>, |
| 2569 | ) -> Result<Option<NatRecLiteralParts<M>>, TcError<M>> { |
| 2570 | let (head, spine) = collect_app_spine(e); |
| 2571 | let ExprData::Const(id, _, _) = head.data() else { |
| 2572 | return Ok(None); |
| 2573 | }; |
| 2574 | if id.addr != self.prims.nat_rec.addr { |
| 2575 | return Ok(None); |
| 2576 | } |
no test coverage detected