Skip to content

Commit 6c665a6

Browse files
committed
Pass Hrp by reference
The `Hrp` type is a struct containing an 83 byte arary, as such it should be passed by reference (borrowed) not copied.
1 parent d58e764 commit 6c665a6

File tree

2 files changed

+19
-19
lines changed

2 files changed

+19
-19
lines changed

src/lib.rs

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,7 @@ pub fn decode(s: &str) -> Result<(Hrp, Vec<u8>), DecodeError> {
215215
/// `Ck` algorithm (`NoChecksum` to exclude checksum all together).
216216
#[cfg(feature = "alloc")]
217217
#[inline]
218-
pub fn encode<Ck: Checksum>(hrp: Hrp, data: &[u8]) -> Result<String, fmt::Error> {
218+
pub fn encode<Ck: Checksum>(hrp: &Hrp, data: &[u8]) -> Result<String, fmt::Error> {
219219
encode_lower::<Ck>(hrp, data)
220220
}
221221

@@ -225,7 +225,7 @@ pub fn encode<Ck: Checksum>(hrp: Hrp, data: &[u8]) -> Result<String, fmt::Error>
225225
/// `Ck` algorithm (`NoChecksum` to exclude checksum all together).
226226
#[cfg(feature = "alloc")]
227227
#[inline]
228-
pub fn encode_lower<Ck: Checksum>(hrp: Hrp, data: &[u8]) -> Result<String, fmt::Error> {
228+
pub fn encode_lower<Ck: Checksum>(hrp: &Hrp, data: &[u8]) -> Result<String, fmt::Error> {
229229
let mut buf = String::new();
230230
encode_lower_to_fmt::<Ck, String>(&mut buf, hrp, data)?;
231231
Ok(buf)
@@ -237,7 +237,7 @@ pub fn encode_lower<Ck: Checksum>(hrp: Hrp, data: &[u8]) -> Result<String, fmt::
237237
/// `Ck` algorithm (`NoChecksum` to exclude checksum all together).
238238
#[cfg(feature = "alloc")]
239239
#[inline]
240-
pub fn encode_upper<Ck: Checksum>(hrp: Hrp, data: &[u8]) -> Result<String, fmt::Error> {
240+
pub fn encode_upper<Ck: Checksum>(hrp: &Hrp, data: &[u8]) -> Result<String, fmt::Error> {
241241
let mut buf = String::new();
242242
encode_upper_to_fmt::<Ck, String>(&mut buf, hrp, data)?;
243243
Ok(buf)
@@ -250,7 +250,7 @@ pub fn encode_upper<Ck: Checksum>(hrp: Hrp, data: &[u8]) -> Result<String, fmt::
250250
#[inline]
251251
pub fn encode_to_fmt<Ck: Checksum, W: fmt::Write>(
252252
fmt: &mut W,
253-
hrp: Hrp,
253+
hrp: &Hrp,
254254
data: &[u8],
255255
) -> Result<(), fmt::Error> {
256256
encode_lower_to_fmt::<Ck, W>(fmt, hrp, data)
@@ -263,11 +263,11 @@ pub fn encode_to_fmt<Ck: Checksum, W: fmt::Write>(
263263
#[inline]
264264
pub fn encode_lower_to_fmt<Ck: Checksum, W: fmt::Write>(
265265
fmt: &mut W,
266-
hrp: Hrp,
266+
hrp: &Hrp,
267267
data: &[u8],
268268
) -> Result<(), fmt::Error> {
269269
let iter = data.iter().copied().bytes_to_fes();
270-
let chars = iter.with_checksum::<Ck>(&hrp).chars();
270+
let chars = iter.with_checksum::<Ck>(hrp).chars();
271271
for c in chars {
272272
fmt.write_char(c)?;
273273
}
@@ -281,11 +281,11 @@ pub fn encode_lower_to_fmt<Ck: Checksum, W: fmt::Write>(
281281
#[inline]
282282
pub fn encode_upper_to_fmt<Ck: Checksum, W: fmt::Write>(
283283
fmt: &mut W,
284-
hrp: Hrp,
284+
hrp: &Hrp,
285285
data: &[u8],
286286
) -> Result<(), fmt::Error> {
287287
let iter = data.iter().copied().bytes_to_fes();
288-
let chars = iter.with_checksum::<Ck>(&hrp).chars();
288+
let chars = iter.with_checksum::<Ck>(hrp).chars();
289289
for c in chars {
290290
fmt.write_char(c.to_ascii_uppercase())?;
291291
}
@@ -300,7 +300,7 @@ pub fn encode_upper_to_fmt<Ck: Checksum, W: fmt::Write>(
300300
#[inline]
301301
pub fn encode_to_writer<Ck: Checksum, W: std::io::Write>(
302302
w: &mut W,
303-
hrp: Hrp,
303+
hrp: &Hrp,
304304
data: &[u8],
305305
) -> Result<(), std::io::Error> {
306306
encode_lower_to_writer::<Ck, W>(w, hrp, data)
@@ -314,11 +314,11 @@ pub fn encode_to_writer<Ck: Checksum, W: std::io::Write>(
314314
#[inline]
315315
pub fn encode_lower_to_writer<Ck: Checksum, W: std::io::Write>(
316316
w: &mut W,
317-
hrp: Hrp,
317+
hrp: &Hrp,
318318
data: &[u8],
319319
) -> Result<(), std::io::Error> {
320320
let iter = data.iter().copied().bytes_to_fes();
321-
let chars = iter.with_checksum::<Ck>(&hrp).chars();
321+
let chars = iter.with_checksum::<Ck>(hrp).chars();
322322
for c in chars {
323323
w.write_all(&[c as u8])?;
324324
}
@@ -333,11 +333,11 @@ pub fn encode_lower_to_writer<Ck: Checksum, W: std::io::Write>(
333333
#[inline]
334334
pub fn encode_upper_to_writer<Ck: Checksum, W: std::io::Write>(
335335
w: &mut W,
336-
hrp: Hrp,
336+
hrp: &Hrp,
337337
data: &[u8],
338338
) -> Result<(), std::io::Error> {
339339
let iter = data.iter().copied().bytes_to_fes();
340-
let chars = iter.with_checksum::<Ck>(&hrp).chars();
340+
let chars = iter.with_checksum::<Ck>(hrp).chars();
341341
for c in chars {
342342
w.write_all(&[c.to_ascii_uppercase() as u8])?;
343343
}
@@ -403,15 +403,15 @@ mod tests {
403403
#[test]
404404
fn encode_bech32m() {
405405
let hrp = Hrp::parse_unchecked("test");
406-
let got = encode::<Bech32m>(hrp, &DATA).expect("failed to encode");
406+
let got = encode::<Bech32m>(&hrp, &DATA).expect("failed to encode");
407407
let want = "test1lu08d6qejxtdg4y5r3zarvary0c5xw7kmz4lky";
408408
assert_eq!(got, want);
409409
}
410410

411411
#[test]
412412
fn encode_bech32_lower() {
413413
let hrp = Hrp::parse_unchecked("test");
414-
let got = encode_lower::<Bech32>(hrp, &DATA).expect("failed to encode");
414+
let got = encode_lower::<Bech32>(&hrp, &DATA).expect("failed to encode");
415415
let want = "test1lu08d6qejxtdg4y5r3zarvary0c5xw7kw79nnx";
416416
assert_eq!(got, want);
417417
}
@@ -421,7 +421,7 @@ mod tests {
421421
fn encode_bech32_lower_to_writer() {
422422
let hrp = Hrp::parse_unchecked("test");
423423
let mut buf = Vec::new();
424-
encode_lower_to_writer::<Bech32, _>(&mut buf, hrp, &DATA).expect("failed to encode");
424+
encode_lower_to_writer::<Bech32, _>(&mut buf, &hrp, &DATA).expect("failed to encode");
425425

426426
let got = std::str::from_utf8(&buf).expect("ascii is valid utf8");
427427
let want = "test1lu08d6qejxtdg4y5r3zarvary0c5xw7kw79nnx";
@@ -431,7 +431,7 @@ mod tests {
431431
#[test]
432432
fn encode_bech32_upper() {
433433
let hrp = Hrp::parse_unchecked("test");
434-
let got = encode_upper::<Bech32>(hrp, &DATA).expect("failed to encode");
434+
let got = encode_upper::<Bech32>(&hrp, &DATA).expect("failed to encode");
435435
let want = "TEST1LU08D6QEJXTDG4Y5R3ZARVARY0C5XW7KW79NNX";
436436
assert_eq!(got, want);
437437
}
@@ -441,7 +441,7 @@ mod tests {
441441
fn encode_bech32_upper_to_writer() {
442442
let hrp = Hrp::parse_unchecked("test");
443443
let mut buf = Vec::new();
444-
encode_upper_to_writer::<Bech32, _>(&mut buf, hrp, &DATA).expect("failed to encode");
444+
encode_upper_to_writer::<Bech32, _>(&mut buf, &hrp, &DATA).expect("failed to encode");
445445

446446
let got = std::str::from_utf8(&buf).expect("ascii is valid utf8");
447447
let want = "TEST1LU08D6QEJXTDG4Y5R3ZARVARY0C5XW7KW79NNX";

src/primitives/decode.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -942,7 +942,7 @@ mod tests {
942942
"an83characterlonghumanreadablepartthatcontainsthenumber1andtheexcludedcharactersbio";
943943

944944
let hrp = Hrp::parse_unchecked(hrps);
945-
let s = crate::encode::<Bech32>(hrp, &[]).expect("failed to encode empty buffer");
945+
let s = crate::encode::<Bech32>(&hrp, &[]).expect("failed to encode empty buffer");
946946

947947
let unchecked = UncheckedHrpstring::new(&s).expect("failed to parse address");
948948
assert_eq!(unchecked.hrp(), hrp);

0 commit comments

Comments
 (0)