4 ms·
Claude Sonnet 4.6 thinking duplicates what it has said, wasting tokens
[response]
So child iteration becomes O(subtree size) instead of O(children count). With Box<[PatId]> you get direct children in O(1).
[me]
Sure, but I don't think rust-analyzer does something like tuple.args[index]. So the amount of steps is the same. When type checking, it iterates over the entire tree.
[thinking]
...
But wait - there's still a real difference. With Box<[PatId]>, when you're at a Pat::Tuple, you can directly iterate its children without knowing anything about the subtree structure. With the range encoding, to get direct children you need to skip over subtrees.
...
---
Why does it waste tokens like this? It happens quite often.