From be3724fb7cd416ad3d7016fd3917f0f6a68714c8 Mon Sep 17 00:00:00 2001 From: Nicholas Nethercote Date: Fri, 17 May 2019 15:21:31 +1000 Subject: [PATCH] Change `rustc::util::common::FN_OUTPUT_NAME` to a `Symbol`. --- src/librustc/hir/lowering.rs | 4 ++-- src/librustc/traits/project.rs | 2 +- src/librustc/util/common.rs | 3 ++- src/libsyntax_pos/symbol.rs | 1 + 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/librustc/hir/lowering.rs b/src/librustc/hir/lowering.rs index 3a8b139236c..08372207d9a 100644 --- a/src/librustc/hir/lowering.rs +++ b/src/librustc/hir/lowering.rs @@ -2218,7 +2218,7 @@ fn lower_parenthesized_parameter_data( bindings: hir_vec![ hir::TypeBinding { hir_id: this.next_id(), - ident: Ident::from_str(FN_OUTPUT_NAME), + ident: Ident::with_empty_ctxt(FN_OUTPUT_NAME), ty: output .as_ref() .map(|ty| this.lower_ty(&ty, ImplTraitContext::disallowed())) @@ -2543,7 +2543,7 @@ fn lower_async_fn_output_type_to_future_bound( let future_params = P(hir::GenericArgs { args: hir_vec![], bindings: hir_vec![hir::TypeBinding { - ident: Ident::from_str(FN_OUTPUT_NAME), + ident: Ident::with_empty_ctxt(FN_OUTPUT_NAME), ty: output_ty, hir_id: self.next_id(), span, diff --git a/src/librustc/traits/project.rs b/src/librustc/traits/project.rs index f05a1937291..67e76f7625c 100644 --- a/src/librustc/traits/project.rs +++ b/src/librustc/traits/project.rs @@ -1421,7 +1421,7 @@ fn confirm_callable_candidate<'cx, 'gcx, 'tcx>( projection_ty: ty::ProjectionTy::from_ref_and_name( tcx, trait_ref, - Ident::from_str(FN_OUTPUT_NAME), + Ident::with_empty_ctxt(FN_OUTPUT_NAME), ), ty: ret_type } diff --git a/src/librustc/util/common.rs b/src/librustc/util/common.rs index 26194176350..67eaa19c080 100644 --- a/src/librustc/util/common.rs +++ b/src/librustc/util/common.rs @@ -11,6 +11,7 @@ use std::sync::mpsc::{Sender}; use syntax_pos::{SpanData}; +use syntax::symbol::{Symbol, sym}; use rustc_macros::HashStable; use crate::ty::TyCtxt; use crate::dep_graph::{DepNode}; @@ -18,7 +19,7 @@ use crate::session::Session; // The name of the associated type for `Fn` return types -pub const FN_OUTPUT_NAME: &str = "Output"; +pub const FN_OUTPUT_NAME: Symbol = sym::Output; // Useful type to use with `Result<>` indicate that an error has already // been reported to the user, so no need to continue checking. diff --git a/src/libsyntax_pos/symbol.rs b/src/libsyntax_pos/symbol.rs index c2a18c9df83..551ace3bdaf 100644 --- a/src/libsyntax_pos/symbol.rs +++ b/src/libsyntax_pos/symbol.rs @@ -385,6 +385,7 @@ option, Option, opt_out_copy, + Output, overlapping_marker_traits, packed, panic_handler, -- 2.44.0