{"ast_node_type":"other","tokens":[{"end":19,"kind":"keyword","start":0,"text":"if"}]}
    if bad_target {
        !matches!(item_kind, Some(ItemKind::Struct(..) | ItemKind::Enum(..) | ItemKind::Union(..)));
        return Err(sess.dcx().emit_err(errors::BadDeriveTarget { span, item: item.span() }));