Skip to content

Commit

Permalink
Remove gensym from format_args
Browse files Browse the repository at this point in the history
  • Loading branch information
matthewjasper committed Aug 5, 2019
1 parent 7b41fd2 commit d9d9246
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 12 deletions.
2 changes: 0 additions & 2 deletions src/libcore/macros.rs
Original file line number Diff line number Diff line change
Expand Up @@ -767,7 +767,6 @@ pub(crate) mod builtin {
#[stable(feature = "rust1", since = "1.0.0")]
#[allow_internal_unstable(fmt_internals)]
#[rustc_builtin_macro]
#[rustc_macro_transparency = "semitransparent"]
pub macro format_args {
($fmt:expr) => ({ /* compiler built-in */ }),
($fmt:expr, $($args:tt)*) => ({ /* compiler built-in */ })
Expand All @@ -779,7 +778,6 @@ pub(crate) mod builtin {
language use and is subject to change")]
#[allow_internal_unstable(fmt_internals)]
#[rustc_builtin_macro]
#[rustc_macro_transparency = "semitransparent"]
pub macro format_args_nl {
($fmt:expr) => ({ /* compiler built-in */ }),
($fmt:expr, $($args:tt)*) => ({ /* compiler built-in */ })
Expand Down
4 changes: 2 additions & 2 deletions src/libsyntax_ext/format.rs
Original file line number Diff line number Diff line change
Expand Up @@ -646,7 +646,7 @@ impl<'a, 'b> Context<'a, 'b> {
let mut heads = Vec::with_capacity(self.args.len());

let names_pos: Vec<_> = (0..self.args.len())
.map(|i| self.ecx.ident_of(&format!("arg{}", i)).gensym())
.map(|i| ast::Ident::from_str_and_span(&format!("arg{}", i), self.macsp))
.collect();

// First, build up the static array which will become our precompiled
Expand Down Expand Up @@ -843,7 +843,7 @@ pub fn expand_preparsed_format_args(
let arg_unique_types: Vec<_> = (0..args.len()).map(|_| Vec::new()).collect();

let mut macsp = ecx.call_site();
macsp = macsp.apply_mark(ecx.current_expansion.id);
macsp = macsp.with_ctxt(ecx.backtrace());

let msg = "format argument must be a string literal";
let fmt_sp = efmt.span;
Expand Down
8 changes: 0 additions & 8 deletions src/test/ui/format-hygiene.rs

This file was deleted.

12 changes: 12 additions & 0 deletions src/test/ui/hygiene/format-args.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
// check-pass

#![allow(non_upper_case_globals)]
#![feature(format_args_nl)]

static arg0: () = ();

fn main() {
static arg1: () = ();
format_args!("{} {:?}", 0, 1);
format_args_nl!("{} {:?}", 0, 1);
}

0 comments on commit d9d9246

Please sign in to comment.