mirror of
https://github.com/pybind/pybind11.git
synced 2026-04-21 23:39:09 +00:00
Appease MSVC Warning C4866: compiler may not enforce left-to-right evaluation order (#5953)
* Appease MSVC Warning C4866: compiler may not enforce left-to-right evaluation order * Remove const qualifier * Reword comment to be self-explanatory without PR context The previous comment referenced the MSVC warning but didn't explain why the code is structured as two statements. The revised comment clarifies the intent: fetching the value first ensures well-defined evaluation order. * chore(deps): switch typos to mirror repo Switch from crate-ci/typos to adhtruong/mirrors-typos because pre-commit autoupdate confuses tags in the upstream repo, selecting the mutable `v1` tag instead of pinned versions like `v1.41.0`. See https://github.com/crate-ci/typos/issues/390 --------- Co-authored-by: Ralf W. Grosse-Kunstleve <rgrossekunst@nvidia.com>
This commit is contained in:
@@ -119,8 +119,10 @@ repos:
|
|||||||
args: ["-x.codespell-ignore-lines", "-Lccompiler,intstruct"]
|
args: ["-x.codespell-ignore-lines", "-Lccompiler,intstruct"]
|
||||||
|
|
||||||
# Also check spelling
|
# Also check spelling
|
||||||
- repo: https://github.com/crate-ci/typos
|
# Use mirror because pre-commit autoupdate confuses tags in the upstream repo.
|
||||||
rev: v1
|
# See https://github.com/crate-ci/typos/issues/390
|
||||||
|
- repo: https://github.com/adhtruong/mirrors-typos
|
||||||
|
rev: "v1.41.0"
|
||||||
hooks:
|
hooks:
|
||||||
- id: typos
|
- id: typos
|
||||||
args: []
|
args: []
|
||||||
|
|||||||
@@ -1081,7 +1081,10 @@ protected:
|
|||||||
dict kwargs;
|
dict kwargs;
|
||||||
for (size_t i = 0; i < used_kwargs.size(); ++i) {
|
for (size_t i = 0; i < used_kwargs.size(); ++i) {
|
||||||
if (!used_kwargs[i]) {
|
if (!used_kwargs[i]) {
|
||||||
kwargs[PyTuple_GET_ITEM(kwnames_in, i)] = args_in_arr[n_args_in + i];
|
// Fetch value before indexing into kwargs to ensure well-defined
|
||||||
|
// evaluation order (MSVC C4866).
|
||||||
|
PyObject *const arg_in_arr = args_in_arr[n_args_in + i];
|
||||||
|
kwargs[PyTuple_GET_ITEM(kwnames_in, i)] = arg_in_arr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
call.args.push_back(kwargs);
|
call.args.push_back(kwargs);
|
||||||
|
|||||||
Reference in New Issue
Block a user