3 ms·
Clang prints out things about macro instantiations on the semantic error reporting paths. That probably means it has all the macro information available already
by JonChesterfield 2y ago
Clang prints out things about macro instantiations on the semantic error reporting paths. That probably means it has all the macro information available already.
It's not probably reflected to the language because C++ fears reflection in general and hates macros in particular.
- g15jv2dp 2y ago> C++ fears reflection in general and hates macros in particular. Macros aren't a particular case of reflection... And at least in the way they're done in C++, they're a big source of bugs / spaghetti.
- formerly_proven 2y ago> C++ fears reflection and hates macros But only wicked gods would banish us from paradise Why do they fear our power? Because evil is what they are.
- bluGill 2y agoReflection is on track for C++26 so it is completely wrong to say C++ fears reflection.
- Joker_vD 2y agoReflection proposals have been around at least since 2014, so I'd say it's exactly right to say that C++ fears it — otherwise it'd have arrived much sooner.
- bluGill 2y agoC++ fears getting reflection wrong, which is why it takes a long time to get it in.
- 3836293648 2y agoC++ fears getting lots of stuff wrong, which is why they got rid of good concepts, waited 20 years and then added bad concepts
- pjmlp 2y agoSo is the fate of design by committee languages and APIs, where not always the best comes out, rather what the people that decided to show up voted on, and those hard enough to keep battling for their papers throughout all voting sessions until the final victory.
- bluGill 2y agoIt was only 10 years between getting rid of concepts and getting the replacement in. They got rid of "good concepts" because when attempts were made to implement them the build for a simple "hello world" was over 15 hours and the implementers didn't think they could optimize that enough to have acceptable build times. As such I wouldn't call what they got rid of good concepts - to be good it needs to be nice not just in an academic paper, but also in the real world.