]> git.lizzy.rs Git - rust.git/commitdiff
Use count! macro in tuple length computation
authorMark Rousskov <mark.simulacrum@gmail.com>
Wed, 9 Feb 2022 22:32:01 +0000 (17:32 -0500)
committerMark Rousskov <mark.simulacrum@gmail.com>
Sun, 20 Feb 2022 23:58:22 +0000 (18:58 -0500)
compiler/rustc_serialize/src/serialize.rs

index 4996e02d7d784ee9502861f9ef22845a7abbaf3f..e755991e90316574c62ddde869ce3d780c8977ce 100644 (file)
@@ -591,9 +591,8 @@ impl<S: Encoder, $($name: Encodable<S>),+> Encodable<S> for ($($name,)+) {
             #[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(())