mirror of
https://github.com/pybind/pybind11.git
synced 2024-11-11 08:03:55 +00:00
style: clang-tidy: llvm-namespace-comment
This commit is contained in:
parent
d65e34d61d
commit
8dc31c7b29
8
.clang-tidy
Normal file
8
.clang-tidy
Normal file
@ -0,0 +1,8 @@
|
||||
FormatStyle: file
|
||||
|
||||
Checks: '
|
||||
-*,
|
||||
llvm-namespace-comment,
|
||||
'
|
||||
|
||||
HeaderFilterRegex: 'pybind11/.*h'
|
25
.github/CONTRIBUTING.md
vendored
25
.github/CONTRIBUTING.md
vendored
@ -164,6 +164,30 @@ name, pre-commit):
|
||||
pre-commit install
|
||||
```
|
||||
|
||||
### Clang-Tidy
|
||||
|
||||
To run Clang tidy, the following recipe should work. Files will be modified in
|
||||
place, so you can use git to monitor the changes.
|
||||
|
||||
```bash
|
||||
docker run --rm -v $PWD:/pybind11 -it silkeh/clang:10
|
||||
apt-get update && apt-get install python3-dev python3-pytest
|
||||
cmake -S pybind11/ -B build -DCMAKE_CXX_CLANG_TIDY="$(which clang-tidy);-fix"
|
||||
cmake --build build
|
||||
```
|
||||
|
||||
### Include what you use
|
||||
|
||||
To run include what you use, install (`brew install include-what-you-use` on
|
||||
macOS), then run:
|
||||
|
||||
```bash
|
||||
cmake -S . -B build-iwyu -DCMAKE_CXX_INCLUDE_WHAT_YOU_USE=$(which include-what-you-use)
|
||||
cmake --build build
|
||||
```
|
||||
|
||||
The report is sent to stderr; you can pip it into a file if you wish.
|
||||
|
||||
### Build recipes
|
||||
|
||||
This builds with the Intel compiler (assuming it is in your path, along with a
|
||||
@ -186,7 +210,6 @@ cmake -S pybind11/ -B build
|
||||
cmake --build build
|
||||
```
|
||||
|
||||
|
||||
[pre-commit]: https://pre-commit.com
|
||||
[pybind11.readthedocs.org]: http://pybind11.readthedocs.org/en/latest
|
||||
[issue tracker]: https://github.com/pybind/pybind11/issues
|
||||
|
16
.github/workflows/format.yml
vendored
16
.github/workflows/format.yml
vendored
@ -17,3 +17,19 @@ jobs:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-python@v2
|
||||
- uses: pre-commit/action@v2.0.0
|
||||
|
||||
clang-tidy:
|
||||
name: Clang-Tidy
|
||||
runs-on: ubuntu-latest
|
||||
container: silkeh/clang:10
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Install requirements
|
||||
run: apt-get update && apt-get install -y python3-dev python3-pytest
|
||||
|
||||
- name: Configure
|
||||
run: cmake -S . -B build -DCMAKE_CXX_CLANG_TIDY="$(which clang-tidy);--warnings-as-errors=*"
|
||||
|
||||
- name: Build
|
||||
run: cmake --build build -j 2
|
||||
|
@ -1929,7 +1929,7 @@ inline namespace literals {
|
||||
String literal version of `arg`
|
||||
\endrst */
|
||||
constexpr arg operator"" _a(const char *name, size_t) { return arg(name); }
|
||||
}
|
||||
} // namespace literals
|
||||
|
||||
PYBIND11_NAMESPACE_BEGIN(detail)
|
||||
|
||||
|
@ -35,7 +35,7 @@ namespace accessor_policies {
|
||||
struct sequence_item;
|
||||
struct list_item;
|
||||
struct tuple_item;
|
||||
}
|
||||
} // namespace accessor_policies
|
||||
using obj_attr_accessor = accessor<accessor_policies::obj_attr>;
|
||||
using str_attr_accessor = accessor<accessor_policies::str_attr>;
|
||||
using item_accessor = accessor<accessor_policies::generic_item>;
|
||||
@ -976,7 +976,7 @@ inline namespace literals {
|
||||
String literal version of `str`
|
||||
\endrst */
|
||||
inline str operator"" _s(const char *s, size_t size) { return {s, size}; }
|
||||
}
|
||||
} // namespace literals
|
||||
|
||||
/// \addtogroup pytypes
|
||||
/// @{
|
||||
|
@ -58,7 +58,7 @@ public:
|
||||
std::string name_;
|
||||
const std::string &name() { return name_; }
|
||||
};
|
||||
}
|
||||
} // namespace pets
|
||||
|
||||
struct MixGL { int i; MixGL(int i) : i{i} {} };
|
||||
struct MixGL2 { int i; MixGL2(int i) : i{i} {} };
|
||||
|
@ -74,7 +74,7 @@ struct C {
|
||||
# pragma GCC diagnostic pop
|
||||
#endif
|
||||
};
|
||||
}
|
||||
} // namespace test_exc_sp
|
||||
|
||||
|
||||
TEST_SUBMODULE(constants_and_functions, m) {
|
||||
|
@ -58,7 +58,8 @@ public:
|
||||
return py::none().release();
|
||||
}
|
||||
};
|
||||
}}
|
||||
} // namespace detail
|
||||
} // namespace pybind11
|
||||
|
||||
// test_custom_caster_destruction
|
||||
class DestructionTester {
|
||||
@ -79,7 +80,8 @@ template <> struct type_caster<DestructionTester> {
|
||||
return py::bool_(true).release();
|
||||
}
|
||||
};
|
||||
}}
|
||||
} // namespace detail
|
||||
} // namespace pybind11
|
||||
|
||||
TEST_SUBMODULE(custom_type_casters, m) {
|
||||
// test_custom_type_casters
|
||||
|
@ -73,7 +73,7 @@ namespace std {
|
||||
// Not a good hash function, but easy to test
|
||||
size_t operator()(const Vector2 &) { return 4; }
|
||||
};
|
||||
}
|
||||
} // namespace std
|
||||
|
||||
// Not a good abs function, but easy to test.
|
||||
std::string abs(const Vector2&) {
|
||||
|
@ -27,7 +27,8 @@ namespace pybind11 { namespace detail {
|
||||
struct holder_helper<ref<T>> {
|
||||
static const T *get(const ref<T> &p) { return p.get_ptr(); }
|
||||
};
|
||||
}}
|
||||
} // namespace detail
|
||||
} // namespace pybind11
|
||||
|
||||
// The following is not required anymore for std::shared_ptr, but it should compile without error:
|
||||
PYBIND11_DECLARE_HOLDER_TYPE(T, std::shared_ptr<T>);
|
||||
|
@ -47,7 +47,7 @@ struct TplCtorClass {
|
||||
namespace std {
|
||||
template <>
|
||||
struct hash<TplCtorClass> { size_t operator()(const TplCtorClass &) const { return 0; } };
|
||||
}
|
||||
} // namespace std
|
||||
|
||||
|
||||
template <template <typename> class OptionalImpl, typename T>
|
||||
|
@ -117,7 +117,7 @@ namespace pybind11 {
|
||||
static const void *get(const itype *src, const std::type_info*& type)
|
||||
{ type = src ? Animal::type_of_kind(src->kind) : nullptr; return src; }
|
||||
};
|
||||
}
|
||||
} // namespace pybind11
|
||||
|
||||
TEST_SUBMODULE(tagbased_polymorphic, m) {
|
||||
py::class_<Animal>(m, "Animal")
|
||||
|
Loading…
Reference in New Issue
Block a user