fn pat_cf_continue(&mut self, span: Span, pat: &'hir hir::Pat<'hir>) -> &'hir hir::Pat<'hir> {
let field = self.single_pat_field(span, pat);
- self.pat_lang_item_variant(span, hir::LangItem::ControlFlowContinue, field)
+ self.pat_lang_item_variant(span, hir::LangItem::ControlFlowContinue, field, None)
}
fn pat_cf_break(&mut self, span: Span, pat: &'hir hir::Pat<'hir>) -> &'hir hir::Pat<'hir> {
let field = self.single_pat_field(span, pat);
- self.pat_lang_item_variant(span, hir::LangItem::ControlFlowBreak, field)
+ self.pat_lang_item_variant(span, hir::LangItem::ControlFlowBreak, field, None)
}
fn pat_some(&mut self, span: Span, pat: &'hir hir::Pat<'hir>) -> &'hir hir::Pat<'hir> {
let field = self.single_pat_field(span, pat);
- self.pat_lang_item_variant(span, hir::LangItem::OptionSome, field)
+ self.pat_lang_item_variant(span, hir::LangItem::OptionSome, field, None)
}
fn pat_none(&mut self, span: Span) -> &'hir hir::Pat<'hir> {
- self.pat_lang_item_variant(span, hir::LangItem::OptionNone, &[])
+ self.pat_lang_item_variant(span, hir::LangItem::OptionNone, &[], None)
}
fn single_pat_field(
span: Span,
lang_item: hir::LangItem,
fields: &'hir [hir::PatField<'hir>],
+ hir_id: Option<hir::HirId>,
) -> &'hir hir::Pat<'hir> {
- let qpath = hir::QPath::LangItem(lang_item, self.lower_span(span));
+ let qpath = hir::QPath::LangItem(lang_item, self.lower_span(span), hir_id);
self.pat(span, hir::PatKind::Struct(qpath, fields, false))
}