1
1
Fork 0
mirror of https://github.com/NixOS/nix.git synced 2025-12-12 20:11:03 +01:00

Merge pull request #14741 from NixOS/better-variant-wrapper

Fix `MAKE_WRAPPER_CONSTRUCTOR` to not override special constructors
This commit is contained in:
Sergei Zimmerman 2025-12-08 23:26:03 +00:00 committed by GitHub
commit afc2b96c5e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -22,10 +22,12 @@
*
* The moral equivalent of `using Raw::Raw;`
*/
#define MAKE_WRAPPER_CONSTRUCTOR(CLASS_NAME) \
FORCE_DEFAULT_CONSTRUCTORS(CLASS_NAME) \
\
CLASS_NAME(auto &&... arg) \
: raw(std::forward<decltype(arg)>(arg)...) \
{ \
#define MAKE_WRAPPER_CONSTRUCTOR(CLASS_NAME) \
FORCE_DEFAULT_CONSTRUCTORS(CLASS_NAME) \
\
template<typename... Args> \
requires(!(sizeof...(Args) == 1 && (std::is_same_v<std::remove_cvref_t<Args>, CLASS_NAME> && ...))) \
CLASS_NAME(Args &&... arg) \
: raw(std::forward<Args>(arg)...) \
{ \
}