dispatcher: try to also please g++12
This commit is contained in:
@@ -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>();
|
||||
|
||||
Reference in New Issue
Block a user