summaryrefslogtreecommitdiff
path: root/mesonbuild/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'mesonbuild/scripts')
-rw-r--r--mesonbuild/scripts/clippy.py13
1 files changed, 11 insertions, 2 deletions
diff --git a/mesonbuild/scripts/clippy.py b/mesonbuild/scripts/clippy.py
index a5161462c..c4746e3fd 100644
--- a/mesonbuild/scripts/clippy.py
+++ b/mesonbuild/scripts/clippy.py
@@ -41,15 +41,24 @@ class ClippyDriver:
cmdlist = list(clippy)
prev = None
+ lints_cap = None
for arg in src_block['parameters']:
- if prev:
+ if prev == '--cap-lints':
+ cmdlist.append(prev)
+ lints_cap = arg
+ prev = None
+ elif prev:
prev = None
continue
- elif arg in {'--emit', '--out-dir'}:
+ if arg in {'--emit', '--out-dir', '--cap-lints'}:
prev = arg
else:
cmdlist.append(arg)
+ # no use in running clippy if it wouldn't print anything anyway
+ if lints_cap == 'allow':
+ break
+
cmdlist.extend(src_block['sources'])
# the default for --emit is to go all the way to linking,
# and --emit dep-info= is not enough for clippy to do