syntax_data: {"ast_node_type":"function","tokens":[{"end":84,"kind":"keyword","start":0,"text":"pub"}]}
source_snippet:     pub fn principal(&self) -> Option<ty::Binder<'tcx, ExistentialTraitRef<'tcx>>> {
context_before:     /// and destructor.
context_after:         self[0]