RangeLimits::Closed
};
- let r = try!(self.mk_range(Some(lhs), rhs, limits));
+ let r = self.mk_range(Some(lhs), rhs, limits)?;
lhs = self.mk_expr(lhs_span.to(rhs_span), r, ThinVec::new());
break
}
RangeLimits::Closed
};
- let r = try!(self.mk_range(None,
- opt_end,
- limits));
+ let r = self.mk_range(None, opt_end, limits)?;
Ok(self.mk_expr(lo.to(hi), r, attrs))
}
let error_msg = "crate name using dashes are not valid in `extern crate` statements";
let suggestion_msg = "if the original crate name uses dashes you need to use underscores \
in the code";
- let mut ident = self.parse_ident()?;
+ let mut ident = if self.token.is_keyword(keywords::SelfValue) {
+ self.parse_path_segment_ident()
+ } else {
+ self.parse_ident()
+ }?;
let mut idents = vec![];
let mut replacement = vec![];
let mut fixed_crate_name = false;