This repository was archived by the owner on Jul 4, 2025. It is now read-only.
fix: ignored-attributes warning in CommandExecutor #2075
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Describe Your Changes
-The warning was triggered by using
decltype(&PCLOSE)
to deduce the deleter type for thestd::unique_ptr
memberm_pipe
. Whiledecltype(&PCLOSE)
correctly deduces the function pointer type, the compiler flags this as a potential issue because attributes associated with the function pointer type (if any existed in the definition ofPCLOSE
) are ignored when used as a template argument.To resolve this warning, the deleter type for
std::unique_ptr
is now explicitly specified asint (*)(FILE*)
. This directly states the function pointer type expected forPCLOSE
and avoids the attribute deduction issue.This is a code quality improvement and does not change the functionality of the
CommandExecutor
class. It only modifies the type declaration of them_pipe
member.