Created by: kuzkry
Note: this is dependent on #5124, so there is only one commit in this PR.
When useStructModel=true
is set and a model specifies no properties and assuming no compilation errors, then a generated struct will not produce -Wunused-parameter warnings.
Unfortunately, I didn't find a nice and clean solution. My ideas include:
-
(void) argument
orstatic_cast<void>(argument)
- conditionally specify only type like
const NoProperties&
instead ofconst NoProperties& o
, however that means a messier template -
__attribute__((unused))
but this isn't standard -
[[maybe_unused]]
but it's C++17 so I guess it's a no-go template <typename T> void ignore(T) {}
So I decided to use the first option as it's a noop for compilers but I dunno. If you have any better idea, let me know.
PR checklist
-
Read the contribution guidelines. -
If contributing template-only or documentation-only changes which will change sample output, build the project before. -
Run the shell script(s) under ./bin/
(or Windows batch scripts under.\bin\windows
) to update Petstore samples related to your fix. This is important, as CI jobs will verify all generator outputs of your HEAD commit, and these must match the expectations made by your contribution. You only need to run./bin/{LANG}-petstore.sh
,./bin/openapi3/{LANG}-petstore.sh
if updating the code or mustache templates for a language ({LANG}
) (e.g. php, ruby, python, etc). -
File the PR against the correct branch: master
,4.3.x
,5.0.x
. Default:master
. -
Copy the technical committee to review the pull request if your PR is targeting a particular programming language.
@ravinikam @stkrwork @etherealjoy @MartinDelille @muttleyxd
P.S. I still bin/openapi3/cpp-pistache-server-petstore.sh
since the changes I get seem to be unrelated.