diff options
| author | Mark Rousskov <mark.simulacrum@gmail.com> | 2022-02-09 17:32:01 -0500 |
|---|---|---|
| committer | Mark Rousskov <mark.simulacrum@gmail.com> | 2022-02-20 18:58:22 -0500 |
| commit | 6f711a37e3c8c2f2cac5f38106eef709ccfc754b (patch) | |
| tree | e677a34a07f0dad20e09ea2510233693fdfada9b /compiler/rustc_serialize/src/serialize.rs | |
| parent | 19288951e1968abbfa552f6340a693d23e5e0254 (diff) | |
| download | rust-6f711a37e3c8c2f2cac5f38106eef709ccfc754b.tar.gz rust-6f711a37e3c8c2f2cac5f38106eef709ccfc754b.zip | |
Use count! macro in tuple length computation
Diffstat (limited to 'compiler/rustc_serialize/src/serialize.rs')
| -rw-r--r-- | compiler/rustc_serialize/src/serialize.rs | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/compiler/rustc_serialize/src/serialize.rs b/compiler/rustc_serialize/src/serialize.rs index 4996e02d7d7..e755991e903 100644 --- a/compiler/rustc_serialize/src/serialize.rs +++ b/compiler/rustc_serialize/src/serialize.rs @@ -591,9 +591,8 @@ macro_rules! tuple { #[allow(non_snake_case)] fn encode(&self, s: &mut S) -> Result<(), S::Error> { let ($(ref $name,)+) = *self; - let mut n = 0; - $(let $name = $name; n += 1;)+ - s.emit_tuple(n, |s| { + let len: usize = count!($($name)+); + s.emit_tuple(len, |s| { let mut i = 0; $(s.emit_tuple_arg({ i+=1; i-1 }, |s| $name.encode(s))?;)+ Ok(()) |
