From 0534572646dceeb3949d8037c57e1a1916f8257a Mon Sep 17 00:00:00 2001 From: ulic-youthlic Date: Mon, 28 Apr 2025 13:58:27 +0800 Subject: [PATCH] add requires for function --- main.cxx | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/main.cxx b/main.cxx index 358ccec..540e1f8 100644 --- a/main.cxx +++ b/main.cxx @@ -8,7 +8,11 @@ struct BuildMixin {}; template <> struct BuildMixin { - auto build(this auto&& self) { return self.p1 + self.p2; } + auto build(this auto&& self) + requires requires { self.p1 + self.p2; } + { + return self.p1 + self.p2; + } }; template @@ -16,7 +20,9 @@ struct Param1Mixin {}; template <> struct Param1Mixin { - auto fill_param1(this auto&& self) { + auto fill_param1(this auto&& self) + requires requires { self.p1; } + { self.p1 = 1; return Builder::param2_v>( self); @@ -28,7 +34,9 @@ struct Param2Mixin {}; template <> struct Param2Mixin { - auto fill_param2(this auto&& self) { + auto fill_param2(this auto&& self) + requires requires { self.p2; } + { self.p2 = 1; return Builder::param1_v, true>( self);