Skip to content

Commit

Permalink
[Rust] Take slices by reference. (real-logic#979)
Browse files Browse the repository at this point in the history
  • Loading branch information
gierlachg committed Mar 21, 2024
1 parent 6d3f6b6 commit 7800371
Show file tree
Hide file tree
Showing 5 changed files with 14 additions and 14 deletions.
6 changes: 3 additions & 3 deletions rust/tests/baseline_test.rs
Original file line number Diff line number Diff line change
Expand Up @@ -176,8 +176,8 @@ fn encode_car_from_scratch() -> SbeResult<(usize, Vec<u8>)> {
car.model_year(2013);
car.available(BooleanType::T);
car.code(Model::A);
car.some_numbers([1, 2, 3, 4]);
car.vehicle_code([97, 98, 99, 100, 101, 102]); // abcdef
car.some_numbers(&[1, 2, 3, 4]);
car.vehicle_code(&[97, 98, 99, 100, 101, 102]); // abcdef

extras.set_cruise_control(true);
extras.set_sports_pack(true);
Expand All @@ -187,7 +187,7 @@ fn encode_car_from_scratch() -> SbeResult<(usize, Vec<u8>)> {
let mut engine = car.engine_encoder();
engine.capacity(2000);
engine.num_cylinders(4);
engine.manufacturer_code([49, 50, 51]); // 123
engine.manufacturer_code(&[49, 50, 51]); // 123
engine.efficiency(35);
engine.booster_enabled(BooleanType::T);
let mut booster = engine.booster_encoder();
Expand Down
6 changes: 3 additions & 3 deletions rust/tests/big_endian_test.rs
Original file line number Diff line number Diff line change
Expand Up @@ -170,8 +170,8 @@ fn encode_car_from_scratch() -> SbeResult<(usize, Vec<u8>)> {
car.model_year(2013);
car.available(BooleanType::T);
car.code(Model::A);
car.some_numbers([0, 1, 2, 3, 4]);
car.vehicle_code(*b"abcdef");
car.some_numbers(&[0, 1, 2, 3, 4]);
car.vehicle_code(b"abcdef");

extras.set_cruise_control(true);
extras.set_sports_pack(true);
Expand All @@ -181,7 +181,7 @@ fn encode_car_from_scratch() -> SbeResult<(usize, Vec<u8>)> {
let mut engine = car.engine_encoder();
engine.capacity(2000);
engine.num_cylinders(4);
engine.manufacturer_code(*b"123");
engine.manufacturer_code(b"123");
engine.efficiency(35);
engine.booster_enabled(BooleanType::T);
let mut booster = engine.booster_encoder();
Expand Down
6 changes: 3 additions & 3 deletions rust/tests/extension_test.rs
Original file line number Diff line number Diff line change
Expand Up @@ -177,8 +177,8 @@ fn encode_car_from_scratch() -> SbeResult<(usize, Vec<u8>)> {
car.model_year(2013);
car.available(BooleanType::T);
car.code(Model::A);
car.some_numbers([0, 1, 2, 3]);
car.vehicle_code([97, 98, 99, 100, 101, 102]); // abcdef
car.some_numbers(&[0, 1, 2, 3]);
car.vehicle_code(&[97, 98, 99, 100, 101, 102]); // abcdef

extras.set_cruise_control(true);
extras.set_sports_pack(true);
Expand All @@ -188,7 +188,7 @@ fn encode_car_from_scratch() -> SbeResult<(usize, Vec<u8>)> {
let mut engine = car.engine_encoder();
engine.capacity(2000);
engine.num_cylinders(4);
engine.manufacturer_code([49, 50, 51]); // 123
engine.manufacturer_code(&[49, 50, 51]); // 123
engine.efficiency(35);
engine.booster_enabled(BooleanType::T);
let mut booster = engine.booster_encoder();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ void generate() throws IOException
{
indent(libRs, 0, "#![forbid(unsafe_code)]\n");
indent(libRs, 0, "#![allow(clippy::upper_case_acronyms)]\n");
indent(libRs, 0, "#![allow(non_camel_case_types)]\n");
indent(libRs, 0, "#![allow(non_camel_case_types)]\n\n");
indent(libRs, 0, "use ::core::{convert::TryInto};\n\n");

final ArrayList<String> modules = new ArrayList<>();
Expand Down Expand Up @@ -225,8 +225,8 @@ static void generateWriteBuf(final Writer writer, final ByteOrder byteOrder) thr

indent(writer, 1, "#[inline]\n");
indent(writer, 1,
"pub fn put_bytes_at<const COUNT: usize>(&mut self, index: usize, bytes: [u8; COUNT]) -> usize {\n");
indent(writer, 2, "self.data[index..index + COUNT].copy_from_slice(&bytes);\n");
"pub fn put_bytes_at<const COUNT: usize>(&mut self, index: usize, bytes: &[u8; COUNT]) -> usize {\n");
indent(writer, 2, "self.data[index..index + COUNT].copy_from_slice(bytes);\n");
indent(writer, 2, "COUNT\n");
indent(writer, 1, "}\n\n");

Expand All @@ -245,7 +245,7 @@ static void generateWriteBuf(final Writer writer, final ByteOrder byteOrder) thr
// put_<primitive>_at
indent(writer, 1, "#[inline]\n");
indent(writer, 1, "pub fn put_%1$s_at(&mut self, index: usize, value: %1$s) {\n", primitiveType);
indent(writer, 2, "self.put_bytes_at(index, %s::to_%s_bytes(value));\n", primitiveType, endianness);
indent(writer, 2, "self.put_bytes_at(index, &%s::to_%s_bytes(value));\n", primitiveType, endianness);
indent(writer, 1, "}\n\n");
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -379,7 +379,7 @@ private static void generatePrimitiveEncoder(
indent(sb, level, "/// - encodedLength: %d\n", typeToken.encodedLength());
indent(sb, level, "/// - version: %d\n", typeToken.version());
indent(sb, level, "#[inline]\n");
indent(sb, level, "pub fn %s(&mut self, value: [%s; %d]) {\n",
indent(sb, level, "pub fn %s(&mut self, value: &[%s; %d]) {\n",
formatFunctionName(name),
rustPrimitiveType,
arrayLength);
Expand Down

0 comments on commit 7800371

Please sign in to comment.