about summary refs log tree commit diff
path: root/compiler/rustc_serialize/src/serialize.rs
diff options
context:
space:
mode:
authorMark Rousskov <mark.simulacrum@gmail.com>2022-02-09 17:32:01 -0500
committerMark Rousskov <mark.simulacrum@gmail.com>2022-02-20 18:58:22 -0500
commit6f711a37e3c8c2f2cac5f38106eef709ccfc754b (patch)
treee677a34a07f0dad20e09ea2510233693fdfada9b /compiler/rustc_serialize/src/serialize.rs
parent19288951e1968abbfa552f6340a693d23e5e0254 (diff)
downloadrust-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.rs5
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(())