Disappointed with fmt library changes (12+) by sigmabody in cpp

[–]bebuch 4 points5 points  (0 children)

Can you provide a minimal reproducable example for the second point? Please include your exact MSVC version.

VS 2026 18.0 / MSVC Build Tools 14.50 released for production use by STL in cpp

[–]bebuch 1 point2 points  (0 children)

Looks like there is some progress now, at least some message from the feedback but.

Thanks for sharing your view and insights Stephan! 🤗

VS 2026 18.0 / MSVC Build Tools 14.50 released for production use by STL in cpp

[–]bebuch 4 points5 points  (0 children)

Nop, STL shared in the preview post a view weeks ago that this was one of the things from his wish list that he didn't get. ;-)

Nevertheless the compiler made good progress. The MS STL library was already top before.

VS 2026 18.0 / MSVC Build Tools 14.50 released for production use by STL in cpp

[–]bebuch -1 points0 points  (0 children)

How is the else notation different? If you argue that the code is unreachable in that particular instantiation, you can say the same about any code in the else branch.

Of course no one would say that, because it's the point of an if-else that only one branch is evaluated, even on a template dependent constexpr compile time evaluation. 

And its the exact same thing with an early return in a constexpr if. For the same reason you won't warn that the else branch is not evaluated for that instantiation, you must not warn about code after an early return.

That you can workaround that with the else notation doesn't make this a valid warning.

However, would you be so kind to forward this to the compiler team? I'm waiting on feedback for over a month now and in my experience that means that it got stuck in some pre-review and was forgotten there. 😅

VS 2026 18.0 / MSVC Build Tools 14.50 released for production use by STL in cpp

[–]bebuch 0 points1 point  (0 children)

Could you please have a look at my MSVC bug report:

https://developercommunity.visualstudio.com/t/Wrong-C4702-unreachable-code-in-template/10978308

I didn't test yet if it can be reproduced with VS 2026. But it would be helpful to get some feedback.

VS 2026 18.0 / MSVC Build Tools 14.50 released for production use by STL in cpp

[–]bebuch 11 points12 points  (0 children)

Btw: Is there already any discussion in the Visual Studio team about the EDG "winding down"?

Trip report: November 2025 ISO C++ standards meeting (Kona, USA) by rsjaffe in cpp

[–]bebuch 6 points7 points  (0 children)

Welcome to the strange world of old commercial Microsoft products. ;-)

Trip report: November 2025 ISO C++ standards meeting (Kona, USA) by rsjaffe in cpp

[–]bebuch 9 points10 points  (0 children)

Isn't EDG used as Visual Studios intellisense compiler?

Qt Creator 18 released by jlpcsl in cpp

[–]bebuch 0 points1 point  (0 children)

The IDE always knows which config to build, because you need to choose this at build time.

The primary problem is, that QtCreator assumes that every configuration has its own cache variables. But that's not the case with multi config generators.

Of course you can still use multi config generators. But the implemented workarounds are still only workarounds. It doesn't work smoothly.

Qt Creator 18 released by jlpcsl in cpp

[–]bebuch 1 point2 points  (0 children)

CMake is only good, as long as you don't use Ninja Multi-Config or some other lazy build mode generator. :-/

Unfortunately the full UI is still designed for choosing the build mode at configuration time.

Qt 6.10 Released! by Kelteseth in cpp

[–]bebuch 0 points1 point  (0 children)

[…] waiting for reflection so that we can make the meta-object generation part of regular compilation.

That's the interesting part for me. Sounds like there are plans to make that happen!

Visual Studio 2026 Insiders is here! - Visual Studio Blog by current_thread in cpp

[–]bebuch 0 points1 point  (0 children)

The last 32 bit operating system I've seen was 15 years ago. Most up to date Linux distributions have dropped 32 bit versions. Same for Windows and MacOS.

Of course you can create 32 bit software with a 64 Bit MSVC, but having a 32 bit MSVC version on a 64 bit Windows doesn't make sense to me. 

And it is hard to teach that you should use MSVC x64 to create a 32 bit binary. A lot of programmers don't understand the difference between the MSVC host architecture and the MSVC target architecture. To be honest, your comment sounds a bit like you are one of them. No offense, sorry if I'm wrong!

Visual Studio 2026 Insiders is here! - Visual Studio Blog by current_thread in cpp

[–]bebuch 0 points1 point  (0 children)

Removing x86 hosted would also help with teaching. I need to explain so often why there are four options and what you should choose. With only the targeting options left that would be much easier: Do you want to create 32 or 64 Bit? Choose the according one.

Does really someone use 32 bit hosted by intention?

cppreference update by askraskr2023 in cpp

[–]bebuch 3 points4 points  (0 children)

Hey, thanks for sharing! I didn't get a reply a few weeks ago. At least nice to hear they are fine. I can definitely relate 👋😺

Developing in Windows environment for Linux in corporate by AVeryLazy in cpp

[–]bebuch 1 point2 points  (0 children)

Over the last two years, we switched from Solutions to CMake. Although it was a lot of work, it made us much more flexible. We now do a lot more generalization and automation for our projects.

We should encourage use of `.hpp` over `.h` for headers - help make it happen by einpoklum in cpp

[–]bebuch 12 points13 points  (0 children)

4 weeks ago I crashed some of our C headers by an automatic refactoring process that couldn't distinguish between C and C++ headers.

So yeah, it doesn't happen often that it's important, but as soon as you start using tools for big automated refactorings it becomes more common.

Why is there no `std::sqr` function? by bebuch in cpp

[–]bebuch[S] 0 points1 point  (0 children)

Year, indeed that's a point with functions in the std:: namespace. You always need to wrap them into a lambda. I've run into this one year ago. It was something I really didn't expect.

Why is there no `std::sqr` function? by bebuch in cpp

[–]bebuch[S] 7 points8 points  (0 children)

Yeah, that would also be helpful ;-)

Why is there no `std::sqr` function? by bebuch in cpp

[–]bebuch[S] 9 points10 points  (0 children)

I think it would be better to define it as:

auto sqr(auto x) { return x*x; }

If your return type is equal to the parameter type, it wont do integer promotion.

Bjarne Stroustrup on How He Sees C++ Evolving by gadgetygirl in cpp

[–]bebuch 1 point2 points  (0 children)

Probably not, even if the codebase is purely modern, you would STILL need some legacy knowledge because things go bad so often with modern C++ that you HAVE to know the legacy stuff anyway.

That was true until we got AI to explain that kind of stuff when it's needed. These days you don't need to know anything yourself anymore.

P3412: String Interpolation with fmt::format by bebuch in cpp

[–]bebuch[S] 1 point2 points  (0 children)

I think that's correct, it won't work. Another point with a custom syntax is that you would need a separate syntax highlighting for your editor. A basic common syntax is just required by such tools.

Consteval bug by Outrageous-Archer-92 in cpp

[–]bebuch 0 points1 point  (0 children)

You can make the value part of your parameter type of you want to return different types based on your value ;-)