{"ast_node_type":"function","tokens":[{"end":89,"kind":"keyword","start":0,"text":"pub"}]}
    pub fn flip_polarity(&self, tcx: TyCtxt<'tcx>) -> Option<PredicateObligation<'tcx>> {
    /// Given `T: Trait` predicate it returns `T: !Trait` and given `T: !Trait` returns `T: Trait`.
        Some(PredicateObligation {