{"ast_node_type":"other","tokens":[{"end":86,"kind":"keyword","start":0,"text":"//"}]}
        // We preserve validity except when we go inside a reference or a union field.
    fn specialize<Cx: PatCx>(self, ctor: &Constructor<Cx>) -> Self {
        if matches!(ctor, Constructor::Ref | Constructor::DerefPattern(_) | Constructor::UnionField)