syntax_data: {"ast_node_type":"variable","tokens":[{"end":54,"kind":"keyword","start":0,"text":"let"}]}
source_snippet:         let trait_def = obligation.predicate.def_id();
context_before:         let tcx = self.tcx();
context_after:         let self_ty = self.infcx.shallow_resolve(