On Monday, 9 September 2019 05:44:15 PDT Mutz, Marc via Development wrote: > 1. For the writer of the code, having to add the version check means > researching the history of a feature to unearth the value with which the > feature was originally added. cppreference.com is not very helpful in > that regard, as APIs are tagged with (since C++17), but not with (if > __cpp_foo >= 201911). There's a page listing all the values, incl., one > might hope, all the historical ones, but it's still extra work. > > 2. For the reader of the code, at least those poor souls who cannot > memorize all the feature macros' initial values, the version check > actively hides information: the structure of the code indicates that the > code depends on a certain version of the feature when in fact it > doesn't. > > 3. The wider C++ community seems to settle for non-versioned checks if > the initial version is sufficient, which may mean that Qt introduces an > impedance mismatch for pre-standard values where Qt checks the version > and users and other libraries do not. If there actually are non-standard > implementation who nonetheless defined the standard feature-test macro, > but with a lower value, Qt and the user will not agree on the presence > of a feature.
Ok. I have no objection. I prefer the versioned one, but you have good arguments why it would be difficult to the developer. I always found that reading SD-1 was easy, but now that it's been incorporated into the language it may no longer be. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel System Software Products _______________________________________________ Development mailing list Development@qt-project.org https://lists.qt-project.org/listinfo/development