{"ast_node_type":"function","tokens":[{"end":100,"kind":"keyword","start":0,"text":"pub(crate)"}]}
    pub(crate) fn run_in_snapshot<T>(&mut self, f: impl FnOnce(&mut InferenceTable<'_>) -> T) -> T {
    #[tracing::instrument(skip_all)]
        let snapshot = self.snapshot();