Conversation
0e58d23 to
966c6f9
Compare
| auto const devnode = mgc::value_or(device.devnode(), ""); | ||
| mir::log_debug("Quirks(egl-destroy-surface): checking device with devnode: {}, driver {}", devnode, driver); |
There was a problem hiding this comment.
Passing nulls as format arguments crashes.
|
@tarek-y-ismail I've opened a new pull request, #4687, to work on those changes. Once the pull request is ready, I'll request review from you. |
After investigation, keeping both the variadic C-style overload and the template std::format-based overload causes unavoidable ambiguity according to ISO C++. The standard treats variadic functions specially in overload resolution, making both overloads match even when the template is technically a better match. Since PR #4682 already converts all usage to the new std::format-based API, we accept this as a breaking change and remove the deprecated variadic overload. Migration: Change printf-style format specifiers (%) to std::format style ({}). Co-authored-by: tarek-y-ismail <[email protected]>
966c6f9 to
ffc982b
Compare
ffc982b to
062c628
Compare
|
Having both va list and brace style logging functions (
|
062c628 to
9539df3
Compare
|
Gradual transition options I can think of at the moment include:
|
Provided both APIs are available I don't see the need for either of these options. Each call site requires updating the format string, changing the function called can happen at the same time. |
That's the catch. see #4682 (comment) |
Closes #4682 ## What's new? They require a working graphics setup, which we can't reliably expect in CI. ## How to test TICS passes. ## Checklist - [x] Tests added and pass - [ ] Adequate documentation added - [ ] (optional) Added Screenshots or videos
Closes #???
What's new?
mir::log_*andLoggerto use brace format syntax.How to test
Read the code