Skip to content

Tighten up decoding of empty messages #2430

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 37 commits into from
Apr 18, 2025
Merged

Tighten up decoding of empty messages #2430

merged 37 commits into from
Apr 18, 2025

Conversation

ctz
Copy link
Member

@ctz ctz commented Apr 15, 2025

This PR makes us more correct when parsing messages with defined lower length bounds, like:

      opaque DistinguishedName<1..2^16-1>;

This notation says DistinguishedName must be a non-empty string. Our decoding now enforces this.

There's some risk that this introduces new interop failures, but I think it is quite low.

There are quite a lot of commits, but they are all quite small.

Copy link

rustls-benchmarking bot commented Apr 15, 2025

Benchmark results

Instruction counts

Significant differences

⚠️ There are significant instruction count differences

Click to expand
Scenario Baseline Candidate Diff Threshold
handshake_session_id_aws_lc_rs_1.3_ecdsap384_chacha_client 78437511 27803684 -50633827 (-64.55%) 0.20%
handshake_session_id_aws_lc_rs_1.3_ecdsap256_chacha_client 78440061 27806086 -50633975 (-64.55%) 0.20%
handshake_session_id_aws_lc_rs_1.3_rsa_chacha_client 78451103 27810549 -50640554 (-64.55%) 0.20%
handshake_session_id_aws_lc_rs_1.3_ecdsap384_aes_client 78547156 27863057 -50684099 (-64.53%) 0.20%
handshake_session_id_aws_lc_rs_1.3_rsa_aes_client 78525720 27870084 -50655636 (-64.51%) 0.20%
handshake_session_id_aws_lc_rs_1.3_ecdsap256_aes_client 78478226 27865461 -50612765 (-64.49%) 0.20%
handshake_tickets_aws_lc_rs_1.3_rsa_aes_client 78787652 28236905 -50550747 (-64.16%) 0.20%
handshake_tickets_aws_lc_rs_1.3_rsa_chacha_client 78700393 28207265 -50493128 (-64.16%) 0.20%
handshake_tickets_aws_lc_rs_1.3_ecdsap256_chacha_client 78674803 28203164 -50471639 (-64.15%) 0.20%
handshake_tickets_aws_lc_rs_1.3_ecdsap384_chacha_client 78664113 28200116 -50463997 (-64.15%) 0.20%
handshake_tickets_aws_lc_rs_1.3_ecdsap384_aes_client 78720060 28229951 -50490109 (-64.14%) 0.20%
handshake_tickets_aws_lc_rs_1.3_ecdsap256_aes_client 78706290 28232769 -50473521 (-64.13%) 0.20%
handshake_session_id_aws_lc_rs_1.3_ecdsap256_chacha_server 55215299 28738948 -26476351 (-47.95%) 0.20%
handshake_session_id_aws_lc_rs_1.3_rsa_chacha_server 55209431 28736518 -26472913 (-47.95%) 0.20%
handshake_session_id_aws_lc_rs_1.3_ecdsap384_chacha_server 55210686 28739195 -26471491 (-47.95%) 0.20%
handshake_session_id_aws_lc_rs_1.3_ecdsap384_aes_server 55314170 28817259 -26496911 (-47.90%) 0.20%
handshake_session_id_aws_lc_rs_1.3_rsa_aes_server 55295442 28814700 -26480742 (-47.89%) 0.20%
handshake_session_id_aws_lc_rs_1.3_ecdsap256_aes_server 55283133 28817330 -26465803 (-47.87%) 0.20%
handshake_tickets_aws_lc_rs_1.3_rsa_chacha_server 56561327 30211408 -26349919 (-46.59%) 0.20%
handshake_tickets_aws_lc_rs_1.3_rsa_aes_server 56632998 30254117 -26378881 (-46.58%) 0.20%
handshake_tickets_aws_lc_rs_1.3_ecdsap256_chacha_server 56556880 30214138 -26342742 (-46.58%) 0.20%
handshake_tickets_aws_lc_rs_1.3_ecdsap384_chacha_server 56552899 30214099 -26338800 (-46.57%) 0.20%
handshake_tickets_aws_lc_rs_1.3_ecdsap384_aes_server 56608788 30256574 -26352214 (-46.55%) 0.20%
handshake_tickets_aws_lc_rs_1.3_ecdsap256_aes_server 56600100 30256570 -26343530 (-46.54%) 0.20%
handshake_no_resume_aws_lc_rs_1.3_rsa_aes_client 3579683 1927478 -1652205 (-46.16%) 0.20%
handshake_no_resume_aws_lc_rs_1.3_rsa_chacha_client 3586060 1934226 -1651834 (-46.06%) 0.20%
handshake_no_resume_aws_lc_rs_1.3_ecdsap256_aes_server 2002093 1151234 -850859 (-42.50%) 1.45%
handshake_no_resume_aws_lc_rs_1.3_ecdsap256_chacha_server 2004206 1153481 -850725 (-42.45%) 1.44%
handshake_no_resume_aws_lc_rs_1.3_ecdsap256_aes_client 4748738 3097543 -1651195 (-34.77%) 0.54%
handshake_no_resume_aws_lc_rs_1.3_ecdsap256_chacha_client 4747762 3097164 -1650598 (-34.77%) 0.53%
handshake_no_resume_aws_lc_rs_1.3_ecdsap384_aes_server 2910880 2067839 -843041 (-28.96%) 0.20%
handshake_no_resume_aws_lc_rs_1.3_ecdsap384_chacha_server 2913623 2070891 -842732 (-28.92%) 0.20%
handshake_no_resume_aws_lc_rs_1.3_ecdsap384_aes_client 9967911 8323325 -1644586 (-16.50%) 1.54%
handshake_no_resume_aws_lc_rs_1.3_ecdsap384_chacha_client 9947167 8332739 -1614428 (-16.23%) 1.01%
handshake_no_resume_aws_lc_rs_1.3_rsa_chacha_server 11577346 10689413 -887933 (-7.67%) 0.67%
handshake_no_resume_aws_lc_rs_1.3_rsa_aes_server 11581457 10745773 -835684 (-7.22%) 1.26%

Other differences

Click to expand
Scenario Baseline Candidate Diff Threshold
handshake_no_resume_aws_lc_rs_1.2_rsa_aes_server 10488376 10532210 43834 (0.42%) 1.32%
handshake_no_resume_ring_1.3_ecdsap256_aes_client 3301797 3303842 2045 (0.06%) 0.27%
handshake_session_id_ring_1.2_rsa_aes_server 4300238 4302818 2580 (0.06%) 0.20%
handshake_tickets_aws_lc_rs_1.2_rsa_aes_server 5015662 5012692 -2970 (-0.06%) 0.20%
handshake_tickets_ring_1.2_rsa_aes_server 4764932 4762742 -2190 (-0.05%) 0.20%
handshake_session_id_aws_lc_rs_1.2_rsa_aes_server 3869685 3871125 1440 (0.04%) 0.20%
handshake_session_id_ring_1.3_ecdsap384_aes_server 32116110 32109690 -6420 (-0.02%) 0.20%
handshake_session_id_ring_1.3_ecdsap256_aes_server 32116039 32109685 -6354 (-0.02%) 0.20%
handshake_session_id_ring_1.3_ecdsap384_chacha_server 31994310 31988040 -6270 (-0.02%) 0.20%
handshake_tickets_ring_1.3_ecdsap256_aes_server 32562807 32556463 -6344 (-0.02%) 0.20%
handshake_tickets_ring_1.3_ecdsap384_aes_server 32562796 32556456 -6340 (-0.02%) 0.20%
handshake_session_id_ring_1.3_ecdsap256_chacha_server 31994239 31988035 -6204 (-0.02%) 0.20%
handshake_tickets_ring_1.3_ecdsap256_chacha_server 32460702 32454508 -6194 (-0.02%) 0.20%
handshake_tickets_ring_1.3_ecdsap384_chacha_server 32460736 32454546 -6190 (-0.02%) 0.20%
handshake_session_id_ring_1.3_rsa_aes_server 32113000 32107073 -5927 (-0.02%) 0.20%
handshake_session_id_ring_1.3_rsa_chacha_server 31991200 31985423 -5777 (-0.02%) 0.20%
handshake_tickets_ring_1.3_rsa_aes_server 32559730 32554020 -5710 (-0.02%) 0.20%
handshake_tickets_ring_1.3_rsa_chacha_server 32457625 32452065 -5560 (-0.02%) 0.20%
handshake_no_resume_ring_1.3_ecdsap256_aes_server 1295863 1295660 -203 (-0.02%) 0.20%
handshake_no_resume_ring_1.3_ecdsap256_chacha_server 1297030 1296829 -201 (-0.02%) 0.20%
handshake_no_resume_ring_1.3_ecdsap256_chacha_client 3304967 3305424 457 (0.01%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_ecdsap256_aes_server 46460615 46457377 -3238 (-0.01%) 0.20%
handshake_session_id_aws_lc_rs_1.2_rsa_aes_client 3887721 3887901 180 (0.00%) 0.20%
handshake_tickets_aws_lc_rs_1.2_rsa_aes_client 4230372 4230552 180 (0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_ecdsap256_chacha_server 80645582 80642338 -3244 (-0.00%) 0.20%
handshake_session_id_ring_1.3_ecdsap384_chacha_client 30842785 30843715 930 (0.00%) 0.20%
handshake_session_id_ring_1.3_ecdsap384_aes_client 30934075 30935005 930 (0.00%) 0.20%
handshake_tickets_ring_1.3_ecdsap384_chacha_client 31161061 31161981 920 (0.00%) 0.20%
handshake_tickets_ring_1.3_ecdsap384_aes_client 31232311 31233231 920 (0.00%) 0.20%
handshake_session_id_ring_1.3_ecdsap256_chacha_client 30845754 30846654 900 (0.00%) 0.20%
handshake_session_id_ring_1.3_rsa_chacha_client 30849862 30850762 900 (0.00%) 0.20%
handshake_session_id_ring_1.3_ecdsap256_aes_client 30937044 30937944 900 (0.00%) 0.20%
handshake_session_id_ring_1.3_rsa_aes_client 30941152 30942052 900 (0.00%) 0.20%
handshake_tickets_ring_1.3_ecdsap256_chacha_client 31164470 31165370 900 (0.00%) 0.20%
handshake_tickets_ring_1.3_rsa_chacha_client 31168430 31169330 900 (0.00%) 0.20%
handshake_tickets_ring_1.3_ecdsap256_aes_client 31235741 31236641 900 (0.00%) 0.20%
handshake_tickets_ring_1.3_rsa_aes_client 31239701 31240601 900 (0.00%) 0.20%
handshake_no_resume_ring_1.3_ecdsap384_aes_server 7227496 7227288 -208 (-0.00%) 0.20%
handshake_no_resume_ring_1.3_ecdsap384_chacha_server 7229440 7229239 -201 (-0.00%) 0.20%
handshake_session_id_ring_1.2_rsa_aes_client 4318612 4318732 120 (0.00%) 0.20%
handshake_tickets_ring_1.2_rsa_aes_client 4581973 4582093 120 (0.00%) 0.20%
handshake_no_resume_ring_1.3_rsa_aes_server 11125195 11125004 -191 (-0.00%) 0.20%
handshake_no_resume_ring_1.3_rsa_chacha_server 11130951 11130765 -186 (-0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.2_rsa_aes_client 58162564 58163212 648 (0.00%) 0.20%
transfer_no_resume_ring_1.2_rsa_aes_client 58041938 58041297 -641 (-0.00%) 0.20%
handshake_no_resume_ring_1.2_rsa_aes_client 2245883 2245904 21 (0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_ecdsap256_aes_client 58233343 58233822 479 (0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_ecdsap384_aes_client 58234713 58235185 472 (0.00%) 0.20%
handshake_no_resume_ring_1.2_rsa_aes_server 10996774 10996861 87 (0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_ecdsap384_aes_server 46450208 46450389 181 (0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_rsa_aes_client 58258167 58258345 178 (0.00%) 0.20%
handshake_no_resume_aws_lc_rs_1.2_rsa_aes_client 1719311 1719316 5 (0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_ecdsap384_chacha_server 80634527 80634709 182 (0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_rsa_chacha_client 92724083 92724265 182 (0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_ecdsap384_chacha_client 92699358 92699190 -168 (-0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_ecdsap256_chacha_client 92697982 92697818 -164 (-0.00%) 0.20%
handshake_no_resume_ring_1.3_ecdsap384_chacha_client 34743427 34743410 -17 (-0.00%) 0.20%
handshake_no_resume_ring_1.3_rsa_aes_client 2333596 2333597 1 (0.00%) 0.20%
handshake_no_resume_ring_1.3_rsa_chacha_client 2339245 2339246 1 (0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.2_rsa_aes_server 46397781 46397794 13 (0.00%) 0.20%
transfer_no_resume_ring_1.3_rsa_aes_server 46284287 46284295 8 (0.00%) 0.20%
transfer_no_resume_ring_1.3_ecdsap256_aes_client 58122650 58122641 -9 (-0.00%) 0.20%
transfer_no_resume_ring_1.3_ecdsap256_chacha_client 92658967 92658978 11 (0.00%) 0.20%
handshake_no_resume_ring_1.3_ecdsap384_aes_client 34741740 34741736 -4 (-0.00%) 0.20%
transfer_no_resume_ring_1.3_rsa_aes_client 58154256 58154252 -4 (-0.00%) 0.20%
transfer_no_resume_ring_1.3_ecdsap256_aes_server 46291020 46291022 2 (0.00%) 0.20%
transfer_no_resume_ring_1.3_ecdsap384_aes_server 46294538 46294540 2 (0.00%) 0.20%
transfer_no_resume_ring_1.3_ecdsap256_chacha_server 80540626 80540629 3 (0.00%) 0.20%
transfer_no_resume_ring_1.3_ecdsap384_aes_client 58129857 58129855 -2 (-0.00%) 0.20%
transfer_no_resume_ring_1.3_rsa_chacha_client 92690576 92690578 2 (0.00%) 0.20%
transfer_no_resume_ring_1.3_rsa_chacha_server 80533892 80533893 1 (0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_rsa_chacha_server 80637678 80637679 1 (0.00%) 0.20%
transfer_no_resume_ring_1.3_ecdsap384_chacha_server 80545428 80545428 0 (0.00%) 0.20%
transfer_no_resume_ring_1.2_rsa_aes_server 46189320 46189320 0 (0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_rsa_aes_server 46452710 46452710 0 (0.00%) 0.20%
transfer_no_resume_ring_1.3_ecdsap384_chacha_client 92668111 92668111 0 (0.00%) 0.20%

Wall-time

Significant differences

⚠️ There are significant wall-time differences

Click to expand
Scenario Baseline Candidate Diff Threshold
handshake_session_id_aws_lc_rs_1.3_ecdsap256_chacha 10.45 ms 4.30 ms ✅ -6.14 ms (-58.82%) 1.59%
handshake_session_id_aws_lc_rs_1.3_ecdsap256_aes 10.48 ms 4.33 ms ✅ -6.14 ms (-58.63%) 1.65%
handshake_tickets_aws_lc_rs_1.3_ecdsap256_chacha 10.67 ms 4.50 ms ✅ -6.16 ms (-57.79%) 1.32%
handshake_tickets_aws_lc_rs_1.3_ecdsap256_aes 10.68 ms 4.52 ms ✅ -6.15 ms (-57.65%) 1.37%
handshake_session_id_aws_lc_rs_1.3_ecdsap384_chacha 11.12 ms 4.98 ms ✅ -6.14 ms (-55.22%) 1.37%
handshake_session_id_aws_lc_rs_1.3_rsa_chacha 11.10 ms 4.99 ms ✅ -6.11 ms (-55.06%) 1.70%
handshake_session_id_aws_lc_rs_1.3_ecdsap384_aes 11.16 ms 5.02 ms ✅ -6.13 ms (-54.98%) 1.08%
handshake_session_id_aws_lc_rs_1.3_rsa_aes 11.13 ms 5.02 ms ✅ -6.11 ms (-54.93%) 1.40%
handshake_tickets_aws_lc_rs_1.3_ecdsap384_chacha 11.34 ms 5.18 ms ✅ -6.16 ms (-54.28%) 1.33%
handshake_tickets_aws_lc_rs_1.3_ecdsap384_aes 11.37 ms 5.21 ms ✅ -6.15 ms (-54.14%) 1.40%
handshake_tickets_aws_lc_rs_1.3_rsa_aes 11.32 ms 5.20 ms ✅ -6.12 ms (-54.04%) 1.83%
handshake_tickets_aws_lc_rs_1.3_rsa_chacha 11.31 ms 5.20 ms ✅ -6.11 ms (-54.03%) 1.86%
handshake_no_resume_aws_lc_rs_1.3_ecdsap256_chacha 660.61 µs 451.37 µs ✅ -209.24 µs (-31.67%) 2.96%
handshake_no_resume_aws_lc_rs_1.3_ecdsap256_aes 660.89 µs 452.81 µs ✅ -208.09 µs (-31.49%) 3.70%
handshake_no_resume_aws_lc_rs_1.3_ecdsap384_chacha 1.34 ms 1.13 ms ✅ -0.21 ms (-15.45%) 1.62%
handshake_no_resume_aws_lc_rs_1.3_ecdsap384_aes 1.35 ms 1.14 ms ✅ -0.21 ms (-15.25%) 1.63%
handshake_no_resume_aws_lc_rs_1.3_rsa_aes 1.29 ms 1.12 ms ✅ -0.17 ms (-13.15%) 4.16%
handshake_no_resume_aws_lc_rs_1.3_rsa_chacha 1.29 ms 1.12 ms ✅ -0.17 ms (-13.08%) 9.36%
transfer_no_resume_aws_lc_rs_1.3_ecdsap256_aes 4.69 ms 4.44 ms ✅ -0.24 ms (-5.21%) 4.79%
transfer_no_resume_aws_lc_rs_1.3_ecdsap384_aes 5.38 ms 5.13 ms ✅ -0.25 ms (-4.60%) 4.31%
handshake_tickets_aws_lc_rs_1.2_rsa_aes 1.79 ms 1.84 ms ⚠️ 0.05 ms (2.70%) 1.79%
transfer_no_resume_aws_lc_rs_1.3_ecdsap256_chacha 13.17 ms 12.91 ms ✅ -0.26 ms (-1.94%) 1.49%
transfer_no_resume_aws_lc_rs_1.3_ecdsap384_chacha 13.85 ms 13.60 ms ✅ -0.25 ms (-1.80%) 1.36%

Other differences

Click to expand
Scenario Baseline Candidate Diff Threshold
handshake_no_resume_aws_lc_rs_1.2_rsa_aes 1.06 ms 1.10 ms 0.04 ms (3.95%) 4.70%
transfer_no_resume_aws_lc_rs_1.3_rsa_aes 5.32 ms 5.12 ms -0.20 ms (-3.79%) 4.25%
handshake_session_id_aws_lc_rs_1.2_rsa_aes 1.62 ms 1.65 ms 0.03 ms (2.12%) 2.85%
transfer_no_resume_aws_lc_rs_1.3_rsa_chacha 13.81 ms 13.60 ms -0.21 ms (-1.51%) 1.61%
transfer_no_resume_ring_1.2_rsa_aes 5.81 ms 5.77 ms -0.04 ms (-0.70%) 4.16%
transfer_no_resume_ring_1.3_ecdsap256_aes 5.39 ms 5.36 ms -0.04 ms (-0.68%) 3.23%
transfer_no_resume_ring_1.3_rsa_aes 5.88 ms 5.85 ms -0.04 ms (-0.63%) 2.80%
handshake_no_resume_ring_1.3_ecdsap256_aes 475.68 µs 473.13 µs -2.55 µs (-0.54%) 2.32%
transfer_no_resume_ring_1.3_ecdsap384_aes 8.50 ms 8.46 ms -0.03 ms (-0.40%) 1.70%
handshake_tickets_ring_1.3_ecdsap256_chacha 5.58 ms 5.56 ms -0.02 ms (-0.37%) 1.00%
handshake_tickets_ring_1.3_rsa_chacha 6.07 ms 6.05 ms -0.02 ms (-0.36%) 1.00%
handshake_tickets_ring_1.2_rsa_aes 1.59 ms 1.60 ms 0.01 ms (0.34%) 1.00%
handshake_no_resume_ring_1.3_ecdsap256_chacha 473.22 µs 471.64 µs -1.57 µs (-0.33%) 2.78%
handshake_no_resume_ring_1.2_rsa_aes 958.90 µs 956.11 µs -2.79 µs (-0.29%) 1.00%
transfer_no_resume_ring_1.3_rsa_chacha 13.44 ms 13.41 ms -0.04 ms (-0.29%) 1.25%
transfer_no_resume_ring_1.3_ecdsap256_chacha 12.95 ms 12.92 ms -0.03 ms (-0.27%) 1.26%
handshake_tickets_ring_1.3_rsa_aes 6.11 ms 6.09 ms -0.02 ms (-0.26%) 1.00%
handshake_session_id_ring_1.3_ecdsap256_chacha 5.52 ms 5.51 ms -0.01 ms (-0.25%) 1.00%
transfer_no_resume_ring_1.3_ecdsap384_chacha 16.05 ms 16.02 ms -0.04 ms (-0.24%) 1.08%
handshake_tickets_ring_1.3_ecdsap384_chacha 8.68 ms 8.66 ms -0.02 ms (-0.23%) 1.00%
handshake_no_resume_ring_1.3_rsa_aes 962.51 µs 960.31 µs -2.20 µs (-0.23%) 1.14%
handshake_session_id_ring_1.3_rsa_chacha 6.01 ms 5.99 ms -0.01 ms (-0.22%) 1.00%
handshake_tickets_ring_1.3_ecdsap384_aes 8.71 ms 8.69 ms -0.02 ms (-0.19%) 1.00%
handshake_session_id_ring_1.3_ecdsap384_chacha 8.61 ms 8.60 ms -0.02 ms (-0.18%) 1.00%
handshake_no_resume_ring_1.3_ecdsap384_chacha 3.57 ms 3.57 ms -0.01 ms (-0.17%) 1.00%
handshake_tickets_ring_1.3_ecdsap256_aes 5.61 ms 5.60 ms -0.01 ms (-0.15%) 1.00%
handshake_session_id_ring_1.3_rsa_aes 6.04 ms 6.03 ms -0.01 ms (-0.13%) 1.00%
handshake_session_id_ring_1.3_ecdsap256_aes 5.55 ms 5.54 ms -0.01 ms (-0.12%) 1.00%
handshake_no_resume_ring_1.3_ecdsap384_aes 3.58 ms 3.57 ms -0.00 ms (-0.11%) 1.00%
handshake_session_id_ring_1.3_ecdsap384_aes 8.64 ms 8.63 ms -0.01 ms (-0.06%) 1.00%
transfer_no_resume_aws_lc_rs_1.2_rsa_aes 5.06 ms 5.05 ms -0.00 ms (-0.05%) 4.91%
handshake_no_resume_ring_1.3_rsa_chacha 963.12 µs 962.66 µs -0.46 µs (-0.05%) 1.34%
handshake_session_id_ring_1.2_rsa_aes 1.51 ms 1.51 ms -0.00 ms (-0.01%) 2.03%

Additional information

Historical results

Checkout details:

Copy link

codecov bot commented Apr 15, 2025

Codecov Report

Attention: Patch coverage is 96.34146% with 3 lines in your changes missing coverage. Please review.

Project coverage is 95.94%. Comparing base (0f5b44d) to head (d469428).
Report is 38 commits behind head on main.

Files with missing lines Patch % Lines
rustls/src/msgs/handshake.rs 91.66% 2 Missing ⚠️
rustls/src/msgs/codec.rs 87.50% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2430      +/-   ##
==========================================
- Coverage   96.03%   95.94%   -0.09%     
==========================================
  Files          94       94              
  Lines       22571    22597      +26     
==========================================
+ Hits        21675    21680       +5     
- Misses        896      917      +21     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Member

@djc djc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice!

@ctz ctz force-pushed the jbp-tighten-empty-messages branch 3 times, most recently from b05e224 to cc93662 Compare April 17, 2025 14:02
@ctz ctz force-pushed the jbp-tighten-empty-messages branch from cc93662 to e0138f0 Compare April 17, 2025 16:13
Copy link
Member

@cpu cpu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

rad. This is the kind of diff that makes me <3 Rust

@ctz ctz force-pushed the jbp-tighten-empty-messages branch from e0138f0 to d469428 Compare April 18, 2025 09:36
@ctz ctz enabled auto-merge April 18, 2025 09:37
@ctz ctz added this pull request to the merge queue Apr 18, 2025
Merged via the queue into main with commit fdf470d Apr 18, 2025
63 of 64 checks passed
@ctz ctz deleted the jbp-tighten-empty-messages branch April 18, 2025 10:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants