Skip to content

Commit

Permalink
syntax_ext: format: nest_level's are no more
Browse files Browse the repository at this point in the history
`nest_level` is long dead since cac7a20
(PR #14831), so is `check_positional_ok()`. Let's bid them farewell.
  • Loading branch information
xen0n committed May 16, 2016
1 parent 22ac88f commit 067284b
Showing 1 changed file with 4 additions and 20 deletions.
24 changes: 4 additions & 20 deletions src/libsyntax_ext/format.rs
Expand Up @@ -68,7 +68,6 @@ struct Context<'a, 'b:'a> {
name_positions: HashMap<String, usize>,

/// Updated as arguments are consumed or methods are entered
nest_level: usize,
next_arg: usize,
}

Expand Down Expand Up @@ -164,9 +163,7 @@ impl<'a, 'b> Context<'a, 'b> {
let pos = match arg.position {
parse::ArgumentNext => {
let i = self.next_arg;
if self.check_positional_ok() {
self.next_arg += 1;
}
self.next_arg += 1;
Exact(i)
}
parse::ArgumentIs(i) => Exact(i),
Expand All @@ -189,25 +186,13 @@ impl<'a, 'b> Context<'a, 'b> {
self.verify_arg_type(Named(s.to_string()), Unsigned);
}
parse::CountIsNextParam => {
if self.check_positional_ok() {
let next_arg = self.next_arg;
self.verify_arg_type(Exact(next_arg), Unsigned);
self.next_arg += 1;
}
let next_arg = self.next_arg;
self.verify_arg_type(Exact(next_arg), Unsigned);
self.next_arg += 1;
}
}
}

fn check_positional_ok(&mut self) -> bool {
if self.nest_level != 0 {
self.ecx.span_err(self.fmtsp, "cannot use implicit positional \
arguments nested inside methods");
false
} else {
true
}
}

fn describe_num_args(&self) -> String {
match self.args.len() {
0 => "no arguments given".to_string(),
Expand Down Expand Up @@ -655,7 +640,6 @@ pub fn expand_preparsed_format_args(ecx: &mut ExtCtxt, sp: Span,
name_positions: HashMap::new(),
name_types: HashMap::new(),
name_ordering: name_ordering,
nest_level: 0,
next_arg: 0,
literal: String::new(),
pieces: Vec::new(),
Expand Down

0 comments on commit 067284b

Please sign in to comment.