syntax_data: {"ast_node_type":"function","tokens":[{"end":77,"kind":"keyword","start":0,"text":"pub"}]}
source_snippet:     pub fn with<Q>(self, cx: I, predicate: impl Upcast<I, Q>) -> Goal<I, Q> {
context_before:     /// Updates the goal to one with a different `predicate` but the same `param_env`.
context_after:         Goal { param_env: self.param_env, predicate: predicate.upcast(cx) }