|
1 | 1 | use crate::ast::{
|
2 | 2 | self, Param, BinOpKind, BindingMode, BlockCheckMode, Expr, ExprKind, Ident, Item, ItemKind,
|
3 |
| - Mutability, Pat, PatKind, PathSegment, QSelf, Ty, TyKind, VariantData, |
| 3 | + Mutability, Pat, PatKind, PathSegment, QSelf, Ty, TyKind, |
4 | 4 | };
|
5 |
| -use crate::feature_gate::feature_err; |
6 |
| -use crate::parse::{SeqSep, PResult, Parser, ParseSess}; |
| 5 | +use crate::parse::{SeqSep, PResult, Parser}; |
7 | 6 | use crate::parse::parser::{BlockMode, PathStyle, SemiColonMode, TokenType, TokenExpectType};
|
8 | 7 | use crate::parse::token::{self, TokenKind};
|
9 | 8 | use crate::print::pprust;
|
@@ -715,55 +714,7 @@ impl<'a> Parser<'a> {
|
715 | 714 | }
|
716 | 715 | }
|
717 | 716 |
|
718 |
| - crate fn maybe_report_invalid_custom_discriminants( |
719 |
| - sess: &ParseSess, |
720 |
| - variants: &[ast::Variant], |
721 |
| - ) { |
722 |
| - let has_fields = variants.iter().any(|variant| match variant.data { |
723 |
| - VariantData::Tuple(..) | VariantData::Struct(..) => true, |
724 |
| - VariantData::Unit(..) => false, |
725 |
| - }); |
726 |
| - |
727 |
| - let discriminant_spans = variants.iter().filter(|variant| match variant.data { |
728 |
| - VariantData::Tuple(..) | VariantData::Struct(..) => false, |
729 |
| - VariantData::Unit(..) => true, |
730 |
| - }) |
731 |
| - .filter_map(|variant| variant.disr_expr.as_ref().map(|c| c.value.span)) |
732 |
| - .collect::<Vec<_>>(); |
733 |
| - |
734 |
| - if !discriminant_spans.is_empty() && has_fields { |
735 |
| - let mut err = feature_err( |
736 |
| - sess, |
737 |
| - sym::arbitrary_enum_discriminant, |
738 |
| - discriminant_spans.clone(), |
739 |
| - crate::feature_gate::GateIssue::Language, |
740 |
| - "custom discriminant values are not allowed in enums with tuple or struct variants", |
741 |
| - ); |
742 |
| - for sp in discriminant_spans { |
743 |
| - err.span_label(sp, "disallowed custom discriminant"); |
744 |
| - } |
745 |
| - for variant in variants.iter() { |
746 |
| - match &variant.data { |
747 |
| - VariantData::Struct(..) => { |
748 |
| - err.span_label( |
749 |
| - variant.span, |
750 |
| - "struct variant defined here", |
751 |
| - ); |
752 |
| - } |
753 |
| - VariantData::Tuple(..) => { |
754 |
| - err.span_label( |
755 |
| - variant.span, |
756 |
| - "tuple variant defined here", |
757 |
| - ); |
758 |
| - } |
759 |
| - VariantData::Unit(..) => {} |
760 |
| - } |
761 |
| - } |
762 |
| - err.emit(); |
763 |
| - } |
764 |
| - } |
765 |
| - |
766 |
| - crate fn maybe_recover_from_bad_type_plus( |
| 717 | + pub(super) fn maybe_recover_from_bad_type_plus( |
767 | 718 | &mut self,
|
768 | 719 | allow_plus: bool,
|
769 | 720 | ty: &Ty,
|
|
0 commit comments