@vitaut

Jason talked about THE THING....

https://www.youtube.com/watch?v=TreruByxQWE

What was the "forward declare" trick? You had a blog article about that?

You may wish to comment under Jason's video and even get him to make a video about the workaround.

And we should pressure the Vendors to improve their QoI, IMHO.

C++ Weekly - Ep 523 - Why I'm Still Using std::cout (on this channel)

YouTube
@oschonrock which thing?

@vitaut

compile time and binary size of the stdlib implementations of format and print.

watch the video.. it's only 7mins

@oschonrock That's a known problem, I even opened an issue: https://github.com/llvm/llvm-project/issues/163002. I would suggest using {fmt} until it is fixed.
Massive binary bloat in std::print · Issue #163002 · llvm/llvm-project

Consider the following trivial program (std-print.cc): #include <print> int main() { std::print("{}\n", 42); } Compiling it with libc++ and Apple clang version 17.0.0 (clang-1700.3.19.1) on macOS r...

GitHub

@vitaut

yes, I am aware.

I just thought Jason covering it, would be good opportunity to broaden awareness of the real cause of the issue (QoI) and that we can hopefully expect improvements.

stdlibc++ needs to follow suit...
waiting for MSVC might take a long time.

@oschonrock They are all aware. The problems is that WG21 has been dumping tons of garbage and the number of maintainers is very low.

@vitaut

I think there are plenty of non-committee people who are not aware that <format> and <print> compiling at turtle speed and bloating binaries to supernova size is a pure QoI issue...

Even Jason didn't really make that clear in his video. I assume he knows, but most of the audience doesn't, as can be seen by the comments.

@oschonrock @vitaut When nobody implements something in a great way, then maybe it is not an implementation issue? Maybe it is the standard? Or maybe it is an organisational issue?

Maybe people that care for C++ need to maintain a good reference compiler frontend and let the compiler people care for the compiler backend stuff?

@hunger @vitaut

It is precisely this lack of clarity why i brought this up.

There is an excellent reference implementation.

It's called {fmt}.

@hunger @vitaut

Also. I was wrong about MSVC. It's fast on this feature with no bloat.

So that's 2 implementations which are decent.

Looks like QoI, not the standard.