Skip to content

Fix invoke#34

Open
yaito3014 wants to merge 22 commits intomainfrom
fix-invoke
Open

Fix invoke#34
yaito3014 wants to merge 22 commits intomainfrom
fix-invoke

Conversation

@yaito3014
Copy link
Copy Markdown
Owner

@yaito3014 yaito3014 commented Mar 29, 2026

fixes #32, fixes #33

@yaito3014 yaito3014 self-assigned this Mar 29, 2026
@yaito3014 yaito3014 added the bug Something isn't working label Mar 29, 2026
Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request refactors the invoke polyfill into a dedicated internal header and expands support for volatile-qualified, ref-qualified, and C-style variadic member functions. Feedback identifies an incorrect noexcept specifier for member object pointer dereferencing and suggests using macros to reduce repetitive trait specializations.

Comment thread include/yk/polyfill/bits/invoke.hpp Outdated
Comment thread include/yk/polyfill/bits/invoke.hpp
Comment thread include/yk/polyfill/bits/invoke.hpp
@cppwarningnotifier

This comment has been minimized.

@cppwarningnotifier

This comment has been minimized.

@cppwarningnotifier

This comment has been minimized.

@yaito3014
Copy link
Copy Markdown
Owner Author

/gemini review

Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request refactors the invoke polyfill by moving its implementation to a dedicated internal header and significantly expanding its capabilities. The new implementation adds support for cv-qualified, ref-qualified, and C-style variadic member function pointers, as well as noexcept function types. Additionally, the configuration logic was updated to better handle MSVC language versioning and detect C++20 features. Review feedback suggests modernizing the template logic by using if constexpr or std::enable_if_t and replacing complex macros with more maintainable metaprogramming techniques.

Comment thread include/yk/polyfill/bits/invoke.hpp
Comment thread include/yk/polyfill/bits/invoke.hpp
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

invoke() does not support volatile, ref-qualified, or C-style variadic member functions Incorrect noexcept specification for invoke()

1 participant