#include #include #include #include void test(QEvent *ev) { switch (ev->type()) { case QEvent::MouseMove: { auto a = static_cast(ev); // Warn auto b = static_cast(ev); // OK break; } case QEvent::KeyPress: { auto a = static_cast(ev); // OK auto b = static_cast(ev); // Warn int val = 0; switch (val) { // unrelated switch case 1000: { auto a = static_cast(ev); // OK auto b = static_cast(ev); // Warn } } break; } case QEvent::Paint: case QEvent::MetaCall: { if (ev->type() == QEvent::Paint) auto pe = static_cast(ev); // OK break; } default: break; } }