Skip to content

chore: Suppress new clippy lints#3815

Merged
larseggert merged 1 commit into
mozilla:mainfrom
larseggert:chore-clippy
Jul 16, 2026
Merged

chore: Suppress new clippy lints#3815
larseggert merged 1 commit into
mozilla:mainfrom
larseggert:chore-clippy

Conversation

@larseggert

@larseggert larseggert commented Jul 16, 2026

Copy link
Copy Markdown
Collaborator

katharostech/cfg_aliases#15 has the fix, but needs to release and we need to bump the dep.

katharostech/cfg_aliases#15 has the fixm but needs to release and we need to bump the dep.
Copilot AI review requested due to automatic review settings July 16, 2026 11:55

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Straightforward workaround for new clippy lints triggered by the cfg_aliases! macro. All three affected build.rs files are covered, and the reason + upstream PR link makes the TODO easy to track.

One suggestion across all three sites: switching from #[allow] to #[expect] would drop the clippy::allow_attributes suppression (since #[expect] doesn't trigger it) and give a compiler warning when the upstream fix lands — turning the TODO into a self-enforcing reminder.

Comment thread mtu/build.rs
Comment thread neqo-bin/build.rs
Comment thread neqo-udp/build.rs

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR adds temporary lint suppression around cfg_aliases usage in several build.rs scripts to keep the workspace clean while waiting for an upstream cfg_aliases fix/release.

Changes:

  • Suppresses semicolon_in_expressions_from_macros warnings triggered by cfg_aliases macro expansion in build scripts.
  • Adds a workspace-clippy suppression for clippy::allow_attributes to permit the lint suppression attribute itself.
  • Adds a TODO reason string pointing to the upstream PR that will remove the need for this suppression.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.

File Description
neqo-udp/build.rs Adds lint suppression attribute around main() to unblock cfg_aliases! usage.
neqo-bin/build.rs Same lint suppression pattern for the binary crate build script.
mtu/build.rs Same lint suppression pattern for the MTU crate build script.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread neqo-udp/build.rs
Comment thread neqo-bin/build.rs
Comment thread mtu/build.rs
@codecov

codecov Bot commented Jul 16, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 96.78%. Comparing base (8a04d06) to head (ced8d47).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3815      +/-   ##
==========================================
- Coverage   96.95%   96.78%   -0.18%     
==========================================
  Files         115      120       +5     
  Lines       40509    40854     +345     
  Branches    40509    40854     +345     
==========================================
+ Hits        39276    39540     +264     
- Misses       1216     1289      +73     
- Partials       17       25       +8     
Flag Coverage Δ
freebsd 94.14% <ø> (-0.15%) ⬇️
linux 96.96% <ø> (-0.01%) ⬇️
macos 95.06% <ø> (-0.02%) ⬇️
windows 95.13% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Components Coverage Δ
neqo-common 99.09% <ø> (ø)
neqo-http3 95.40% <ø> (ø)
neqo-qpack 97.26% <ø> (ø)
neqo-transport 97.73% <ø> (-0.04%) ⬇️
neqo-udp 95.37% <ø> (ø)
mtu 89.13% <ø> (ø)
🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@codspeed-hq

codspeed-hq Bot commented Jul 16, 2026

Copy link
Copy Markdown

Merging this PR will improve performance by 9.28%

⚠️ Different runtime environments detected

Some benchmarks with significant performance changes were compared across different runtime environments,
which may affect the accuracy of the results.

Open the report in CodSpeed to investigate

⚡ 1 improved benchmark
✅ 80 untouched benchmarks

Performance Changes

Mode Benchmark BASE HEAD Efficiency
Memory simulated/10-streams/each-1048576-bytes 11.4 MB 10.5 MB +9.28%

Tip

Curious why this is faster? Comment @codspeedbot explain why this is faster on this PR, or directly use the CodSpeed MCP with your agent.


Comparing larseggert:chore-clippy (ced8d47) with main (8a04d06)

Open in CodSpeed

@github-actions

Copy link
Copy Markdown
Contributor

Benchmark results

No significant performance differences relative to 8a04d06.

All results
streams/walltime/1-streams/each-1000-bytes: No change in performance detected.
       time:   [547.93 µs 549.73 µs 551.83 µs]
       thrpt:  [1.7282 MiB/s 1.7348 MiB/s 1.7405 MiB/s]
change:
       time:   [-0.5417% -0.0373% +0.4405] (p = 0.89 > 0.05)
       thrpt:  [-0.4385% +0.0373% +0.5447]
       No change in performance detected.
Found 13 outliers among 100 measurements (13.00%)
1 (1.00%) low mild
3 (3.00%) high mild
9 (9.00%) high severe
streams/walltime/1000-streams/each-1-bytes: Change within noise threshold.
       time:   [11.038 ms 11.054 ms 11.071 ms]
       thrpt:  [88.209 KiB/s 88.343 KiB/s 88.473 KiB/s]
change:
       time:   [+0.0570% +0.2693% +0.4884] (p = 0.01 < 0.05)
       thrpt:  [-0.4860% -0.2686% -0.0570]
       Change within noise threshold.
streams/walltime/1000-streams/each-1000-bytes: Change within noise threshold.
       time:   [32.370 ms 32.409 ms 32.448 ms]
       thrpt:  [29.391 MiB/s 29.426 MiB/s 29.461 MiB/s]
change:
       time:   [+0.1168% +0.2908% +0.4741] (p = 0.00 < 0.05)
       thrpt:  [-0.4719% -0.2900% -0.1167]
       Change within noise threshold.
Found 1 outliers among 100 measurements (1.00%)
1 (1.00%) high mild
streams-flow-controlled/walltime/1-streams/each-4194304-bytes: Change within noise threshold.
       time:   [26.945 ms 26.986 ms 27.027 ms]
       thrpt:  [148.00 MiB/s 148.23 MiB/s 148.45 MiB/s]
change:
       time:   [+1.0486% +1.2712% +1.4956] (p = 0.00 < 0.05)
       thrpt:  [-1.4736% -1.2553% -1.0378]
       Change within noise threshold.
streams-flow-controlled/walltime/10-streams/each-1048576-bytes: Change within noise threshold.
       time:   [70.937 ms 71.379 ms 71.812 ms]
       thrpt:  [139.25 MiB/s 140.10 MiB/s 140.97 MiB/s]
change:
       time:   [+0.3019% +1.1927% +2.0397] (p = 0.01 < 0.05)
       thrpt:  [-1.9989% -1.1786% -0.3010]
       Change within noise threshold.
transfer/walltime/pacing-false/varying-seeds: Change within noise threshold.
       time:   [18.573 ms 18.584 ms 18.595 ms]
       thrpt:  [215.11 MiB/s 215.24 MiB/s 215.37 MiB/s]
change:
       time:   [-1.3368% -1.2592% -1.1738] (p = 0.00 < 0.05)
       thrpt:  [+1.1878% +1.2753% +1.3549]
       Change within noise threshold.
Found 6 outliers among 100 measurements (6.00%)
6 (6.00%) high mild
transfer/walltime/pacing-true/varying-seeds: No change in performance detected.
       time:   [18.931 ms 18.943 ms 18.955 ms]
       thrpt:  [211.03 MiB/s 211.16 MiB/s 211.29 MiB/s]
change:
       time:   [-0.1794% -0.0805% +0.0193] (p = 0.10 > 0.05)
       thrpt:  [-0.0193% +0.0806% +0.1798]
       No change in performance detected.
Found 4 outliers among 100 measurements (4.00%)
2 (2.00%) low mild
2 (2.00%) high mild
transfer/walltime/pacing-false/same-seed: Change within noise threshold.
       time:   [18.819 ms 18.829 ms 18.839 ms]
       thrpt:  [212.32 MiB/s 212.44 MiB/s 212.55 MiB/s]
change:
       time:   [+0.9212% +1.0026% +1.0862] (p = 0.00 < 0.05)
       thrpt:  [-1.0745% -0.9927% -0.9128]
       Change within noise threshold.
Found 6 outliers among 100 measurements (6.00%)
3 (3.00%) low mild
3 (3.00%) high mild
transfer/walltime/pacing-true/same-seed: Change within noise threshold.
       time:   [18.698 ms 18.709 ms 18.721 ms]
       thrpt:  [213.67 MiB/s 213.80 MiB/s 213.93 MiB/s]
change:
       time:   [-2.3757% -2.2951% -2.2133] (p = 0.00 < 0.05)
       thrpt:  [+2.2634% +2.3490% +2.4335]
       Change within noise threshold.
Found 1 outliers among 100 measurements (1.00%)
1 (1.00%) high mild

Download data for profiler.firefox.com or download performance comparison data.

@github-actions

Copy link
Copy Markdown
Contributor

Failed Interop Tests

QUIC Interop Runner, client vs. server, differences relative to main at 8a04d06.

neqo-pr as clientneqo-pr as server
neqo-pr vs. go-x-net: BP BA
neqo-pr vs. haproxy: 🚀C1 BP BA
neqo-pr vs. kwik: BP BA
neqo-pr vs. lsquic: L1 C1
neqo-pr vs. msquic: A L1 C1
neqo-pr vs. mvfst: A
neqo-pr vs. neqo: A
neqo-pr vs. nginx: BP BA
neqo-pr vs. ngtcp2: CM
neqo-pr vs. picoquic: A ⚠️BA
neqo-pr vs. quic-go: A
neqo-pr vs. quic-zig: ⚠️B
neqo-pr vs. quiche: BP BA
neqo-pr vs. s2n-quic: CM
neqo-pr vs. tquic: S BP BA
neqo-pr vs. xquic: A ⚠️L1 C1
aioquic vs. neqo-pr: 🚀L1 CM
go-x-net vs. neqo-pr: CM
kwik vs. neqo-pr: BP BA CM
lsquic vs. neqo-pr: ⚠️L1
msquic vs. neqo-pr: CM
mvfst vs. neqo-pr: Z L1 C1 CM
neqo vs. neqo-pr: A
ngtcp2 vs. neqo-pr: ⚠️C1
openssl vs. neqo-pr: LR M A CM
quic-go vs. neqo-pr: CM
quic-zig vs. neqo-pr: baseline result missing
quiche vs. neqo-pr: CM
quinn vs. neqo-pr: 🚀C1 V2 CM
s2n-quic vs. neqo-pr: ⚠️B CM
tquic vs. neqo-pr: CM
xquic vs. neqo-pr: M CM
All results

Succeeded Interop Tests

QUIC Interop Runner, client vs. server

neqo-pr as client

neqo-pr as server

Unsupported Interop Tests

QUIC Interop Runner, client vs. server

neqo-pr as client

neqo-pr as server

@github-actions

Copy link
Copy Markdown
Contributor

Client/server transfer results

Performance differences relative to 8a04d06.

No significant performance differences.

Table above only shows statistically significant changes. See all results below.

All results

Transfer of 33554432 bytes over loopback, min. 100 runs. All unit-less numbers are in milliseconds.

Client vs. server Mean±σ Min–Max Median±MAD MiB/s±σ ΔMedian
google-google 464.0 ± 2.4 459.2 – 474.5 463.6 ± 1.7 69.0 ± 0.4
google-neqo-cubic 267.5 ± 1.7 264.7 – 275.1 267.2 ± 1.2 119.6 ± 0.8 -1.1 (-0.4%)
neqo-google-cubic 770.9 ± 3.0 763.8 – 781.1 770.5 ± 2.3 41.5 ± 0.2 -0.5 (-0.1%)
neqo-neqo-cubic 78.5 ± 2.1 74.3 – 86.2 78.4 ± 2.0 407.4 ± 10.9 +0.4 (+0.5%)
neqo-neqo-cubic-nopacing 79.3 ± 2.6 74.9 – 89.3 78.7 ± 1.7 403.7 ± 13.1 +0.5 (+0.7%)
neqo-neqo-newreno 78.8 ± 2.7 72.4 – 84.4 78.9 ± 2.7 406.1 ± 13.7 -0.5 (-0.6%)
neqo-neqo-newreno-nopacing 79.9 ± 3.5 74.1 – 93.1 79.1 ± 2.4 400.4 ± 17.6 +0.5 (+0.6%)
neqo-quiche-cubic 194.7 ± 1.6 191.9 – 201.6 194.5 ± 1.6 164.3 ± 1.4 +0.2 (+0.1%)
neqo-s2n-cubic 215.1 ± 2.2 208.3 – 222.7 214.7 ± 1.3 148.8 ± 1.5 +0.0 (+0.0%)
quiche-neqo-cubic ⚠️ 136.6 ± 3.5 133.4 – 168.3 135.9 ± 1.3 234.3 ± 6.0 +0.0 (+0.0%)
quiche-quiche 134.2 ± 2.7 128.0 – 142.1 134.6 ± 2.7 238.5 ± 4.8
s2n-neqo-cubic 219.4 ± 2.2 215.5 – 227.0 219.1 ± 2.2 145.8 ± 1.4 -0.6 (-0.3%)
s2n-s2n ⚠️ 291.0 ± 21.8 280.8 – 384.4 285.2 ± 2.8 110.0 ± 8.2

Download data for profiler.firefox.com or download performance comparison data.

@larseggert
larseggert merged commit be2c8d9 into mozilla:main Jul 16, 2026
198 checks passed
@larseggert
larseggert deleted the chore-clippy branch July 16, 2026 13:42
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.

2 participants