syntax_data: {"ast_node_type":"function","tokens":[{"end":99,"kind":"keyword","start":0,"text":"pub(crate)"}]}
source_snippet: pub(crate) fn first_method_vtable_slot<'tcx>(tcx: TyCtxt<'tcx>, key: ty::TraitRef<'tcx>) -> usize {
context_before: // for `Supertrait`'s methods in the vtable of `Subtrait`.
context_after:     debug_assert!(!key.has_non_region_infer() && !key.has_non_region_param());