ソースを参照

dispatcher: try to also please g++12

skypjack 1 ヶ月 前
コミット
b8cb5de8dd
1 ファイル変更10 行追加6 行削除
  1. 10 6
      test/entt/signal/dispatcher.cpp

+ 10 - 6
test/entt/signal/dispatcher.cpp

@@ -11,10 +11,16 @@ struct non_aggregate {
 };
 
 struct receiver {
-    static void forward(entt::dispatcher &dispatcher, test::empty &event) {
+    static void forward_empty(entt::dispatcher &dispatcher, test::empty &event) {
         dispatcher.enqueue(event);
     }
 
+    static void forward_int(entt::dispatcher &owner, int &value) {
+        for(int next{}; next < value; ++next) {
+            owner.enqueue<int>(value);
+        }
+    }
+
     void receive(const test::empty &) {
         ++cnt;
     }
@@ -120,7 +126,7 @@ TEST(Dispatcher, StopAndGo) {
     entt::dispatcher dispatcher{};
     receiver receiver{};
 
-    dispatcher.sink<test::empty>().connect<&receiver::forward>(dispatcher);
+    dispatcher.sink<test::empty>().connect<&receiver::forward_empty>(dispatcher);
     dispatcher.sink<test::empty>().connect<&receiver::receive>(receiver);
 
     dispatcher.enqueue<test::empty>();
@@ -128,7 +134,7 @@ TEST(Dispatcher, StopAndGo) {
 
     ASSERT_EQ(receiver.cnt, 1);
 
-    dispatcher.sink<test::empty>().disconnect<&receiver::forward>(dispatcher);
+    dispatcher.sink<test::empty>().disconnect<&receiver::forward_empty>(dispatcher);
     dispatcher.update();
 
     ASSERT_EQ(receiver.cnt, 2);
@@ -188,9 +194,7 @@ TEST(Dispatcher, AutoQueue) {
     entt::dispatcher dispatcher{};
 
     // enqueueing the same event type does not invalidate references - see #1303
-    dispatcher.sink<int>().connect<+[](entt::dispatcher &owner, int &value) {
-        for(int next{}; next < value; ++next) { owner.enqueue<int>(value); }
-    }>(dispatcher);
+    dispatcher.sink<int>().connect<&receiver::forward_int>(dispatcher);
 
     dispatcher.enqueue<int>(4);
     dispatcher.update<int>();