Ident::with_empty_ctxt
-> Ident::with_dummy_span
`Ident` has had a full span rather than just a `SyntaxContext` for a long time now.
This commit is contained in:
parent
67d6ce4206
commit
6cb28b6617
30 changed files with 77 additions and 77 deletions
|
@ -1224,7 +1224,7 @@ impl<'a> LoweringContext<'a> {
|
||||||
P(hir::Path {
|
P(hir::Path {
|
||||||
res,
|
res,
|
||||||
segments: hir_vec![hir::PathSegment::from_ident(
|
segments: hir_vec![hir::PathSegment::from_ident(
|
||||||
Ident::with_empty_ctxt(kw::SelfUpper)
|
Ident::with_dummy_span(kw::SelfUpper)
|
||||||
)],
|
)],
|
||||||
span: t.span,
|
span: t.span,
|
||||||
}),
|
}),
|
||||||
|
@ -1558,7 +1558,7 @@ impl<'a> LoweringContext<'a> {
|
||||||
|
|
||||||
let (name, kind) = match name {
|
let (name, kind) = match name {
|
||||||
hir::LifetimeName::Underscore => (
|
hir::LifetimeName::Underscore => (
|
||||||
hir::ParamName::Plain(Ident::with_empty_ctxt(kw::UnderscoreLifetime)),
|
hir::ParamName::Plain(Ident::with_dummy_span(kw::UnderscoreLifetime)),
|
||||||
hir::LifetimeParamKind::Elided,
|
hir::LifetimeParamKind::Elided,
|
||||||
),
|
),
|
||||||
hir::LifetimeName::Param(param_name) => (
|
hir::LifetimeName::Param(param_name) => (
|
||||||
|
@ -2002,7 +2002,7 @@ impl<'a> LoweringContext<'a> {
|
||||||
bindings: hir_vec![
|
bindings: hir_vec![
|
||||||
hir::TypeBinding {
|
hir::TypeBinding {
|
||||||
hir_id: this.next_id(),
|
hir_id: this.next_id(),
|
||||||
ident: Ident::with_empty_ctxt(FN_OUTPUT_NAME),
|
ident: Ident::with_dummy_span(FN_OUTPUT_NAME),
|
||||||
kind: hir::TypeBindingKind::Equality {
|
kind: hir::TypeBindingKind::Equality {
|
||||||
ty: output
|
ty: output
|
||||||
.as_ref()
|
.as_ref()
|
||||||
|
@ -2394,7 +2394,7 @@ impl<'a> LoweringContext<'a> {
|
||||||
let future_params = P(hir::GenericArgs {
|
let future_params = P(hir::GenericArgs {
|
||||||
args: hir_vec![],
|
args: hir_vec![],
|
||||||
bindings: hir_vec![hir::TypeBinding {
|
bindings: hir_vec![hir::TypeBinding {
|
||||||
ident: Ident::with_empty_ctxt(FN_OUTPUT_NAME),
|
ident: Ident::with_dummy_span(FN_OUTPUT_NAME),
|
||||||
kind: hir::TypeBindingKind::Equality {
|
kind: hir::TypeBindingKind::Equality {
|
||||||
ty: output_ty,
|
ty: output_ty,
|
||||||
},
|
},
|
||||||
|
|
|
@ -552,7 +552,7 @@ impl LoweringContext<'_> {
|
||||||
|
|
||||||
// let mut pinned = <expr>;
|
// let mut pinned = <expr>;
|
||||||
let expr = P(self.lower_expr(expr));
|
let expr = P(self.lower_expr(expr));
|
||||||
let pinned_ident = Ident::with_empty_ctxt(sym::pinned);
|
let pinned_ident = Ident::with_dummy_span(sym::pinned);
|
||||||
let (pinned_pat, pinned_pat_hid) = self.pat_ident_binding_mode(
|
let (pinned_pat, pinned_pat_hid) = self.pat_ident_binding_mode(
|
||||||
span,
|
span,
|
||||||
pinned_ident,
|
pinned_ident,
|
||||||
|
@ -593,7 +593,7 @@ impl LoweringContext<'_> {
|
||||||
let loop_node_id = self.sess.next_node_id();
|
let loop_node_id = self.sess.next_node_id();
|
||||||
let loop_hir_id = self.lower_node_id(loop_node_id);
|
let loop_hir_id = self.lower_node_id(loop_node_id);
|
||||||
let ready_arm = {
|
let ready_arm = {
|
||||||
let x_ident = Ident::with_empty_ctxt(sym::result);
|
let x_ident = Ident::with_dummy_span(sym::result);
|
||||||
let (x_pat, x_pat_hid) = self.pat_ident(span, x_ident);
|
let (x_pat, x_pat_hid) = self.pat_ident(span, x_ident);
|
||||||
let x_expr = P(self.expr_ident(span, x_ident, x_pat_hid));
|
let x_expr = P(self.expr_ident(span, x_ident, x_pat_hid));
|
||||||
let ready_pat = self.pat_std_enum(
|
let ready_pat = self.pat_std_enum(
|
||||||
|
@ -1070,9 +1070,9 @@ impl LoweringContext<'_> {
|
||||||
);
|
);
|
||||||
head.span = desugared_span;
|
head.span = desugared_span;
|
||||||
|
|
||||||
let iter = Ident::with_empty_ctxt(sym::iter);
|
let iter = Ident::with_dummy_span(sym::iter);
|
||||||
|
|
||||||
let next_ident = Ident::with_empty_ctxt(sym::__next);
|
let next_ident = Ident::with_dummy_span(sym::__next);
|
||||||
let (next_pat, next_pat_hid) = self.pat_ident_binding_mode(
|
let (next_pat, next_pat_hid) = self.pat_ident_binding_mode(
|
||||||
desugared_span,
|
desugared_span,
|
||||||
next_ident,
|
next_ident,
|
||||||
|
@ -1081,7 +1081,7 @@ impl LoweringContext<'_> {
|
||||||
|
|
||||||
// `::std::option::Option::Some(val) => __next = val`
|
// `::std::option::Option::Some(val) => __next = val`
|
||||||
let pat_arm = {
|
let pat_arm = {
|
||||||
let val_ident = Ident::with_empty_ctxt(sym::val);
|
let val_ident = Ident::with_dummy_span(sym::val);
|
||||||
let (val_pat, val_pat_hid) = self.pat_ident(pat.span, val_ident);
|
let (val_pat, val_pat_hid) = self.pat_ident(pat.span, val_ident);
|
||||||
let val_expr = P(self.expr_ident(pat.span, val_ident, val_pat_hid));
|
let val_expr = P(self.expr_ident(pat.span, val_ident, val_pat_hid));
|
||||||
let next_expr = P(self.expr_ident(pat.span, next_ident, next_pat_hid));
|
let next_expr = P(self.expr_ident(pat.span, next_ident, next_pat_hid));
|
||||||
|
@ -1247,7 +1247,7 @@ impl LoweringContext<'_> {
|
||||||
|
|
||||||
// `Ok(val) => #[allow(unreachable_code)] val,`
|
// `Ok(val) => #[allow(unreachable_code)] val,`
|
||||||
let ok_arm = {
|
let ok_arm = {
|
||||||
let val_ident = Ident::with_empty_ctxt(sym::val);
|
let val_ident = Ident::with_dummy_span(sym::val);
|
||||||
let (val_pat, val_pat_nid) = self.pat_ident(span, val_ident);
|
let (val_pat, val_pat_nid) = self.pat_ident(span, val_ident);
|
||||||
let val_expr = P(self.expr_ident_with_attrs(
|
let val_expr = P(self.expr_ident_with_attrs(
|
||||||
span,
|
span,
|
||||||
|
@ -1263,7 +1263,7 @@ impl LoweringContext<'_> {
|
||||||
// `Err(err) => #[allow(unreachable_code)]
|
// `Err(err) => #[allow(unreachable_code)]
|
||||||
// return Try::from_error(From::from(err)),`
|
// return Try::from_error(From::from(err)),`
|
||||||
let err_arm = {
|
let err_arm = {
|
||||||
let err_ident = Ident::with_empty_ctxt(sym::err);
|
let err_ident = Ident::with_dummy_span(sym::err);
|
||||||
let (err_local, err_local_nid) = self.pat_ident(try_span, err_ident);
|
let (err_local, err_local_nid) = self.pat_ident(try_span, err_ident);
|
||||||
let from_expr = {
|
let from_expr = {
|
||||||
let from_path = &[sym::convert, sym::From, sym::from];
|
let from_path = &[sym::convert, sym::From, sym::from];
|
||||||
|
|
|
@ -202,7 +202,7 @@ impl ParamName {
|
||||||
match *self {
|
match *self {
|
||||||
ParamName::Plain(ident) => ident,
|
ParamName::Plain(ident) => ident,
|
||||||
ParamName::Fresh(_) |
|
ParamName::Fresh(_) |
|
||||||
ParamName::Error => Ident::with_empty_ctxt(kw::UnderscoreLifetime),
|
ParamName::Error => Ident::with_dummy_span(kw::UnderscoreLifetime),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -237,8 +237,8 @@ impl LifetimeName {
|
||||||
pub fn ident(&self) -> Ident {
|
pub fn ident(&self) -> Ident {
|
||||||
match *self {
|
match *self {
|
||||||
LifetimeName::Implicit | LifetimeName::Error => Ident::invalid(),
|
LifetimeName::Implicit | LifetimeName::Error => Ident::invalid(),
|
||||||
LifetimeName::Underscore => Ident::with_empty_ctxt(kw::UnderscoreLifetime),
|
LifetimeName::Underscore => Ident::with_dummy_span(kw::UnderscoreLifetime),
|
||||||
LifetimeName::Static => Ident::with_empty_ctxt(kw::StaticLifetime),
|
LifetimeName::Static => Ident::with_dummy_span(kw::StaticLifetime),
|
||||||
LifetimeName::Param(param_name) => param_name.ident(),
|
LifetimeName::Param(param_name) => param_name.ident(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1457,7 +1457,7 @@ impl<'a> State<'a> {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn print_name(&mut self, name: ast::Name) {
|
pub fn print_name(&mut self, name: ast::Name) {
|
||||||
self.print_ident(ast::Ident::with_empty_ctxt(name))
|
self.print_ident(ast::Ident::with_dummy_span(name))
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn print_for_decl(&mut self, loc: &hir::Local, coll: &hir::Expr) {
|
pub fn print_for_decl(&mut self, loc: &hir::Local, coll: &hir::Expr) {
|
||||||
|
|
|
@ -1417,7 +1417,7 @@ fn confirm_callable_candidate<'cx, 'tcx>(
|
||||||
projection_ty: ty::ProjectionTy::from_ref_and_name(
|
projection_ty: ty::ProjectionTy::from_ref_and_name(
|
||||||
tcx,
|
tcx,
|
||||||
trait_ref,
|
trait_ref,
|
||||||
Ident::with_empty_ctxt(FN_OUTPUT_NAME),
|
Ident::with_dummy_span(FN_OUTPUT_NAME),
|
||||||
),
|
),
|
||||||
ty: ret_type
|
ty: ret_type
|
||||||
}
|
}
|
||||||
|
|
|
@ -678,7 +678,7 @@ impl RustcDefaultCalls {
|
||||||
|
|
||||||
let mut cfgs = sess.parse_sess.config.iter().filter_map(|&(name, ref value)| {
|
let mut cfgs = sess.parse_sess.config.iter().filter_map(|&(name, ref value)| {
|
||||||
let gated_cfg = GatedCfg::gate(&ast::MetaItem {
|
let gated_cfg = GatedCfg::gate(&ast::MetaItem {
|
||||||
path: ast::Path::from_ident(ast::Ident::with_empty_ctxt(name)),
|
path: ast::Path::from_ident(ast::Ident::with_dummy_span(name)),
|
||||||
node: ast::MetaItemKind::Word,
|
node: ast::MetaItemKind::Word,
|
||||||
span: DUMMY_SP,
|
span: DUMMY_SP,
|
||||||
});
|
});
|
||||||
|
|
|
@ -569,7 +569,7 @@ impl<'a, 'tcx> CrateMetadata {
|
||||||
|
|
||||||
ty::VariantDef::new(
|
ty::VariantDef::new(
|
||||||
tcx,
|
tcx,
|
||||||
Ident::with_empty_ctxt(self.item_name(index)),
|
Ident::with_dummy_span(self.item_name(index)),
|
||||||
variant_did,
|
variant_did,
|
||||||
ctor_did,
|
ctor_did,
|
||||||
data.discr,
|
data.discr,
|
||||||
|
@ -577,7 +577,7 @@ impl<'a, 'tcx> CrateMetadata {
|
||||||
let f = self.entry(index);
|
let f = self.entry(index);
|
||||||
ty::FieldDef {
|
ty::FieldDef {
|
||||||
did: self.local_def_id(index),
|
did: self.local_def_id(index),
|
||||||
ident: Ident::with_empty_ctxt(self.item_name(index)),
|
ident: Ident::with_dummy_span(self.item_name(index)),
|
||||||
vis: f.visibility.decode(self)
|
vis: f.visibility.decode(self)
|
||||||
}
|
}
|
||||||
}).collect(),
|
}).collect(),
|
||||||
|
@ -741,7 +741,7 @@ impl<'a, 'tcx> CrateMetadata {
|
||||||
DefKind::Macro(ext.macro_kind()),
|
DefKind::Macro(ext.macro_kind()),
|
||||||
self.local_def_id(DefIndex::from_proc_macro_index(id)),
|
self.local_def_id(DefIndex::from_proc_macro_index(id)),
|
||||||
);
|
);
|
||||||
let ident = Ident::with_empty_ctxt(name);
|
let ident = Ident::with_dummy_span(name);
|
||||||
callback(def::Export {
|
callback(def::Export {
|
||||||
ident: ident,
|
ident: ident,
|
||||||
res: res,
|
res: res,
|
||||||
|
@ -783,7 +783,7 @@ impl<'a, 'tcx> CrateMetadata {
|
||||||
if let Some(kind) = self.def_kind(child_index) {
|
if let Some(kind) = self.def_kind(child_index) {
|
||||||
callback(def::Export {
|
callback(def::Export {
|
||||||
res: Res::Def(kind, self.local_def_id(child_index)),
|
res: Res::Def(kind, self.local_def_id(child_index)),
|
||||||
ident: Ident::with_empty_ctxt(self.item_name(child_index)),
|
ident: Ident::with_dummy_span(self.item_name(child_index)),
|
||||||
vis: self.get_visibility(child_index),
|
vis: self.get_visibility(child_index),
|
||||||
span: self.entry(child_index).span.decode((self, sess)),
|
span: self.entry(child_index).span.decode((self, sess)),
|
||||||
});
|
});
|
||||||
|
|
|
@ -595,7 +595,7 @@ impl<'a> Resolver<'a> {
|
||||||
where FilterFn: Fn(Res) -> bool
|
where FilterFn: Fn(Res) -> bool
|
||||||
{
|
{
|
||||||
let mut suggestions = self.lookup_import_candidates_from_module(
|
let mut suggestions = self.lookup_import_candidates_from_module(
|
||||||
lookup_ident, namespace, self.graph_root, Ident::with_empty_ctxt(kw::Crate), &filter_fn
|
lookup_ident, namespace, self.graph_root, Ident::with_dummy_span(kw::Crate), &filter_fn
|
||||||
);
|
);
|
||||||
|
|
||||||
if lookup_ident.span.rust_2018() {
|
if lookup_ident.span.rust_2018() {
|
||||||
|
|
|
@ -352,7 +352,7 @@ impl<'a, 'tcx> Visitor<'tcx> for LateResolutionVisitor<'a, '_> {
|
||||||
self.smart_resolve_path(ty.id, qself.as_ref(), path, PathSource::Type);
|
self.smart_resolve_path(ty.id, qself.as_ref(), path, PathSource::Type);
|
||||||
}
|
}
|
||||||
TyKind::ImplicitSelf => {
|
TyKind::ImplicitSelf => {
|
||||||
let self_ty = Ident::with_empty_ctxt(kw::SelfUpper);
|
let self_ty = Ident::with_dummy_span(kw::SelfUpper);
|
||||||
let res = self.resolve_ident_in_lexical_scope(self_ty, TypeNS, Some(ty.id), ty.span)
|
let res = self.resolve_ident_in_lexical_scope(self_ty, TypeNS, Some(ty.id), ty.span)
|
||||||
.map_or(Res::Err, |d| d.res());
|
.map_or(Res::Err, |d| d.res());
|
||||||
self.r.record_partial_res(ty.id, PartialRes::new(res));
|
self.r.record_partial_res(ty.id, PartialRes::new(res));
|
||||||
|
@ -442,7 +442,7 @@ impl<'a, 'tcx> Visitor<'tcx> for LateResolutionVisitor<'a, '_> {
|
||||||
GenericParamKind::Type { ref default, .. } => {
|
GenericParamKind::Type { ref default, .. } => {
|
||||||
found_default |= default.is_some();
|
found_default |= default.is_some();
|
||||||
if found_default {
|
if found_default {
|
||||||
Some((Ident::with_empty_ctxt(param.ident.name), Res::Err))
|
Some((Ident::with_dummy_span(param.ident.name), Res::Err))
|
||||||
} else {
|
} else {
|
||||||
None
|
None
|
||||||
}
|
}
|
||||||
|
@ -459,7 +459,7 @@ impl<'a, 'tcx> Visitor<'tcx> for LateResolutionVisitor<'a, '_> {
|
||||||
false
|
false
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.map(|param| (Ident::with_empty_ctxt(param.ident.name), Res::Err)));
|
.map(|param| (Ident::with_dummy_span(param.ident.name), Res::Err)));
|
||||||
|
|
||||||
for param in &generics.params {
|
for param in &generics.params {
|
||||||
match param.kind {
|
match param.kind {
|
||||||
|
@ -476,7 +476,7 @@ impl<'a, 'tcx> Visitor<'tcx> for LateResolutionVisitor<'a, '_> {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Allow all following defaults to refer to this type parameter.
|
// Allow all following defaults to refer to this type parameter.
|
||||||
default_ban_rib.bindings.remove(&Ident::with_empty_ctxt(param.ident.name));
|
default_ban_rib.bindings.remove(&Ident::with_dummy_span(param.ident.name));
|
||||||
}
|
}
|
||||||
GenericParamKind::Const { ref ty } => {
|
GenericParamKind::Const { ref ty } => {
|
||||||
self.ribs[TypeNS].push(const_ty_param_ban_rib);
|
self.ribs[TypeNS].push(const_ty_param_ban_rib);
|
||||||
|
@ -965,7 +965,7 @@ impl<'a, 'b> LateResolutionVisitor<'a, '_> {
|
||||||
let mut self_type_rib = Rib::new(NormalRibKind);
|
let mut self_type_rib = Rib::new(NormalRibKind);
|
||||||
|
|
||||||
// Plain insert (no renaming, since types are not currently hygienic)
|
// Plain insert (no renaming, since types are not currently hygienic)
|
||||||
self_type_rib.bindings.insert(Ident::with_empty_ctxt(kw::SelfUpper), self_res);
|
self_type_rib.bindings.insert(Ident::with_dummy_span(kw::SelfUpper), self_res);
|
||||||
self.ribs[TypeNS].push(self_type_rib);
|
self.ribs[TypeNS].push(self_type_rib);
|
||||||
f(self);
|
f(self);
|
||||||
self.ribs[TypeNS].pop();
|
self.ribs[TypeNS].pop();
|
||||||
|
@ -976,7 +976,7 @@ impl<'a, 'b> LateResolutionVisitor<'a, '_> {
|
||||||
{
|
{
|
||||||
let self_res = Res::SelfCtor(impl_id);
|
let self_res = Res::SelfCtor(impl_id);
|
||||||
let mut self_type_rib = Rib::new(NormalRibKind);
|
let mut self_type_rib = Rib::new(NormalRibKind);
|
||||||
self_type_rib.bindings.insert(Ident::with_empty_ctxt(kw::SelfUpper), self_res);
|
self_type_rib.bindings.insert(Ident::with_dummy_span(kw::SelfUpper), self_res);
|
||||||
self.ribs[ValueNS].push(self_type_rib);
|
self.ribs[ValueNS].push(self_type_rib);
|
||||||
f(self);
|
f(self);
|
||||||
self.ribs[ValueNS].pop();
|
self.ribs[ValueNS].pop();
|
||||||
|
@ -1476,7 +1476,7 @@ impl<'a, 'b> LateResolutionVisitor<'a, '_> {
|
||||||
self.r.trait_map.insert(id, traits);
|
self.r.trait_map.insert(id, traits);
|
||||||
}
|
}
|
||||||
|
|
||||||
let mut std_path = vec![Segment::from_ident(Ident::with_empty_ctxt(sym::std))];
|
let mut std_path = vec![Segment::from_ident(Ident::with_dummy_span(sym::std))];
|
||||||
std_path.extend(path);
|
std_path.extend(path);
|
||||||
if self.r.primitive_type_table.primitive_types.contains_key(&path[0].ident.name) {
|
if self.r.primitive_type_table.primitive_types.contains_key(&path[0].ident.name) {
|
||||||
let cl = CrateLint::No;
|
let cl = CrateLint::No;
|
||||||
|
@ -1507,7 +1507,7 @@ impl<'a, 'b> LateResolutionVisitor<'a, '_> {
|
||||||
|
|
||||||
fn self_type_is_available(&mut self, span: Span) -> bool {
|
fn self_type_is_available(&mut self, span: Span) -> bool {
|
||||||
let binding = self.resolve_ident_in_lexical_scope(
|
let binding = self.resolve_ident_in_lexical_scope(
|
||||||
Ident::with_empty_ctxt(kw::SelfUpper),
|
Ident::with_dummy_span(kw::SelfUpper),
|
||||||
TypeNS,
|
TypeNS,
|
||||||
None,
|
None,
|
||||||
span,
|
span,
|
||||||
|
|
|
@ -985,11 +985,11 @@ impl<'a> hir::lowering::Resolver for Resolver<'a> {
|
||||||
} else {
|
} else {
|
||||||
kw::Crate
|
kw::Crate
|
||||||
};
|
};
|
||||||
let segments = iter::once(Ident::with_empty_ctxt(root))
|
let segments = iter::once(Ident::with_dummy_span(root))
|
||||||
.chain(
|
.chain(
|
||||||
crate_root.into_iter()
|
crate_root.into_iter()
|
||||||
.chain(components.iter().cloned())
|
.chain(components.iter().cloned())
|
||||||
.map(Ident::with_empty_ctxt)
|
.map(Ident::with_dummy_span)
|
||||||
).map(|i| self.new_ast_path_segment(i)).collect::<Vec<_>>();
|
).map(|i| self.new_ast_path_segment(i)).collect::<Vec<_>>();
|
||||||
|
|
||||||
let path = ast::Path {
|
let path = ast::Path {
|
||||||
|
@ -1060,11 +1060,11 @@ impl<'a> Resolver<'a> {
|
||||||
.collect();
|
.collect();
|
||||||
|
|
||||||
if !attr::contains_name(&krate.attrs, sym::no_core) {
|
if !attr::contains_name(&krate.attrs, sym::no_core) {
|
||||||
extern_prelude.insert(Ident::with_empty_ctxt(sym::core), Default::default());
|
extern_prelude.insert(Ident::with_dummy_span(sym::core), Default::default());
|
||||||
if !attr::contains_name(&krate.attrs, sym::no_std) {
|
if !attr::contains_name(&krate.attrs, sym::no_std) {
|
||||||
extern_prelude.insert(Ident::with_empty_ctxt(sym::std), Default::default());
|
extern_prelude.insert(Ident::with_dummy_span(sym::std), Default::default());
|
||||||
if session.rust_2018() {
|
if session.rust_2018() {
|
||||||
extern_prelude.insert(Ident::with_empty_ctxt(sym::meta), Default::default());
|
extern_prelude.insert(Ident::with_dummy_span(sym::meta), Default::default());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2624,7 +2624,7 @@ impl<'a> Resolver<'a> {
|
||||||
let path = if path_str.starts_with("::") {
|
let path = if path_str.starts_with("::") {
|
||||||
ast::Path {
|
ast::Path {
|
||||||
span,
|
span,
|
||||||
segments: iter::once(Ident::with_empty_ctxt(kw::PathRoot))
|
segments: iter::once(Ident::with_dummy_span(kw::PathRoot))
|
||||||
.chain({
|
.chain({
|
||||||
path_str.split("::").skip(1).map(Ident::from_str)
|
path_str.split("::").skip(1).map(Ident::from_str)
|
||||||
})
|
})
|
||||||
|
@ -2713,7 +2713,7 @@ fn module_to_string(module: Module<'_>) -> Option<String> {
|
||||||
fn collect_mod(names: &mut Vec<Ident>, module: Module<'_>) {
|
fn collect_mod(names: &mut Vec<Ident>, module: Module<'_>) {
|
||||||
if let ModuleKind::Def(.., name) = module.kind {
|
if let ModuleKind::Def(.., name) = module.kind {
|
||||||
if let Some(parent) = module.parent {
|
if let Some(parent) = module.parent {
|
||||||
names.push(Ident::with_empty_ctxt(name));
|
names.push(Ident::with_dummy_span(name));
|
||||||
collect_mod(names, parent);
|
collect_mod(names, parent);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -2943,7 +2943,7 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
|
||||||
(PlaceOp::Index, false) => (self.tcx.lang_items().index_trait(), sym::index),
|
(PlaceOp::Index, false) => (self.tcx.lang_items().index_trait(), sym::index),
|
||||||
(PlaceOp::Index, true) => (self.tcx.lang_items().index_mut_trait(), sym::index_mut),
|
(PlaceOp::Index, true) => (self.tcx.lang_items().index_mut_trait(), sym::index_mut),
|
||||||
};
|
};
|
||||||
(tr, ast::Ident::with_empty_ctxt(name))
|
(tr, ast::Ident::with_dummy_span(name))
|
||||||
}
|
}
|
||||||
|
|
||||||
fn try_overloaded_place_op(&self,
|
fn try_overloaded_place_op(&self,
|
||||||
|
|
|
@ -930,7 +930,7 @@ impl Attributes {
|
||||||
if attr.check_name(sym::enable) {
|
if attr.check_name(sym::enable) {
|
||||||
if let Some(feat) = attr.value_str() {
|
if let Some(feat) = attr.value_str() {
|
||||||
let meta = attr::mk_name_value_item_str(
|
let meta = attr::mk_name_value_item_str(
|
||||||
Ident::with_empty_ctxt(sym::target_feature), feat, DUMMY_SP
|
Ident::with_dummy_span(sym::target_feature), feat, DUMMY_SP
|
||||||
);
|
);
|
||||||
if let Ok(feat_cfg) = Cfg::parse(&meta) {
|
if let Ok(feat_cfg) = Cfg::parse(&meta) {
|
||||||
cfg &= feat_cfg;
|
cfg &= feat_cfg;
|
||||||
|
|
|
@ -327,7 +327,7 @@ impl Attribute {
|
||||||
if self.is_sugared_doc {
|
if self.is_sugared_doc {
|
||||||
let comment = self.value_str().unwrap();
|
let comment = self.value_str().unwrap();
|
||||||
let meta = mk_name_value_item_str(
|
let meta = mk_name_value_item_str(
|
||||||
Ident::with_empty_ctxt(sym::doc),
|
Ident::with_dummy_span(sym::doc),
|
||||||
Symbol::intern(&strip_doc_comment_decoration(&comment.as_str())),
|
Symbol::intern(&strip_doc_comment_decoration(&comment.as_str())),
|
||||||
DUMMY_SP,
|
DUMMY_SP,
|
||||||
);
|
);
|
||||||
|
@ -412,7 +412,7 @@ pub fn mk_sugared_doc_attr(text: Symbol, span: Span) -> Attribute {
|
||||||
Attribute {
|
Attribute {
|
||||||
id: mk_attr_id(),
|
id: mk_attr_id(),
|
||||||
style,
|
style,
|
||||||
path: Path::from_ident(Ident::with_empty_ctxt(sym::doc).with_span_pos(span)),
|
path: Path::from_ident(Ident::with_dummy_span(sym::doc).with_span_pos(span)),
|
||||||
tokens: MetaItemKind::NameValue(lit).tokens(span),
|
tokens: MetaItemKind::NameValue(lit).tokens(span),
|
||||||
is_sugared_doc: true,
|
is_sugared_doc: true,
|
||||||
span,
|
span,
|
||||||
|
|
|
@ -172,7 +172,7 @@ pub fn expand_build_diagnostic_array<'cx>(ecx: &'cx mut ExtCtxt<'_>,
|
||||||
(descriptions.len(), ecx.expr_vec(span, descriptions))
|
(descriptions.len(), ecx.expr_vec(span, descriptions))
|
||||||
});
|
});
|
||||||
|
|
||||||
let static_ = ecx.lifetime(span, Ident::with_empty_ctxt(kw::StaticLifetime));
|
let static_ = ecx.lifetime(span, Ident::with_dummy_span(kw::StaticLifetime));
|
||||||
let ty_str = ecx.ty_rptr(
|
let ty_str = ecx.ty_rptr(
|
||||||
span,
|
span,
|
||||||
ecx.ty_ident(span, ecx.ident_of("str")),
|
ecx.ty_ident(span, ecx.ident_of("str")),
|
||||||
|
|
|
@ -872,7 +872,7 @@ impl<'a> ExtCtxt<'a> {
|
||||||
pub fn std_path(&self, components: &[Symbol]) -> Vec<ast::Ident> {
|
pub fn std_path(&self, components: &[Symbol]) -> Vec<ast::Ident> {
|
||||||
let def_site = DUMMY_SP.apply_mark(self.current_expansion.id);
|
let def_site = DUMMY_SP.apply_mark(self.current_expansion.id);
|
||||||
iter::once(Ident::new(kw::DollarCrate, def_site))
|
iter::once(Ident::new(kw::DollarCrate, def_site))
|
||||||
.chain(components.iter().map(|&s| Ident::with_empty_ctxt(s)))
|
.chain(components.iter().map(|&s| Ident::with_dummy_span(s)))
|
||||||
.collect()
|
.collect()
|
||||||
}
|
}
|
||||||
pub fn name_of(&self, st: &str) -> ast::Name {
|
pub fn name_of(&self, st: &str) -> ast::Name {
|
||||||
|
|
|
@ -340,7 +340,7 @@ impl<'a> ExtCtxt<'a> {
|
||||||
self.expr_path(self.path_ident(span, id))
|
self.expr_path(self.path_ident(span, id))
|
||||||
}
|
}
|
||||||
pub fn expr_self(&self, span: Span) -> P<ast::Expr> {
|
pub fn expr_self(&self, span: Span) -> P<ast::Expr> {
|
||||||
self.expr_ident(span, Ident::with_empty_ctxt(kw::SelfLower))
|
self.expr_ident(span, Ident::with_dummy_span(kw::SelfLower))
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn expr_binary(&self, sp: Span, op: ast::BinOpKind,
|
pub fn expr_binary(&self, sp: Span, op: ast::BinOpKind,
|
||||||
|
|
|
@ -1249,21 +1249,21 @@ impl<'a, 'b> MutVisitor for InvocationCollector<'a, 'b> {
|
||||||
let include_info = vec![
|
let include_info = vec![
|
||||||
ast::NestedMetaItem::MetaItem(
|
ast::NestedMetaItem::MetaItem(
|
||||||
attr::mk_name_value_item_str(
|
attr::mk_name_value_item_str(
|
||||||
Ident::with_empty_ctxt(sym::file),
|
Ident::with_dummy_span(sym::file),
|
||||||
file,
|
file,
|
||||||
DUMMY_SP,
|
DUMMY_SP,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
ast::NestedMetaItem::MetaItem(
|
ast::NestedMetaItem::MetaItem(
|
||||||
attr::mk_name_value_item_str(
|
attr::mk_name_value_item_str(
|
||||||
Ident::with_empty_ctxt(sym::contents),
|
Ident::with_dummy_span(sym::contents),
|
||||||
src_interned,
|
src_interned,
|
||||||
DUMMY_SP,
|
DUMMY_SP,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
];
|
];
|
||||||
|
|
||||||
let include_ident = Ident::with_empty_ctxt(sym::include);
|
let include_ident = Ident::with_dummy_span(sym::include);
|
||||||
let item = attr::mk_list_item(include_ident, include_info);
|
let item = attr::mk_list_item(include_ident, include_info);
|
||||||
items.push(ast::NestedMetaItem::MetaItem(item));
|
items.push(ast::NestedMetaItem::MetaItem(item));
|
||||||
}
|
}
|
||||||
|
@ -1325,7 +1325,7 @@ impl<'a, 'b> MutVisitor for InvocationCollector<'a, 'b> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let meta = attr::mk_list_item(Ident::with_empty_ctxt(sym::doc), items);
|
let meta = attr::mk_list_item(Ident::with_dummy_span(sym::doc), items);
|
||||||
*at = attr::Attribute {
|
*at = attr::Attribute {
|
||||||
span: at.span,
|
span: at.span,
|
||||||
id: at.id,
|
id: at.id,
|
||||||
|
|
|
@ -60,7 +60,7 @@ impl<'a> Parser<'a> {
|
||||||
// Record that we fetched the mod from an external file
|
// Record that we fetched the mod from an external file
|
||||||
if warn {
|
if warn {
|
||||||
let attr = attr::mk_attr_outer(
|
let attr = attr::mk_attr_outer(
|
||||||
attr::mk_word_item(Ident::with_empty_ctxt(sym::warn_directory_ownership)));
|
attr::mk_word_item(Ident::with_dummy_span(sym::warn_directory_ownership)));
|
||||||
attr::mark_known(&attr);
|
attr::mark_known(&attr);
|
||||||
attrs.push(attr);
|
attrs.push(attr);
|
||||||
}
|
}
|
||||||
|
|
|
@ -123,13 +123,13 @@ pub fn print_crate<'a>(cm: &'a SourceMap,
|
||||||
// of the feature gate, so we fake them up here.
|
// of the feature gate, so we fake them up here.
|
||||||
|
|
||||||
// #![feature(prelude_import)]
|
// #![feature(prelude_import)]
|
||||||
let pi_nested = attr::mk_nested_word_item(ast::Ident::with_empty_ctxt(sym::prelude_import));
|
let pi_nested = attr::mk_nested_word_item(ast::Ident::with_dummy_span(sym::prelude_import));
|
||||||
let list = attr::mk_list_item(ast::Ident::with_empty_ctxt(sym::feature), vec![pi_nested]);
|
let list = attr::mk_list_item(ast::Ident::with_dummy_span(sym::feature), vec![pi_nested]);
|
||||||
let fake_attr = attr::mk_attr_inner(list);
|
let fake_attr = attr::mk_attr_inner(list);
|
||||||
s.print_attribute(&fake_attr);
|
s.print_attribute(&fake_attr);
|
||||||
|
|
||||||
// #![no_std]
|
// #![no_std]
|
||||||
let no_std_meta = attr::mk_word_item(ast::Ident::with_empty_ctxt(sym::no_std));
|
let no_std_meta = attr::mk_word_item(ast::Ident::with_dummy_span(sym::no_std));
|
||||||
let fake_attr = attr::mk_attr_inner(no_std_meta);
|
let fake_attr = attr::mk_attr_inner(no_std_meta);
|
||||||
s.print_attribute(&fake_attr);
|
s.print_attribute(&fake_attr);
|
||||||
}
|
}
|
||||||
|
|
|
@ -129,7 +129,7 @@ fn cs_clone_shallow(name: &str,
|
||||||
if is_union {
|
if is_union {
|
||||||
// let _: AssertParamIsCopy<Self>;
|
// let _: AssertParamIsCopy<Self>;
|
||||||
let self_ty =
|
let self_ty =
|
||||||
cx.ty_path(cx.path_ident(trait_span, ast::Ident::with_empty_ctxt(kw::SelfUpper)));
|
cx.ty_path(cx.path_ident(trait_span, ast::Ident::with_dummy_span(kw::SelfUpper)));
|
||||||
assert_ty_bounds(cx, &mut stmts, self_ty, trait_span, "AssertParamIsCopy");
|
assert_ty_bounds(cx, &mut stmts, self_ty, trait_span, "AssertParamIsCopy");
|
||||||
} else {
|
} else {
|
||||||
match *substr.fields {
|
match *substr.fields {
|
||||||
|
|
|
@ -82,7 +82,7 @@ fn show_substructure(cx: &mut ExtCtxt<'_>, span: Span, substr: &Substructure<'_>
|
||||||
|
|
||||||
let expr = cx.expr_method_call(span,
|
let expr = cx.expr_method_call(span,
|
||||||
builder_expr.clone(),
|
builder_expr.clone(),
|
||||||
Ident::with_empty_ctxt(sym::field),
|
Ident::with_dummy_span(sym::field),
|
||||||
vec![field]);
|
vec![field]);
|
||||||
|
|
||||||
// Use `let _ = expr;` to avoid triggering the
|
// Use `let _ = expr;` to avoid triggering the
|
||||||
|
@ -106,7 +106,7 @@ fn show_substructure(cx: &mut ExtCtxt<'_>, span: Span, substr: &Substructure<'_>
|
||||||
let field = cx.expr_addr_of(field.span, field);
|
let field = cx.expr_addr_of(field.span, field);
|
||||||
let expr = cx.expr_method_call(span,
|
let expr = cx.expr_method_call(span,
|
||||||
builder_expr.clone(),
|
builder_expr.clone(),
|
||||||
Ident::with_empty_ctxt(sym::field),
|
Ident::with_dummy_span(sym::field),
|
||||||
vec![name, field]);
|
vec![name, field]);
|
||||||
stmts.push(stmt_let_undescore(cx, span, expr));
|
stmts.push(stmt_let_undescore(cx, span, expr));
|
||||||
}
|
}
|
||||||
|
|
|
@ -928,7 +928,7 @@ impl<'a> MethodDef<'a> {
|
||||||
|
|
||||||
let args = {
|
let args = {
|
||||||
let self_args = explicit_self.map(|explicit_self| {
|
let self_args = explicit_self.map(|explicit_self| {
|
||||||
let ident = Ident::with_empty_ctxt(kw::SelfLower).with_span_pos(trait_.span);
|
let ident = Ident::with_dummy_span(kw::SelfLower).with_span_pos(trait_.span);
|
||||||
ast::Arg::from_self(ThinVec::default(), explicit_self, ident)
|
ast::Arg::from_self(ThinVec::default(), explicit_self, ident)
|
||||||
});
|
});
|
||||||
let nonself_args = arg_types.into_iter()
|
let nonself_args = arg_types.into_iter()
|
||||||
|
|
|
@ -23,13 +23,13 @@ pub fn expand_option_env<'cx>(cx: &'cx mut ExtCtxt<'_>,
|
||||||
let sp = sp.apply_mark(cx.current_expansion.id);
|
let sp = sp.apply_mark(cx.current_expansion.id);
|
||||||
let e = match env::var(&*var.as_str()) {
|
let e = match env::var(&*var.as_str()) {
|
||||||
Err(..) => {
|
Err(..) => {
|
||||||
let lt = cx.lifetime(sp, Ident::with_empty_ctxt(kw::StaticLifetime));
|
let lt = cx.lifetime(sp, Ident::with_dummy_span(kw::StaticLifetime));
|
||||||
cx.expr_path(cx.path_all(sp,
|
cx.expr_path(cx.path_all(sp,
|
||||||
true,
|
true,
|
||||||
cx.std_path(&[sym::option, sym::Option, sym::None]),
|
cx.std_path(&[sym::option, sym::Option, sym::None]),
|
||||||
vec![GenericArg::Type(cx.ty_rptr(sp,
|
vec![GenericArg::Type(cx.ty_rptr(sp,
|
||||||
cx.ty_ident(sp,
|
cx.ty_ident(sp,
|
||||||
Ident::with_empty_ctxt(sym::str)),
|
Ident::with_dummy_span(sym::str)),
|
||||||
Some(lt),
|
Some(lt),
|
||||||
ast::Mutability::Immutable))],
|
ast::Mutability::Immutable))],
|
||||||
vec![]))
|
vec![]))
|
||||||
|
|
|
@ -44,7 +44,7 @@ pub fn expand(
|
||||||
let const_ty = ecx.ty(span, TyKind::Tup(Vec::new()));
|
let const_ty = ecx.ty(span, TyKind::Tup(Vec::new()));
|
||||||
let const_body = ecx.expr_block(ecx.block(span, stmts));
|
let const_body = ecx.expr_block(ecx.block(span, stmts));
|
||||||
let const_item =
|
let const_item =
|
||||||
ecx.item_const(span, Ident::with_empty_ctxt(kw::Underscore), const_ty, const_body);
|
ecx.item_const(span, Ident::with_dummy_span(kw::Underscore), const_ty, const_body);
|
||||||
|
|
||||||
// Return the original item and the new methods.
|
// Return the original item and the new methods.
|
||||||
vec![Annotatable::Item(item), Annotatable::Item(const_item)]
|
vec![Annotatable::Item(item), Annotatable::Item(const_item)]
|
||||||
|
@ -120,7 +120,7 @@ impl AllocFnFactory<'_, '_> {
|
||||||
) -> P<Expr> {
|
) -> P<Expr> {
|
||||||
match *ty {
|
match *ty {
|
||||||
AllocatorTy::Layout => {
|
AllocatorTy::Layout => {
|
||||||
let usize = self.cx.path_ident(self.span, Ident::with_empty_ctxt(sym::usize));
|
let usize = self.cx.path_ident(self.span, Ident::with_dummy_span(sym::usize));
|
||||||
let ty_usize = self.cx.ty_path(usize);
|
let ty_usize = self.cx.ty_path(usize);
|
||||||
let size = ident();
|
let size = ident();
|
||||||
let align = ident();
|
let align = ident();
|
||||||
|
@ -178,12 +178,12 @@ impl AllocFnFactory<'_, '_> {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn usize(&self) -> P<Ty> {
|
fn usize(&self) -> P<Ty> {
|
||||||
let usize = self.cx.path_ident(self.span, Ident::with_empty_ctxt(sym::usize));
|
let usize = self.cx.path_ident(self.span, Ident::with_dummy_span(sym::usize));
|
||||||
self.cx.ty_path(usize)
|
self.cx.ty_path(usize)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn ptr_u8(&self) -> P<Ty> {
|
fn ptr_u8(&self) -> P<Ty> {
|
||||||
let u8 = self.cx.path_ident(self.span, Ident::with_empty_ctxt(sym::u8));
|
let u8 = self.cx.path_ident(self.span, Ident::with_dummy_span(sym::u8));
|
||||||
let ty_u8 = self.cx.ty_path(u8);
|
let ty_u8 = self.cx.ty_path(u8);
|
||||||
self.cx.ty_ptr(self.span, ty_u8, Mutability::Mutable)
|
self.cx.ty_ptr(self.span, ty_u8, Mutability::Mutable)
|
||||||
}
|
}
|
||||||
|
|
|
@ -42,7 +42,7 @@ pub mod test_harness;
|
||||||
|
|
||||||
pub fn register_builtin_macros(resolver: &mut dyn syntax::ext::base::Resolver, edition: Edition) {
|
pub fn register_builtin_macros(resolver: &mut dyn syntax::ext::base::Resolver, edition: Edition) {
|
||||||
let mut register = |name, kind| resolver.register_builtin_macro(
|
let mut register = |name, kind| resolver.register_builtin_macro(
|
||||||
Ident::with_empty_ctxt(name), SyntaxExtension {
|
Ident::with_dummy_span(name), SyntaxExtension {
|
||||||
is_builtin: true, ..SyntaxExtension::default(kind, edition)
|
is_builtin: true, ..SyntaxExtension::default(kind, edition)
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
|
@ -48,7 +48,7 @@ pub fn inject(
|
||||||
[sym::rustc_attrs][..].into(),
|
[sym::rustc_attrs][..].into(),
|
||||||
));
|
));
|
||||||
for (name, ext) in named_exts {
|
for (name, ext) in named_exts {
|
||||||
resolver.register_builtin_macro(Ident::with_empty_ctxt(name), ext);
|
resolver.register_builtin_macro(Ident::with_dummy_span(name), ext);
|
||||||
extra_items.push(plugin_macro_def(name, span));
|
extra_items.push(plugin_macro_def(name, span));
|
||||||
}
|
}
|
||||||
// The `macro_rules` items must be inserted before any other items.
|
// The `macro_rules` items must be inserted before any other items.
|
||||||
|
|
|
@ -337,7 +337,7 @@ fn mk_decls(
|
||||||
let doc = cx.meta_list(span, sym::doc, vec![hidden]);
|
let doc = cx.meta_list(span, sym::doc, vec![hidden]);
|
||||||
let doc_hidden = cx.attribute(doc);
|
let doc_hidden = cx.attribute(doc);
|
||||||
|
|
||||||
let proc_macro = Ident::with_empty_ctxt(sym::proc_macro);
|
let proc_macro = Ident::with_dummy_span(sym::proc_macro);
|
||||||
let krate = cx.item(span,
|
let krate = cx.item(span,
|
||||||
proc_macro,
|
proc_macro,
|
||||||
Vec::new(),
|
Vec::new(),
|
||||||
|
@ -349,7 +349,7 @@ fn mk_decls(
|
||||||
let custom_derive = Ident::from_str("custom_derive");
|
let custom_derive = Ident::from_str("custom_derive");
|
||||||
let attr = Ident::from_str("attr");
|
let attr = Ident::from_str("attr");
|
||||||
let bang = Ident::from_str("bang");
|
let bang = Ident::from_str("bang");
|
||||||
let crate_kw = Ident::with_empty_ctxt(kw::Crate);
|
let crate_kw = Ident::with_dummy_span(kw::Crate);
|
||||||
|
|
||||||
let decls = {
|
let decls = {
|
||||||
let local_path = |sp: Span, name| {
|
let local_path = |sp: Span, name| {
|
||||||
|
|
|
@ -32,7 +32,7 @@ pub fn inject(
|
||||||
// HACK(eddyb) gensym the injected crates on the Rust 2018 edition,
|
// HACK(eddyb) gensym the injected crates on the Rust 2018 edition,
|
||||||
// so they don't accidentally interfere with the new import paths.
|
// so they don't accidentally interfere with the new import paths.
|
||||||
let orig_name_sym = Symbol::intern(orig_name_str);
|
let orig_name_sym = Symbol::intern(orig_name_str);
|
||||||
let orig_name_ident = Ident::with_empty_ctxt(orig_name_sym);
|
let orig_name_ident = Ident::with_dummy_span(orig_name_sym);
|
||||||
let (rename, orig_name) = if rust_2018 {
|
let (rename, orig_name) = if rust_2018 {
|
||||||
(orig_name_ident.gensym(), Some(orig_name_sym))
|
(orig_name_ident.gensym(), Some(orig_name_sym))
|
||||||
} else {
|
} else {
|
||||||
|
@ -40,7 +40,7 @@ pub fn inject(
|
||||||
};
|
};
|
||||||
krate.module.items.insert(0, P(ast::Item {
|
krate.module.items.insert(0, P(ast::Item {
|
||||||
attrs: vec![attr::mk_attr_outer(
|
attrs: vec![attr::mk_attr_outer(
|
||||||
attr::mk_word_item(ast::Ident::with_empty_ctxt(sym::macro_use))
|
attr::mk_word_item(ast::Ident::with_dummy_span(sym::macro_use))
|
||||||
)],
|
)],
|
||||||
vis: dummy_spanned(ast::VisibilityKind::Inherited),
|
vis: dummy_spanned(ast::VisibilityKind::Inherited),
|
||||||
node: ast::ItemKind::ExternCrate(alt_std_name.or(orig_name)),
|
node: ast::ItemKind::ExternCrate(alt_std_name.or(orig_name)),
|
||||||
|
@ -66,7 +66,7 @@ pub fn inject(
|
||||||
vis: respan(span.shrink_to_lo(), ast::VisibilityKind::Inherited),
|
vis: respan(span.shrink_to_lo(), ast::VisibilityKind::Inherited),
|
||||||
node: ast::ItemKind::Use(P(ast::UseTree {
|
node: ast::ItemKind::Use(P(ast::UseTree {
|
||||||
prefix: ast::Path {
|
prefix: ast::Path {
|
||||||
segments: iter::once(ast::Ident::with_empty_ctxt(kw::PathRoot))
|
segments: iter::once(ast::Ident::with_dummy_span(kw::PathRoot))
|
||||||
.chain(
|
.chain(
|
||||||
[name, "prelude", "v1"].iter().cloned()
|
[name, "prelude", "v1"].iter().cloned()
|
||||||
.map(ast::Ident::from_str)
|
.map(ast::Ident::from_str)
|
||||||
|
|
|
@ -150,7 +150,7 @@ impl MutVisitor for EntryPointCleaner {
|
||||||
EntryPointType::MainAttr |
|
EntryPointType::MainAttr |
|
||||||
EntryPointType::Start =>
|
EntryPointType::Start =>
|
||||||
item.map(|ast::Item {id, ident, attrs, node, vis, span, tokens}| {
|
item.map(|ast::Item {id, ident, attrs, node, vis, span, tokens}| {
|
||||||
let allow_ident = Ident::with_empty_ctxt(sym::allow);
|
let allow_ident = Ident::with_dummy_span(sym::allow);
|
||||||
let dc_nested = attr::mk_nested_word_item(Ident::from_str("dead_code"));
|
let dc_nested = attr::mk_nested_word_item(Ident::from_str("dead_code"));
|
||||||
let allow_dead_code_item = attr::mk_list_item(allow_ident, vec![dc_nested]);
|
let allow_dead_code_item = attr::mk_list_item(allow_ident, vec![dc_nested]);
|
||||||
let allow_dead_code = attr::mk_attr_outer(allow_dead_code_item);
|
let allow_dead_code = attr::mk_attr_outer(allow_dead_code_item);
|
||||||
|
@ -191,7 +191,7 @@ fn mk_reexport_mod(cx: &mut TestCtxt<'_>,
|
||||||
tests: Vec<Ident>,
|
tests: Vec<Ident>,
|
||||||
tested_submods: Vec<(Ident, Ident)>)
|
tested_submods: Vec<(Ident, Ident)>)
|
||||||
-> (P<ast::Item>, Ident) {
|
-> (P<ast::Item>, Ident) {
|
||||||
let super_ = Ident::with_empty_ctxt(kw::Super);
|
let super_ = Ident::with_dummy_span(kw::Super);
|
||||||
|
|
||||||
let items = tests.into_iter().map(|r| {
|
let items = tests.into_iter().map(|r| {
|
||||||
cx.ext_cx.item_use_simple(DUMMY_SP, dummy_spanned(ast::VisibilityKind::Public),
|
cx.ext_cx.item_use_simple(DUMMY_SP, dummy_spanned(ast::VisibilityKind::Public),
|
||||||
|
@ -274,7 +274,7 @@ fn mk_main(cx: &mut TestCtxt<'_>) -> P<ast::Item> {
|
||||||
[sym::main, sym::test, sym::rustc_attrs][..].into(),
|
[sym::main, sym::test, sym::rustc_attrs][..].into(),
|
||||||
));
|
));
|
||||||
let ecx = &cx.ext_cx;
|
let ecx = &cx.ext_cx;
|
||||||
let test_id = Ident::with_empty_ctxt(sym::test);
|
let test_id = Ident::with_dummy_span(sym::test);
|
||||||
|
|
||||||
// test::test_main_static(...)
|
// test::test_main_static(...)
|
||||||
let mut test_runner = cx.test_runner.clone().unwrap_or(
|
let mut test_runner = cx.test_runner.clone().unwrap_or(
|
||||||
|
|
|
@ -744,25 +744,25 @@ impl Ident {
|
||||||
Ident { name, span }
|
Ident { name, span }
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Constructs a new identifier with an empty syntax context.
|
/// Constructs a new identifier with a dummy span.
|
||||||
#[inline]
|
#[inline]
|
||||||
pub const fn with_empty_ctxt(name: Symbol) -> Ident {
|
pub const fn with_dummy_span(name: Symbol) -> Ident {
|
||||||
Ident::new(name, DUMMY_SP)
|
Ident::new(name, DUMMY_SP)
|
||||||
}
|
}
|
||||||
|
|
||||||
#[inline]
|
#[inline]
|
||||||
pub fn invalid() -> Ident {
|
pub fn invalid() -> Ident {
|
||||||
Ident::with_empty_ctxt(kw::Invalid)
|
Ident::with_dummy_span(kw::Invalid)
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Maps an interned string to an identifier with an empty syntax context.
|
/// Maps an interned string to an identifier with an empty syntax context.
|
||||||
pub fn from_interned_str(string: InternedString) -> Ident {
|
pub fn from_interned_str(string: InternedString) -> Ident {
|
||||||
Ident::with_empty_ctxt(string.as_symbol())
|
Ident::with_dummy_span(string.as_symbol())
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Maps a string to an identifier with an empty span.
|
/// Maps a string to an identifier with an empty span.
|
||||||
pub fn from_str(string: &str) -> Ident {
|
pub fn from_str(string: &str) -> Ident {
|
||||||
Ident::with_empty_ctxt(Symbol::intern(string))
|
Ident::with_dummy_span(Symbol::intern(string))
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Maps a string and a span to an identifier.
|
/// Maps a string and a span to an identifier.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue