From 90943d4370549acd873c2fb06c0fc36c34028f55 Mon Sep 17 00:00:00 2001 From: panstromek Date: Wed, 29 Jul 2026 01:50:00 +0200 Subject: [PATCH] Generalize Decodable impl for arrays to all types --- compiler/rustc_serialize/src/serialize.rs | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/compiler/rustc_serialize/src/serialize.rs b/compiler/rustc_serialize/src/serialize.rs index 4213d0a4650e9..32a301a28ae8e 100644 --- a/compiler/rustc_serialize/src/serialize.rs +++ b/compiler/rustc_serialize/src/serialize.rs @@ -336,15 +336,11 @@ impl, const N: usize> Encodable for [T; N] { } } -impl Decodable for [u8; N] { - fn decode(d: &mut D) -> [u8; N] { +impl, const N: usize> Decodable for [T; N] { + fn decode(d: &mut D) -> [T; N] { let len = d.read_usize(); assert!(len == N); - let mut v = [0u8; N]; - for i in 0..len { - v[i] = Decodable::decode(d); - } - v + std::array::from_fn(move |_| Decodable::decode(d)) } }