Skip to content

Commit 6bb3980

Browse files
committed
Stop using gensyms in HIR lowering
These names aren't ever handled by resolve, so there's no reason to make them gensyms.
1 parent 9a9df55 commit 6bb3980

File tree

2 files changed

+22
-22
lines changed

2 files changed

+22
-22
lines changed

src/librustc/hir/lowering.rs

Lines changed: 15 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -855,10 +855,6 @@ impl<'a> LoweringContext<'a> {
855855
self.sess.diagnostic()
856856
}
857857

858-
fn str_to_ident(&self, s: &'static str) -> Ident {
859-
Ident::with_empty_ctxt(Symbol::gensym(s))
860-
}
861-
862858
fn with_anonymous_lifetime_mode<R>(
863859
&mut self,
864860
anonymous_lifetime_mode: AnonymousLifetimeMode,
@@ -4621,18 +4617,18 @@ impl<'a> LoweringContext<'a> {
46214617
);
46224618
head.span = desugared_span;
46234619

4624-
let iter = self.str_to_ident("iter");
4620+
let iter = Ident::with_empty_ctxt(sym::iter);
46254621

4626-
let next_ident = self.str_to_ident("__next");
4622+
let next_ident = Ident::with_empty_ctxt(sym::__next);
46274623
let (next_pat, next_pat_hid) = self.pat_ident_binding_mode(
46284624
desugared_span,
46294625
next_ident,
46304626
hir::BindingAnnotation::Mutable,
46314627
);
46324628

4633-
// `::std::option::Option::Some(val) => next = val`
4629+
// `::std::option::Option::Some(val) => __next = val`
46344630
let pat_arm = {
4635-
let val_ident = self.str_to_ident("val");
4631+
let val_ident = Ident::with_empty_ctxt(sym::val);
46364632
let (val_pat, val_pat_hid) = self.pat_ident(pat.span, val_ident);
46374633
let val_expr = P(self.expr_ident(pat.span, val_ident, val_pat_hid));
46384634
let next_expr = P(self.expr_ident(pat.span, next_ident, next_pat_hid));
@@ -4771,17 +4767,13 @@ impl<'a> LoweringContext<'a> {
47714767
let unstable_span = self.sess.source_map().mark_span_with_reason(
47724768
CompilerDesugaringKind::QuestionMark,
47734769
e.span,
4774-
Some(vec![
4775-
Symbol::intern("try_trait")
4776-
].into()),
4770+
Some(vec![sym::try_trait].into()),
47774771
);
47784772
let try_span = self.sess.source_map().end_point(e.span);
47794773
let try_span = self.sess.source_map().mark_span_with_reason(
47804774
CompilerDesugaringKind::QuestionMark,
47814775
try_span,
4782-
Some(vec![
4783-
Symbol::intern("try_trait")
4784-
].into()),
4776+
Some(vec![sym::try_trait].into()),
47854777
);
47864778

47874779
// `Try::into_result(<expr>)`
@@ -4802,7 +4794,8 @@ impl<'a> LoweringContext<'a> {
48024794
// `allow(unreachable_code)`
48034795
let allow = {
48044796
let allow_ident = Ident::with_empty_ctxt(sym::allow).with_span_pos(e.span);
4805-
let uc_ident = Ident::from_str("unreachable_code").with_span_pos(e.span);
4797+
let uc_ident = Ident::with_empty_ctxt(sym::unreachable_code)
4798+
.with_span_pos(e.span);
48064799
let uc_nested = attr::mk_nested_word_item(uc_ident);
48074800
attr::mk_list_item(e.span, allow_ident, vec![uc_nested])
48084801
};
@@ -4812,7 +4805,7 @@ impl<'a> LoweringContext<'a> {
48124805

48134806
// `Ok(val) => #[allow(unreachable_code)] val,`
48144807
let ok_arm = {
4815-
let val_ident = self.str_to_ident("val");
4808+
let val_ident = Ident::with_empty_ctxt(sym::val);
48164809
let (val_pat, val_pat_nid) = self.pat_ident(e.span, val_ident);
48174810
let val_expr = P(self.expr_ident_with_attrs(
48184811
e.span,
@@ -4828,7 +4821,7 @@ impl<'a> LoweringContext<'a> {
48284821
// `Err(err) => #[allow(unreachable_code)]
48294822
// return Try::from_error(From::from(err)),`
48304823
let err_arm = {
4831-
let err_ident = self.str_to_ident("err");
4824+
let err_ident = Ident::with_empty_ctxt(sym::err);
48324825
let (err_local, err_local_nid) = self.pat_ident(try_span, err_ident);
48334826
let from_expr = {
48344827
let from_path = &[sym::convert, sym::From, sym::from];
@@ -5552,7 +5545,7 @@ impl<'a> LoweringContext<'a> {
55525545
// match ::std::future::poll_with_tls_context(unsafe {
55535546
// ::std::pin::Pin::new_unchecked(&mut pinned)
55545547
// }) {
5555-
// ::std::task::Poll::Ready(x) => break x,
5548+
// ::std::task::Poll::Ready(result) => break result,
55565549
// ::std::task::Poll::Pending => {},
55575550
// }
55585551
// yield ();
@@ -5580,12 +5573,12 @@ impl<'a> LoweringContext<'a> {
55805573
let gen_future_span = self.sess.source_map().mark_span_with_reason(
55815574
CompilerDesugaringKind::Await,
55825575
await_span,
5583-
Some(vec![Symbol::intern("gen_future")].into()),
5576+
Some(vec![sym::gen_future].into()),
55845577
);
55855578

55865579
// let mut pinned = <expr>;
55875580
let expr = P(self.lower_expr(expr));
5588-
let pinned_ident = self.str_to_ident("pinned");
5581+
let pinned_ident = Ident::with_empty_ctxt(sym::pinned);
55895582
let (pinned_pat, pinned_pat_hid) = self.pat_ident_binding_mode(
55905583
span,
55915584
pinned_ident,
@@ -5621,11 +5614,11 @@ impl<'a> LoweringContext<'a> {
56215614
))
56225615
};
56235616

5624-
// `::std::task::Poll::Ready(x) => break x`
5617+
// `::std::task::Poll::Ready(result) => break result`
56255618
let loop_node_id = self.sess.next_node_id();
56265619
let loop_hir_id = self.lower_node_id(loop_node_id);
56275620
let ready_arm = {
5628-
let x_ident = self.str_to_ident("x");
5621+
let x_ident = Ident::with_empty_ctxt(sym::result);
56295622
let (x_pat, x_pat_hid) = self.pat_ident(span, x_ident);
56305623
let x_expr = P(self.expr_ident(span, x_ident, x_pat_hid));
56315624
let ready_pat = self.pat_std_enum(

src/libsyntax_pos/symbol.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,7 @@ symbols! {
229229
eh_personality,
230230
eh_unwind_resume,
231231
enable,
232+
err,
232233
Err,
233234
except,
234235
exclusive_range_pattern,
@@ -260,6 +261,7 @@ symbols! {
260261
fundamental,
261262
future,
262263
Future,
264+
gen_future,
263265
generators,
264266
generic_associated_types,
265267
generic_param_attrs,
@@ -361,6 +363,7 @@ symbols! {
361363
never,
362364
never_type,
363365
next,
366+
__next,
364367
nll,
365368
no_builtins,
366369
no_core,
@@ -406,6 +409,7 @@ symbols! {
406409
Pending,
407410
pin,
408411
Pin,
412+
pinned,
409413
platform_intrinsics,
410414
plugin,
411415
plugin_registrar,
@@ -569,6 +573,7 @@ symbols! {
569573
trivial_bounds,
570574
Try,
571575
try_blocks,
576+
try_trait,
572577
tuple_indexing,
573578
ty,
574579
type_alias_enum_variants,
@@ -587,6 +592,7 @@ symbols! {
587592
uniform_paths,
588593
universal_impl_trait,
589594
unmarked_api,
595+
unreachable_code,
590596
unrestricted_attribute_tokens,
591597
unsafe_destructor_blind_to_params,
592598
unsafe_no_drop_flag,
@@ -601,6 +607,7 @@ symbols! {
601607
use_nested_groups,
602608
usize,
603609
v1,
610+
val,
604611
vis,
605612
visible_private_types,
606613
volatile,

0 commit comments

Comments
 (0)