use rustc_hir as hir;
use rustc_hir::def::{DefKind, Res};
use rustc_hir::def_id::{DefId, LocalDefId};
-use rustc_hir::intravisit::{self, NestedVisitorMap, Visitor};
+use rustc_hir::intravisit::{self, Visitor};
use rustc_index::vec::Idx;
use rustc_middle::ty::layout::{LayoutError, SizeSkeleton};
use rustc_middle::ty::query::Providers;
// (!). In that case we still need the earlier check to verify that the
// register class is usable at all.
if let Some(feature) = feature {
- let feat_sym = Symbol::intern(feature);
- if !self.tcx.sess.target_features.contains(&feat_sym)
- && !target_features.contains(&feat_sym)
+ if !self.tcx.sess.target_features.contains(&feature)
+ && !target_features.contains(&feature)
{
let msg = &format!("`{}` target feature is not enabled", feature);
let mut err = self.tcx.sess.struct_span_err(expr.span, msg);
{
match feature {
Some(feature) => {
- let feat_sym = Symbol::intern(feature);
- if self.tcx.sess.target_features.contains(&feat_sym)
- || attrs.target_features.contains(&feat_sym)
+ if self.tcx.sess.target_features.contains(&feature)
+ || attrs.target_features.contains(&feature)
{
missing_required_features.clear();
break;
let msg = format!(
"register class `{}` requires at least one of the following target features: {}",
reg_class.name(),
- features.join(", ")
+ features
+ .iter()
+ .map(|f| f.as_str())
+ .intersperse(", ")
+ .collect::<String>(),
);
self.tcx.sess.struct_span_err(*op_sp, &msg).emit();
// register isn't enabled, don't do more checks
}
impl<'tcx> Visitor<'tcx> for ItemVisitor<'tcx> {
- type Map = intravisit::ErasedMap<'tcx>;
-
- fn nested_visit_map(&mut self) -> NestedVisitorMap<Self::Map> {
- NestedVisitorMap::None
- }
-
fn visit_nested_body(&mut self, body_id: hir::BodyId) {
let owner_def_id = self.tcx.hir().body_owner_def_id(body_id);
let body = self.tcx.hir().body(body_id);
}
impl<'tcx> Visitor<'tcx> for ExprVisitor<'tcx> {
- type Map = intravisit::ErasedMap<'tcx>;
-
- fn nested_visit_map(&mut self) -> NestedVisitorMap<Self::Map> {
- NestedVisitorMap::None
- }
-
fn visit_expr(&mut self, expr: &'tcx hir::Expr<'tcx>) {
match expr.kind {
hir::ExprKind::Path(ref qpath) => {