mirror of
https://github.com/pybind/pybind11.git
synced 2024-11-22 05:05:11 +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
|
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
|
### Build recipes
|
||||||
|
|
||||||
This builds with the Intel compiler (assuming it is in your path, along with a
|
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
|
cmake --build build
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
[pre-commit]: https://pre-commit.com
|
[pre-commit]: https://pre-commit.com
|
||||||
[pybind11.readthedocs.org]: http://pybind11.readthedocs.org/en/latest
|
[pybind11.readthedocs.org]: http://pybind11.readthedocs.org/en/latest
|
||||||
[issue tracker]: https://github.com/pybind/pybind11/issues
|
[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/checkout@v2
|
||||||
- uses: actions/setup-python@v2
|
- uses: actions/setup-python@v2
|
||||||
- uses: pre-commit/action@v2.0.0
|
- 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`
|
String literal version of `arg`
|
||||||
\endrst */
|
\endrst */
|
||||||
constexpr arg operator"" _a(const char *name, size_t) { return arg(name); }
|
constexpr arg operator"" _a(const char *name, size_t) { return arg(name); }
|
||||||
}
|
} // namespace literals
|
||||||
|
|
||||||
PYBIND11_NAMESPACE_BEGIN(detail)
|
PYBIND11_NAMESPACE_BEGIN(detail)
|
||||||
|
|
||||||
|
@ -35,7 +35,7 @@ namespace accessor_policies {
|
|||||||
struct sequence_item;
|
struct sequence_item;
|
||||||
struct list_item;
|
struct list_item;
|
||||||
struct tuple_item;
|
struct tuple_item;
|
||||||
}
|
} // namespace accessor_policies
|
||||||
using obj_attr_accessor = accessor<accessor_policies::obj_attr>;
|
using obj_attr_accessor = accessor<accessor_policies::obj_attr>;
|
||||||
using str_attr_accessor = accessor<accessor_policies::str_attr>;
|
using str_attr_accessor = accessor<accessor_policies::str_attr>;
|
||||||
using item_accessor = accessor<accessor_policies::generic_item>;
|
using item_accessor = accessor<accessor_policies::generic_item>;
|
||||||
@ -976,7 +976,7 @@ inline namespace literals {
|
|||||||
String literal version of `str`
|
String literal version of `str`
|
||||||
\endrst */
|
\endrst */
|
||||||
inline str operator"" _s(const char *s, size_t size) { return {s, size}; }
|
inline str operator"" _s(const char *s, size_t size) { return {s, size}; }
|
||||||
}
|
} // namespace literals
|
||||||
|
|
||||||
/// \addtogroup pytypes
|
/// \addtogroup pytypes
|
||||||
/// @{
|
/// @{
|
||||||
|
@ -58,7 +58,7 @@ public:
|
|||||||
std::string name_;
|
std::string name_;
|
||||||
const std::string &name() { return name_; }
|
const std::string &name() { return name_; }
|
||||||
};
|
};
|
||||||
}
|
} // namespace pets
|
||||||
|
|
||||||
struct MixGL { int i; MixGL(int i) : i{i} {} };
|
struct MixGL { int i; MixGL(int i) : i{i} {} };
|
||||||
struct MixGL2 { int i; MixGL2(int i) : i{i} {} };
|
struct MixGL2 { int i; MixGL2(int i) : i{i} {} };
|
||||||
|
@ -74,7 +74,7 @@ struct C {
|
|||||||
# pragma GCC diagnostic pop
|
# pragma GCC diagnostic pop
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
}
|
} // namespace test_exc_sp
|
||||||
|
|
||||||
|
|
||||||
TEST_SUBMODULE(constants_and_functions, m) {
|
TEST_SUBMODULE(constants_and_functions, m) {
|
||||||
|
@ -58,7 +58,8 @@ public:
|
|||||||
return py::none().release();
|
return py::none().release();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}}
|
} // namespace detail
|
||||||
|
} // namespace pybind11
|
||||||
|
|
||||||
// test_custom_caster_destruction
|
// test_custom_caster_destruction
|
||||||
class DestructionTester {
|
class DestructionTester {
|
||||||
@ -79,7 +80,8 @@ template <> struct type_caster<DestructionTester> {
|
|||||||
return py::bool_(true).release();
|
return py::bool_(true).release();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}}
|
} // namespace detail
|
||||||
|
} // namespace pybind11
|
||||||
|
|
||||||
TEST_SUBMODULE(custom_type_casters, m) {
|
TEST_SUBMODULE(custom_type_casters, m) {
|
||||||
// test_custom_type_casters
|
// test_custom_type_casters
|
||||||
|
@ -73,7 +73,7 @@ namespace std {
|
|||||||
// Not a good hash function, but easy to test
|
// Not a good hash function, but easy to test
|
||||||
size_t operator()(const Vector2 &) { return 4; }
|
size_t operator()(const Vector2 &) { return 4; }
|
||||||
};
|
};
|
||||||
}
|
} // namespace std
|
||||||
|
|
||||||
// Not a good abs function, but easy to test.
|
// Not a good abs function, but easy to test.
|
||||||
std::string abs(const Vector2&) {
|
std::string abs(const Vector2&) {
|
||||||
|
@ -27,7 +27,8 @@ namespace pybind11 { namespace detail {
|
|||||||
struct holder_helper<ref<T>> {
|
struct holder_helper<ref<T>> {
|
||||||
static const T *get(const ref<T> &p) { return p.get_ptr(); }
|
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:
|
// 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>);
|
PYBIND11_DECLARE_HOLDER_TYPE(T, std::shared_ptr<T>);
|
||||||
|
@ -47,7 +47,7 @@ struct TplCtorClass {
|
|||||||
namespace std {
|
namespace std {
|
||||||
template <>
|
template <>
|
||||||
struct hash<TplCtorClass> { size_t operator()(const TplCtorClass &) const { return 0; } };
|
struct hash<TplCtorClass> { size_t operator()(const TplCtorClass &) const { return 0; } };
|
||||||
}
|
} // namespace std
|
||||||
|
|
||||||
|
|
||||||
template <template <typename> class OptionalImpl, typename T>
|
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)
|
static const void *get(const itype *src, const std::type_info*& type)
|
||||||
{ type = src ? Animal::type_of_kind(src->kind) : nullptr; return src; }
|
{ type = src ? Animal::type_of_kind(src->kind) : nullptr; return src; }
|
||||||
};
|
};
|
||||||
}
|
} // namespace pybind11
|
||||||
|
|
||||||
TEST_SUBMODULE(tagbased_polymorphic, m) {
|
TEST_SUBMODULE(tagbased_polymorphic, m) {
|
||||||
py::class_<Animal>(m, "Animal")
|
py::class_<Animal>(m, "Animal")
|
||||||
|
Loading…
Reference in New Issue
Block a user