Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Relax use of QT_NO_CAST_FROM_ASCII to QT_RESTRICTED_CAST_FROM_ASCII
This is an opt-in trade-off between type safety and user code convenience. QT_NO_CAST_FROM_ASCII is highly beneficial to avoid unintended conversions from 8 bit data with potentially "unsuitable" encodings to QString. However, it has the undesirable side-effect to require user code to wrap character and string literals in QLatin1Char(...) and QLatin1String(...) or use similar construction, cluttering the code significantly. QT_RESTRICTED_CAST_FROM_ASCII macro works almost as QT_NO_CAST_FROM_ASCII, except that it enables the QChar(char) constructor and adds an additional QString(const char (&ch)[N]) constructor that matches C++ string literals, but no arbitrary character pointers. This avoids a significant share of the need to clutter the user code by only a slight relaxation of the type-safety. Change-Id: I64e0430bb1352edcedf7e19ee25c16408727084c Reviewed-by: Orgad Shaneh <[email protected]> Reviewed-by: Eike Ziller <[email protected]>
- Loading branch information