diff options
author | Dylan Baker <dylan@pnwbakers.com> | 2022-09-07 14:59:47 -0700 |
---|---|---|
committer | Eli Schwartz <eschwartz@archlinux.org> | 2022-11-30 16:23:29 -0500 |
commit | 2d349eae8cb6f1f3b61838dca7cc989e9278be28 (patch) | |
tree | bc8d6325543e0df74b16941996f07797a746a2f6 /mesonbuild/dependencies/boost.py | |
parent | 50f35039e7df321a309ee45db57d37635bf53ce3 (diff) | |
download | meson-2d349eae8cb6f1f3b61838dca7cc989e9278be28.zip meson-2d349eae8cb6f1f3b61838dca7cc989e9278be28.tar.gz meson-2d349eae8cb6f1f3b61838dca7cc989e9278be28.tar.bz2 |
pylint: enable the set_membership plugin
Which adds the `use-set-for-membership` check. It's generally faster in
python to use a set with the `in` keyword, because it's a hash check
instead of a linear walk, this is especially true with strings, where
it's actually O(n^2), one loop over the container, and an inner loop of
the strings (as string comparison works by checking that `a[n] == b[n]`,
in a loop).
Also, I'm tired of complaining about this in reviews, let the tools do
it for me :)
Diffstat (limited to 'mesonbuild/dependencies/boost.py')
-rw-r--r-- | mesonbuild/dependencies/boost.py | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/mesonbuild/dependencies/boost.py b/mesonbuild/dependencies/boost.py index 2a901ce..4ebd88d 100644 --- a/mesonbuild/dependencies/boost.py +++ b/mesonbuild/dependencies/boost.py @@ -152,9 +152,9 @@ class BoostLibraryFile(): self.version_lib = '{}_{}'.format(self.vers_raw[0], self.vers_raw[1]) # Detecting library type - if self.nvsuffix in ['so', 'dll', 'dll.a', 'dll.lib', 'dylib']: + if self.nvsuffix in {'so', 'dll', 'dll.a', 'dll.lib', 'dylib'}: self.static = False - elif self.nvsuffix in ['a', 'lib']: + elif self.nvsuffix in {'a', 'lib'}: self.static = True else: raise UnknownFileException(self.path) @@ -177,7 +177,7 @@ class BoostLibraryFile(): for i in tags: if i == 'mt': self.mt = True - elif len(i) == 3 and i[1:] in ['32', '64']: + elif len(i) == 3 and i[1:] in {'32', '64'}: self.arch = i elif BoostLibraryFile.reg_abi_tag.match(i): self.runtime_static = 's' in i @@ -316,13 +316,13 @@ class BoostLibraryFile(): # If no vscrt tag present, assume that it fits ['/MD', '/MDd', '/MT', '/MTd'] if not vscrt: return True - if vscrt in ['/MD', '-MD']: + if vscrt in {'/MD', '-MD'}: return not self.runtime_static and not self.runtime_debug - elif vscrt in ['/MDd', '-MDd']: + elif vscrt in {'/MDd', '-MDd'}: return not self.runtime_static and self.runtime_debug - elif vscrt in ['/MT', '-MT']: + elif vscrt in {'/MT', '-MT'}: return (self.runtime_static or not self.static) and not self.runtime_debug - elif vscrt in ['/MTd', '-MTd']: + elif vscrt in {'/MTd', '-MTd'}: return (self.runtime_static or not self.static) and self.runtime_debug mlog.warning(f'Boost: unknown vscrt tag {vscrt}. This may cause the compilation to fail. Please consider reporting this as a bug.', once=True) |