From b8cb5de8ddd39e927d8b48f33aa37adbed2f4c94 Mon Sep 17 00:00:00 2001 From: skypjack Date: Thu, 22 Jan 2026 17:54:02 +0100 Subject: [PATCH] dispatcher: try to also please g++12 --- test/entt/signal/dispatcher.cpp | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/test/entt/signal/dispatcher.cpp b/test/entt/signal/dispatcher.cpp index 25bcd9524..d7b8d717a 100644 --- a/test/entt/signal/dispatcher.cpp +++ b/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(value); + } + } + void receive(const test::empty &) { ++cnt; } @@ -120,7 +126,7 @@ TEST(Dispatcher, StopAndGo) { entt::dispatcher dispatcher{}; receiver receiver{}; - dispatcher.sink().connect<&receiver::forward>(dispatcher); + dispatcher.sink().connect<&receiver::forward_empty>(dispatcher); dispatcher.sink().connect<&receiver::receive>(receiver); dispatcher.enqueue(); @@ -128,7 +134,7 @@ TEST(Dispatcher, StopAndGo) { ASSERT_EQ(receiver.cnt, 1); - dispatcher.sink().disconnect<&receiver::forward>(dispatcher); + dispatcher.sink().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().connect<+[](entt::dispatcher &owner, int &value) { - for(int next{}; next < value; ++next) { owner.enqueue(value); } - }>(dispatcher); + dispatcher.sink().connect<&receiver::forward_int>(dispatcher); dispatcher.enqueue(4); dispatcher.update();