{"ast_node_type":"other","tokens":[{"end":39,"kind":"keyword","start":0,"text":"while"}]}
        while mem::take(&mut changed) {
        let mut obligations = mem::take(&mut self.resolve_obligations_buffer);
            mem::swap(&mut self.pending_obligations, &mut obligations);