diff options
| author | Wang Xuerui <idontknw.wang@gmail.com> | 2016-07-29 16:40:10 +0800 |
|---|---|---|
| committer | Wang Xuerui <idontknw.wang@gmail.com> | 2016-07-29 16:40:10 +0800 |
| commit | 2a41b31a88356d5a772cb644ab8d29af0bf44742 (patch) | |
| tree | 9a54f52e40d90eb3eefcfd0730637eb1b85daee7 /src/libsyntax_ext | |
| parent | d9a911d236cbecb47775276ba51a5f9111bdbc9c (diff) | |
| download | rust-2a41b31a88356d5a772cb644ab8d29af0bf44742.tar.gz rust-2a41b31a88356d5a772cb644ab8d29af0bf44742.zip | |
syntax_ext: format: fix ICE with bad named arguments
Diffstat (limited to 'src/libsyntax_ext')
| -rw-r--r-- | src/libsyntax_ext/format.rs | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/libsyntax_ext/format.rs b/src/libsyntax_ext/format.rs index 94bb78edaac..1f6f57c70f7 100644 --- a/src/libsyntax_ext/format.rs +++ b/src/libsyntax_ext/format.rs @@ -406,7 +406,9 @@ impl<'a, 'b> Context<'a, 'b> { let arg_idx = match arg_index_consumed.get_mut(i) { None => 0, // error already emitted elsewhere Some(offset) => { - let arg_idx = self.arg_index_map[i][*offset]; + let ref idx_map = self.arg_index_map[i]; + // unwrap_or branch: error already emitted elsewhere + let arg_idx = *idx_map.get(*offset).unwrap_or(&0); *offset += 1; arg_idx } |
