From ebe855b47a5af50f9acc7a6b265904055e403bce Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sun, 26 Jul 2026 12:00:55 +0100 Subject: Remove potentially lossy cast --- .../11-transient-0/output/rust/src/gen/data/transient_0.rs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'examples/11-transient-0/output/rust/src') diff --git a/examples/11-transient-0/output/rust/src/gen/data/transient_0.rs b/examples/11-transient-0/output/rust/src/gen/data/transient_0.rs index 7f82820..1a6a009 100644 --- a/examples/11-transient-0/output/rust/src/gen/data/transient_0.rs +++ b/examples/11-transient-0/output/rust/src/gen/data/transient_0.rs @@ -253,7 +253,7 @@ pub fn decode_struct_with_list_of_shared(reader: &mut impl std::io::Read, shared elements.push({ let id = crate::transient_0::decode_int_64(reader, shared_values)?; if id < ((shared_values.len()).try_into()).map_err(|error| ::std::io::Error::new(::std::io::ErrorKind::InvalidData, error))? { - ((::std::sync::Arc::clone(&shared_values[id as ::core::primitive::usize])).downcast()).map_err(|error| ::std::io::Error::new(::std::io::ErrorKind::InvalidData, "referenced value has wrong type"))? + ((::std::sync::Arc::clone(&shared_values[(::core::primitive::usize::try_from(id)).map_err(|error| ::std::io::Error::new(::std::io::ErrorKind::InvalidData, error))?])).downcast()).map_err(|error| ::std::io::Error::new(::std::io::ErrorKind::InvalidData, "referenced value has wrong type"))? } else { let decoded_value = ::std::sync::Arc::new(crate::data::transient_0::decode_struct_with_int_32(reader, shared_values)?); shared_values.push(::std::sync::Arc::clone(&decoded_value) as ::std::sync::Arc::); @@ -316,7 +316,7 @@ pub fn decode_struct_with_different_shared_types(reader: &mut impl std::io::Read let a = { let id = crate::transient_0::decode_int_64(reader, shared_values)?; if id < ((shared_values.len()).try_into()).map_err(|error| ::std::io::Error::new(::std::io::ErrorKind::InvalidData, error))? { - ((::std::sync::Arc::clone(&shared_values[id as ::core::primitive::usize])).downcast()).map_err(|error| ::std::io::Error::new(::std::io::ErrorKind::InvalidData, "referenced value has wrong type"))? + ((::std::sync::Arc::clone(&shared_values[(::core::primitive::usize::try_from(id)).map_err(|error| ::std::io::Error::new(::std::io::ErrorKind::InvalidData, error))?])).downcast()).map_err(|error| ::std::io::Error::new(::std::io::ErrorKind::InvalidData, "referenced value has wrong type"))? } else { let decoded_value = ::std::sync::Arc::new(crate::data::transient_0::decode_struct_with_int_32(reader, shared_values)?); shared_values.push(::std::sync::Arc::clone(&decoded_value) as ::std::sync::Arc::); @@ -326,7 +326,7 @@ pub fn decode_struct_with_different_shared_types(reader: &mut impl std::io::Read let b = { let id = crate::transient_0::decode_int_64(reader, shared_values)?; if id < ((shared_values.len()).try_into()).map_err(|error| ::std::io::Error::new(::std::io::ErrorKind::InvalidData, error))? { - ((::std::sync::Arc::clone(&shared_values[id as ::core::primitive::usize])).downcast()).map_err(|error| ::std::io::Error::new(::std::io::ErrorKind::InvalidData, "referenced value has wrong type"))? + ((::std::sync::Arc::clone(&shared_values[(::core::primitive::usize::try_from(id)).map_err(|error| ::std::io::Error::new(::std::io::ErrorKind::InvalidData, error))?])).downcast()).map_err(|error| ::std::io::Error::new(::std::io::ErrorKind::InvalidData, "referenced value has wrong type"))? } else { let decoded_value = ::std::sync::Arc::new(crate::data::transient_0::decode_struct_with_int_64(reader, shared_values)?); shared_values.push(::std::sync::Arc::clone(&decoded_value) as ::std::sync::Arc::); @@ -336,7 +336,7 @@ pub fn decode_struct_with_different_shared_types(reader: &mut impl std::io::Read let c = { let id = crate::transient_0::decode_int_64(reader, shared_values)?; if id < ((shared_values.len()).try_into()).map_err(|error| ::std::io::Error::new(::std::io::ErrorKind::InvalidData, error))? { - ((::std::sync::Arc::clone(&shared_values[id as ::core::primitive::usize])).downcast()).map_err(|error| ::std::io::Error::new(::std::io::ErrorKind::InvalidData, "referenced value has wrong type"))? + ((::std::sync::Arc::clone(&shared_values[(::core::primitive::usize::try_from(id)).map_err(|error| ::std::io::Error::new(::std::io::ErrorKind::InvalidData, error))?])).downcast()).map_err(|error| ::std::io::Error::new(::std::io::ErrorKind::InvalidData, "referenced value has wrong type"))? } else { let decoded_value = ::std::sync::Arc::new(crate::data::transient_0::decode_struct_with_int_32(reader, shared_values)?); shared_values.push(::std::sync::Arc::clone(&decoded_value) as ::std::sync::Arc::); @@ -382,7 +382,7 @@ pub fn decode_struct_with_shared_sum_and_variant(reader: &mut impl std::io::Read let a = { let id = crate::transient_0::decode_int_64(reader, shared_values)?; if id < ((shared_values.len()).try_into()).map_err(|error| ::std::io::Error::new(::std::io::ErrorKind::InvalidData, error))? { - ((::std::sync::Arc::clone(&shared_values[id as ::core::primitive::usize])).downcast()).map_err(|error| ::std::io::Error::new(::std::io::ErrorKind::InvalidData, "referenced value has wrong type"))? + ((::std::sync::Arc::clone(&shared_values[(::core::primitive::usize::try_from(id)).map_err(|error| ::std::io::Error::new(::std::io::ErrorKind::InvalidData, error))?])).downcast()).map_err(|error| ::std::io::Error::new(::std::io::ErrorKind::InvalidData, "referenced value has wrong type"))? } else { let decoded_value = ::std::sync::Arc::new(crate::data::transient_0::decode_sum_with_variants(reader, shared_values)?); shared_values.push(::std::sync::Arc::clone(&decoded_value) as ::std::sync::Arc::); @@ -392,7 +392,7 @@ pub fn decode_struct_with_shared_sum_and_variant(reader: &mut impl std::io::Read let b = { let id = crate::transient_0::decode_int_64(reader, shared_values)?; if id < ((shared_values.len()).try_into()).map_err(|error| ::std::io::Error::new(::std::io::ErrorKind::InvalidData, error))? { - ((::std::sync::Arc::clone(&shared_values[id as ::core::primitive::usize])).downcast()).map_err(|error| ::std::io::Error::new(::std::io::ErrorKind::InvalidData, "referenced value has wrong type"))? + ((::std::sync::Arc::clone(&shared_values[(::core::primitive::usize::try_from(id)).map_err(|error| ::std::io::Error::new(::std::io::ErrorKind::InvalidData, error))?])).downcast()).map_err(|error| ::std::io::Error::new(::std::io::ErrorKind::InvalidData, "referenced value has wrong type"))? } else { let decoded_value = ::std::sync::Arc::new(crate::data::transient_0::decode_variant_one(reader, shared_values)?); shared_values.push(::std::sync::Arc::clone(&decoded_value) as ::std::sync::Arc::); -- cgit v1.2.3