mirror of
https://github.com/qbittorrent/qBittorrent
synced 2025-07-12 16:23:07 -07:00
Use proper macro for unreachable switch cases
Those are the `default` cases which are not expected to hit (nor reachable) normally. When the code is compiled with release mode and it reaches `Q_UNREACHABLE()`, it becomes undefined behavior. So it rely on the developers to catch the errors in debug mode. The upside of this is that the `switch` statement will be more optimized than not using it. This also means the statements after `Q_UNREACHABLE()` isn't important. It allow anything to preserve the intention of the code. This macro is preferred over C++23 `std::unreachable` because it will automatically insert a `Q_ASSERT(false)` with it. PR #21752.
This commit is contained in:
parent
b462a2bf0c
commit
051d7137ea
10 changed files with 27 additions and 17 deletions
|
@ -410,7 +410,7 @@ void AdvancedSettings::updateInterfaceAddressCombo()
|
|||
case QAbstractSocket::IPv6Protocol:
|
||||
return Utils::Net::canonicalIPv6Addr(address).toString();
|
||||
default:
|
||||
Q_ASSERT(false);
|
||||
Q_UNREACHABLE();
|
||||
break;
|
||||
}
|
||||
return {};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue