File tree 3 files changed +12
-14
lines changed
3 files changed +12
-14
lines changed Original file line number Diff line number Diff line change @@ -49,8 +49,7 @@ if [ "${DO_FEATURE_MATRIX-false}" = true ]; then
49
49
build_and_test " alloc"
50
50
build_and_test " std alloc"
51
51
# arrayvec breaks the MSRV
52
- if [ $MSRV = false
53
- ]; then
52
+ if [ $MSRV = false ]; then
54
53
build_and_test " arrayvec"
55
54
build_and_test " std arrayvec"
56
55
build_and_test " alloc arrayvec"
Original file line number Diff line number Diff line change @@ -411,8 +411,8 @@ mod tests {
411
411
412
412
#[ test]
413
413
fn from_char ( ) {
414
- for c in CHARS_LOWER {
415
- assert ! ( Fe32 :: from_char( c) . is_ok( ) )
414
+ for c in & CHARS_LOWER [ .. ] {
415
+ assert ! ( Fe32 :: from_char( * c) . is_ok( ) )
416
416
}
417
417
}
418
418
@@ -426,8 +426,8 @@ mod tests {
426
426
427
427
#[ test]
428
428
fn mul_zero ( ) {
429
- for c in CHARS_LOWER {
430
- let fe = Fe32 :: from_char ( c) . unwrap ( ) ;
429
+ for c in & CHARS_LOWER [ .. ] {
430
+ let fe = Fe32 :: from_char ( * c) . unwrap ( ) ;
431
431
assert_eq ! ( fe. _mul( Fe32 :: Q ) , Fe32 :: Q ) // Fe32::Q == Fe32(0)
432
432
}
433
433
}
@@ -446,8 +446,8 @@ mod tests {
446
446
447
447
#[ test]
448
448
fn mul_one ( ) {
449
- for c in CHARS_LOWER {
450
- let fe = Fe32 :: from_char ( c) . unwrap ( ) ;
449
+ for c in & CHARS_LOWER [ .. ] {
450
+ let fe = Fe32 :: from_char ( * c) . unwrap ( ) ;
451
451
assert_eq ! ( fe * Fe32 :: P , fe) // Fe32::P == Fe32(1)
452
452
}
453
453
}
Original file line number Diff line number Diff line change @@ -46,23 +46,22 @@ impl Hrp {
46
46
47
47
/// Parses the human-readable part (see [`Hrp::parse`] for full docs).
48
48
///
49
- /// # Panics
50
- ///
51
- /// If the string is invalid as defined by BIP-173.
49
+ /// Does not check that `hrp` is valid according to BIP-173 but does check for valid ASCII
50
+ /// values, replacing any invalid characters with `X`.
52
51
pub const fn parse_unchecked ( hrp : & str ) -> Self {
53
52
let mut new = Hrp { buf : [ 0_u8 ; MAX_HRP_LEN ] , size : 0 } ;
54
53
let hrp_bytes = hrp. as_bytes ( ) ;
55
54
56
55
let mut i = 0 ;
57
56
// Funky code so we can be const.
58
57
while i < hrp. len ( ) {
59
- let b = hrp_bytes[ i] ;
58
+ let mut b = hrp_bytes[ i] ;
60
59
// Valid subset of ASCII
61
60
if b < 33 || b > 126 {
62
- panic ! ( "invalid hrp" ) ;
61
+ b = b'X' ;
63
62
}
64
63
65
- new. buf [ i] = hrp_bytes [ i ] ;
64
+ new. buf [ i] = b ;
66
65
new. size += 1 ;
67
66
i += 1 ;
68
67
}
You can’t perform that action at this time.
0 commit comments