Artifact
98c5a42df066f1639688919741b16b894aaf254157120baef66cdc64a230608b :
Manifest of check-in
[98c5a42df0]
- ensure!() we don't panic but instead return Result whenever possible,
convert error handling a little, add TODO for unwrap(), more sanity checks,
simplify and expand testing
by
arcade on
2026-08-01 18:47:58 .
0000: 43 20 65 6e 73 75 72 65 21 28 29 5c 73 77 65 5c C ensure!()\swe\
0010: 73 64 6f 6e 27 74 5c 73 70 61 6e 69 63 5c 73 62 sdon't\spanic\sb
0020: 75 74 5c 73 69 6e 73 74 65 61 64 5c 73 72 65 74 ut\sinstead\sret
0030: 75 72 6e 5c 73 52 65 73 75 6c 74 5c 73 77 68 65 urn\sResult\swhe
0040: 6e 65 76 65 72 5c 73 70 6f 73 73 69 62 6c 65 2c never\spossible,
0050: 5c 6e 63 6f 6e 76 65 72 74 5c 73 65 72 72 6f 72 \nconvert\serror
0060: 5c 73 68 61 6e 64 6c 69 6e 67 5c 73 61 5c 73 6c \shandling\sa\sl
0070: 69 74 74 6c 65 2c 5c 73 61 64 64 5c 73 54 4f 44 ittle,\sadd\sTOD
0080: 4f 5c 73 66 6f 72 5c 73 75 6e 77 72 61 70 28 29 O\sfor\sunwrap()
0090: 2c 5c 73 6d 6f 72 65 5c 73 73 61 6e 69 74 79 5c ,\smore\ssanity\
00a0: 73 63 68 65 63 6b 73 2c 5c 6e 73 69 6d 70 6c 69 schecks,\nsimpli
00b0: 66 79 5c 73 61 6e 64 5c 73 65 78 70 61 6e 64 5c fy\sand\sexpand\
00c0: 73 74 65 73 74 69 6e 67 0a 44 20 32 30 32 36 2d stesting.D 2026-
00d0: 30 38 2d 30 31 54 31 38 3a 34 37 3a 35 38 2e 35 08-01T18:47:58.5
00e0: 31 39 0a 46 20 2e 66 6f 73 73 69 6c 2d 73 65 74 19.F .fossil-set
00f0: 74 69 6e 67 73 2f 69 67 6e 6f 72 65 2d 67 6c 6f tings/ignore-glo
0100: 62 20 30 39 66 39 30 62 33 65 66 32 63 39 33 33 b 09f90b3ef2c933
0110: 35 36 36 62 63 37 65 34 64 35 39 33 34 61 32 66 566bc7e4d5934a2f
0120: 31 32 37 62 37 62 63 63 36 37 33 33 64 65 64 66 127b7bcc6733dedf
0130: 38 65 38 37 39 66 65 37 37 63 31 64 35 34 62 39 8e879fe77c1d54b9
0140: 62 64 0a 46 20 2e 67 69 74 68 75 62 2f 64 65 70 bd.F .github/dep
0150: 65 6e 64 61 62 6f 74 2e 79 6d 6c 20 34 61 61 34 endabot.yml 4aa4
0160: 36 31 61 37 31 32 66 30 36 61 33 34 62 35 38 65 61a712f06a34b58e
0170: 30 39 64 30 64 66 64 30 38 62 30 65 34 61 34 34 09d0dfd08b0e4a44
0180: 39 31 35 37 62 62 62 64 65 30 61 32 64 39 30 66 9157bbbde0a2d90f
0190: 33 33 66 39 63 34 63 62 32 66 65 66 0a 46 20 2e 33f9c4cb2fef.F .
01a0: 67 69 74 68 75 62 2f 77 6f 72 6b 66 6c 6f 77 73 github/workflows
01b0: 2f 72 75 73 74 2d 63 6c 69 70 70 79 2e 79 6d 6c /rust-clippy.yml
01c0: 20 38 65 61 63 63 35 36 64 66 64 36 37 64 38 32 8eacc56dfd67d82
01d0: 37 37 38 32 37 38 39 39 37 37 38 37 31 31 65 65 77827899778711ee
01e0: 61 64 65 65 64 39 36 63 64 39 37 37 34 62 34 38 adeed96cd9774b48
01f0: 33 62 62 31 62 64 34 65 62 33 31 34 66 33 34 30 3bb1bd4eb314f340
0200: 31 0a 46 20 43 61 72 67 6f 2e 6c 6f 63 6b 20 39 1.F Cargo.lock 9
0210: 62 37 39 39 64 64 62 62 66 61 64 63 30 36 35 64 b799ddbbfadc065d
0220: 63 36 30 65 61 66 33 66 65 32 33 63 31 35 31 35 c60eaf3fe23c1515
0230: 37 30 37 62 64 38 35 30 38 62 34 32 34 36 39 39 707bd8508b424699
0240: 32 62 61 64 30 63 36 66 32 66 34 35 62 33 62 0a 2bad0c6f2f45b3b.
0250: 46 20 43 61 72 67 6f 2e 74 6f 6d 6c 20 32 62 62 F Cargo.toml 2bb
0260: 37 65 63 63 30 36 64 33 61 38 31 61 63 61 64 61 7ecc06d3a81acada
0270: 39 32 34 33 32 34 31 30 31 33 31 66 30 65 64 61 92432410131f0eda
0280: 64 37 31 35 34 64 66 62 33 34 61 36 63 35 39 37 d7154dfb34a6c597
0290: 31 65 63 65 35 66 65 31 31 31 62 33 38 0a 46 20 1ece5fe111b38.F
02a0: 4c 49 43 45 4e 53 45 2e 30 42 53 44 20 63 61 38 LICENSE.0BSD ca8
02b0: 39 31 37 34 35 61 66 62 38 36 37 31 64 61 33 32 91745afb8671da32
02c0: 30 33 33 64 37 30 37 30 34 37 63 31 64 39 39 36 033d707047c1d996
02d0: 30 30 62 30 66 33 34 32 30 39 35 66 33 65 33 65 00b0f342095f3e3e
02e0: 66 34 66 37 35 63 33 37 61 66 65 36 31 0a 46 20 f4f75c37afe61.F
02f0: 52 45 41 44 4d 45 2e 6d 64 20 34 62 37 34 64 61 README.md 4b74da
0300: 66 66 63 63 62 37 32 65 39 66 66 33 36 61 64 36 ffccb72e9ff36ad6
0310: 34 38 65 30 33 62 63 61 62 33 35 35 62 31 37 62 48e03bcab355b17b
0320: 32 35 36 38 34 62 34 34 63 62 31 65 36 34 64 63 25684b44cb1e64dc
0330: 37 61 37 36 39 33 37 61 36 64 0a 46 20 64 65 6e 7a76937a6d.F den
0340: 79 2e 74 6f 6d 6c 20 62 64 35 30 31 30 32 38 39 y.toml bd5010289
0350: 36 64 34 37 63 39 62 63 63 66 62 62 61 35 30 32 6d47c9bccfbba502
0360: 38 30 34 32 63 31 30 62 62 31 63 37 65 64 35 39 8042c10bb1c7ed59
0370: 31 36 37 31 30 64 62 31 66 64 30 63 36 62 64 32 16710db1fd0c6bd2
0380: 61 64 39 36 33 37 36 0a 46 20 73 6d 74 70 32 74 ad96376.F smtp2t
0390: 67 2e 74 6f 6d 6c 2e 65 78 61 6d 70 6c 65 20 34 g.toml.example 4
03a0: 34 38 65 38 65 35 64 32 30 38 35 33 37 30 34 31 48e8e5d208537041
03b0: 35 34 37 32 64 66 38 34 30 33 63 38 63 35 64 33 5472df8403c8c5d3
03c0: 38 64 34 34 34 62 35 64 36 34 35 61 34 35 33 63 8d444b5d645a453c
03d0: 36 38 61 38 31 33 34 62 64 34 64 62 31 66 35 0a 68a8134bd4db1f5.
03e0: 46 20 73 72 63 2f 6c 69 62 2e 72 73 20 39 38 34 F src/lib.rs 984
03f0: 66 63 33 30 37 66 38 37 30 62 33 31 62 39 31 35 fc307f870b31b915
0400: 62 63 62 62 30 38 32 39 34 64 32 31 30 38 36 65 bcbb08294d21086e
0410: 36 30 65 35 38 66 61 61 32 36 62 66 33 34 39 31 60e58faa26bf3491
0420: 66 38 34 37 34 37 33 65 36 35 32 39 63 0a 46 20 f847473e6529c.F
0430: 73 72 63 2f 6d 61 69 6c 2e 72 73 20 32 64 64 63 src/mail.rs 2ddc
0440: 38 37 62 37 37 31 36 39 62 34 30 39 37 35 64 61 87b77169b40975da
0450: 38 64 36 65 38 61 34 32 38 64 61 37 34 31 31 39 8d6e8a428da74119
0460: 66 32 33 34 37 35 32 32 62 35 30 37 33 39 64 36 f2347522b50739d6
0470: 34 36 35 63 32 34 38 64 36 32 36 36 0a 46 20 73 465c248d6266.F s
0480: 72 63 2f 6d 61 69 6e 2e 72 73 20 38 35 63 66 34 rc/main.rs 85cf4
0490: 30 62 62 65 37 63 63 36 32 39 63 31 34 65 32 63 0bbe7cc629c14e2c
04a0: 39 37 33 61 65 31 32 38 32 32 33 64 62 64 65 38 973ae128223dbde8
04b0: 35 31 33 33 32 32 34 63 38 37 33 37 39 61 34 37 5133224c87379a47
04c0: 38 33 63 39 64 35 61 38 34 30 64 0a 46 20 73 72 83c9d5a840d.F sr
04d0: 63 2f 74 65 6c 65 67 72 61 6d 2e 72 73 20 31 33 c/telegram.rs 13
04e0: 63 64 34 34 31 62 39 31 30 30 38 32 31 30 31 39 cd441b9100821019
04f0: 66 34 61 37 66 30 38 33 34 36 33 35 39 36 32 66 f4a7f0834635962f
0500: 35 33 37 38 31 66 61 37 63 37 36 64 64 65 64 66 53781fa7c76ddedf
0510: 31 65 35 30 63 61 32 36 39 37 33 65 36 33 0a 46 1e50ca26973e63.F
0520: 20 73 72 63 2f 75 74 69 6c 73 2e 72 73 20 62 38 src/utils.rs b8
0530: 32 35 61 33 64 64 35 31 37 37 33 62 39 65 33 38 25a3dd51773b9e38
0540: 39 31 65 32 66 30 31 34 37 37 66 35 31 65 66 32 91e2f01477f51ef2
0550: 34 66 38 61 37 39 65 62 62 35 37 34 36 65 36 62 4f8a79ebb5746e6b
0560: 65 32 37 65 38 33 38 61 30 39 62 36 63 32 0a 46 e27e838a09b6c2.F
0570: 20 74 65 73 74 73 2f 6d 61 69 6c 2e 72 73 20 36 tests/mail.rs 6
0580: 39 35 34 30 31 64 30 30 65 37 31 64 38 33 66 35 95401d00e71d83f5
0590: 37 36 35 61 38 63 65 37 38 31 39 33 61 31 62 35 765a8ce78193a1b5
05a0: 65 61 35 64 30 39 32 34 36 63 63 33 36 62 36 64 ea5d09246cc36b6d
05b0: 36 32 61 33 61 31 63 65 64 32 62 63 39 38 33 0a 62a3a1ced2bc983.
05c0: 46 20 74 65 73 74 73 2f 75 74 69 6c 73 2e 72 73 F tests/utils.rs
05d0: 20 34 63 39 65 64 64 39 64 34 33 65 30 64 63 35 4c9edd9d43e0dc5
05e0: 65 34 31 63 33 64 63 63 64 33 66 32 33 37 39 62 e41c3dccd3f2379b
05f0: 65 32 35 31 61 31 39 61 38 33 65 36 30 33 31 62 e251a19a83e6031b
0600: 34 35 34 61 65 36 39 35 63 65 64 66 61 34 63 33 454ae695cedfa4c3
0610: 64 0a 50 20 31 35 38 63 39 63 66 66 63 36 39 65 d.P 158c9cffc69e
0620: 64 65 39 31 37 64 66 36 37 34 34 38 65 31 31 30 de917df67448e110
0630: 36 34 65 66 31 34 31 30 34 66 30 33 33 37 39 39 64ef14104f033799
0640: 38 63 36 62 62 35 62 65 62 34 37 36 31 35 61 36 8c6bb5beb47615a6
0650: 36 61 64 38 0a 52 20 35 39 34 30 34 62 65 64 66 6ad8.R 59404bedf
0660: 30 37 36 32 33 32 66 65 34 62 37 65 32 39 61 63 076232fe4b7e29ac
0670: 33 36 33 38 63 31 64 0a 55 20 61 72 63 61 64 65 3638c1d.U arcade
0680: 0a 5a 20 36 31 39 31 63 35 62 37 32 36 37 39 62 .Z 6191c5b72679b
0690: 65 35 33 62 64 62 65 65 62 31 32 62 32 65 33 36 e53bdbeeb12b2e36
06a0: 35 66 64 0a 5fd.