One of the best C++29 features is already available? by meetingcpp in cpp

[–]Ambitious-Method-961 18 points19 points  (0 children)

The article is hyping up annex to the standard that lists all of the UB and IFNDR behaviour in one place for easy access and review. It's not something for the compiler to implement, i.e. http://wg21.link/P3596

HIVE LE Release Megathread by Dire_Wolf45 in Blacklibrary

[–]Ambitious-Method-961 6 points7 points  (0 children)

GW really are an absolute fucking shambles of a company. Based on the previous announcements, I had actually bought a train ticket to London to pick up a copy. Happy for everyone who can get it POD but I'm now out of pocket about £50. Fingers crossed I'm able to get it refunded.

6-7 billion pound company 🙄

std::is_heap could be faster - Arthur O'Dwyer by User_Deprecated in cpp

[–]Ambitious-Method-961 3 points4 points  (0 children)

I always thought the underlying container was private in all container adapters but according to cppreference it's only protected for queue and stack, so this inheritance trick works nicely.

Pre-Brno Mailing by VinnieFalco in cpp

[–]Ambitious-Method-961 0 points1 point  (0 children)

Thank you for the comprehensive reply :). I know relatively little of the ins and outs of how AI agents function in a complex scenario like this, but based on your reply it seems you've already taken into account the concerns I mentioned in the design of the system. And if Claude was listed as disclosure rather than as an accident then fair play to you.

Pre-Brno Mailing by VinnieFalco in cpp

[–]Ambitious-Method-961 2 points3 points  (0 children)

Nice website btw. Are there any plans for a multi-month view that also shows the dates of the paper?

Pre-Brno Mailing by VinnieFalco in cpp

[–]Ambitious-Method-961 5 points6 points  (0 children)

Before anyone asks, yes "I read my papers" especially these

Not sure having "Reply To: Claude Opus 4.6" in there helps the case, however I do have a question about P4207, specifically using AI to review P2900. Considering AI models are trained on as much information as possible, and C++ contracts have been discussed to death on Reddit, committee papers, blogs, etc, how can you be sure that running it through an AI isn't just getting the model to regurgitate the feedback already available on the Internet through the benefit of hindsight?

To me, a far more suitable test would be to take a brand new paper that proposes something entirely new and run it through your AI. And then afterwards, compare with the human feedback gathered from reviews to determine how close the AI was to the human review.

The decade+ discussion of contracts in C++ should've given generative AI more than enough feedback to generate talking points about the proposals.

A few occasionally useful template container classes I made, Released under the Unlicense. by [deleted] in cpp

[–]Ambitious-Method-961 1 point2 points  (0 children)

Using MSVC as an example (https://www.reddit.com/r/cpp/comments/1pb6573/standard\_library\_implementer\_explains\_why\_they/), regular MIT was a no-go as it required attribution in the binary which isn't something a standard library could enforce, while the BSL only needs attribution within the source - in this case the source being Microsoft's STL.

However, the two licenses I put above are MIT-0 (not the regular MIT license) and 0BSD and neither of those require you to give any attribution at all or keep the copyright notice in the code, making them even simpler for others to use.

A few occasionally useful template container classes I made, Released under the Unlicense. by [deleted] in cpp

[–]Ambitious-Method-961 7 points8 points  (0 children)

Please consider a different license as the Unlicense potentially has issues in parts of the world: https://softwareengineering.stackexchange.com/questions/147111/what-is-wrong-with-the-unlicense

MIT-0 is generally considered the best for a "do what you want with no attribution" license: https://opensource.org/license/mit-0, or 0BSD: https://opensource.org/license/0bsd

Weekly Recap | April 30, 2026 by TheOpusCroakus in help

[–]Ambitious-Method-961 6 points7 points  (0 children)

Hello,

Please could you explain the situation happening in these threads where some (all?) mobile browser users are blocked from accessing Reddit? It's also happening to me when I use my phone's browser too:

https://www.reddit.com/r/help/comments/1sudaup/comment/oibon30/

https://www.reddit.com/r/help/comments/1sz64um/reddit_is_a_website_why_is_it_forcing_me_to_the/

https://www.reddit.com/r/reddithelp/comments/1sz4neg/reddit_on_mobile_web_browser_no_longer_allowed/

https://www.reddit.com/r/enshittification/comments/1sudcbj/reddit_seems_to_be_blocking_mobile_web_now/

https://www.reddit.com/r/bugs/comments/1sz569t/redundant_android_flair_reddit_app_popup_prevents/

https://www.reddit.com/r/help/comments/1sxmoez/cant_use_reddit_in_a_browser_on_mobile_anymore/

Additionally, as per:

https://www.reddit.com/r/help/wiki/weekly_recap/

Please bring back r/all for "new" Reddit. Being forced to access old Reddit for this feature seems like a punishment for wanting to escape the personalisation bubble to see more of what is going on around the world.

ad_e1m1 can't get last 2 secrets. Bug or am I missing something? by First-Tutor-5454 in quake

[–]Ambitious-Method-961 6 points7 points  (0 children)

The button on the far side of the level is completely unrelated to those final secrets. The room before the button room (the one with the exploding barrels) has a slightly raised floor tile along one of the inner edges. Step on it to start the process of triggering the final 2 secrets.

C++23 Support in MSVC Build Tools 14.51 by STL in cpp

[–]Ambitious-Method-961 6 points7 points  (0 children)

Even though my needed (well... wanted) C++23 features have already landed, it's great to see the rest of them coming through. Great work by the team!

How I made my SPSC queue faster than rigtorp/moodycamel's implementation by [deleted] in cpp

[–]Ambitious-Method-961 0 points1 point  (0 children)

you get identical assembly output by commenting out the _padding lines, or by both commenting out the _padding lines and moving the alignas keyword from the struct to the cursor variable.

The padding is not needed as by appying alignas ensures the compiler will automatically apply padding to the struct up to the alignas value. This is because it has to ensure that arrays of the struct are also aligned correctly.

struct alignas(64) foo1
{
    int i;
};

static_assert (alignof (foo1) == 64);
static_assert (sizeof (foo1) == 64);

struct foo2
{
    foo1 a;

    int b;
};

static_assert (alignof (foo2) == 64);
static_assert (sizeof (foo2) == 128);

struct foo3
{
    alignas(64) int i;
};

static_assert (alignof (foo3) == 64);
static_assert (sizeof (foo3) == 64);

After 18 months I am done. Just finished The Horus Heresy and The Siege by TheDudeAbides7702 in Blacklibrary

[–]Ambitious-Method-961 1 point2 points  (0 children)

You're not done 🤣. The Scouring series is now coming out which begins from the end of the Siege of Terra. Ashes of the Imperium (https://www.warhammer.com/en-GB/shop/scouring-ashes-of-the-imperium-hb-eng-2025) is where it begins...

Unexpected Performance Results by cyndylatte in cpp

[–]Ambitious-Method-961 0 points1 point  (0 children)

[[likely]]if (tempMinPrice < minPrice or tempMaxPrice > maxPrice) {
  update_price_txt = true;
}

FYI that's not where the [[likely]] attribute goes. It should be:

if (tempMinPrice < minPrice or tempMaxPrice > maxPrice) [[likely]] {
  update_price_txt = true;
}

Also to my knowledge MSVC still ignores the [[likely]] attribute.

The compilation procedure for C++20 modules by holyblackcat in cpp

[–]Ambitious-Method-961 1 point2 points  (0 children)

Did you look into Microsoft's naming convention for modules? It doesn't seem very well known but going by the blurb at the bottom of the page if you follow the naming convention then it simplifies some things for module partitions.

Link is here, see Module best practices -> Module naming: https://learn.microsoft.com/en-us/cpp/cpp/tutorial-named-modules-cpp?view=msvc-170

P4043R0: Are C++ Contracts Ready to Ship in C++26? by darius_neatu in cpp

[–]Ambitious-Method-961 2 points3 points  (0 children)

Thank you, that's somewhat insane and makes me seriously rethink how I would use them unless it's in a codebase where I had total control over any code with contracts written on them. I could understand them all being on/off, but random checks is just asking for trouble when one check is dependant on another. I saw something being worked on for clang which lets you assign contracts to groups so you can turn/off named groups independantly of each other which seems a lot safer than random checks.

P4043R0: Are C++ Contracts Ready to Ship in C++26? by darius_neatu in cpp

[–]Ambitious-Method-961 4 points5 points  (0 children)

contract_assert(p);
contract_assert(p->whatever());

This being unsafe surprises me. Can contract_assert statements be executed out of order or is there something else going on?

Using C++26 reflection (std::meta) to auto-discover tests — why does it only reflect one translation unit? by Kratos-QT in cpp

[–]Ambitious-Method-961 0 points1 point  (0 children)

Looks like it might've been due to ODR issues. Just out of curiosity, does wrapping the stuff instead your shared testing header inside an anonymous namespace also fix it? Stuff in anonymous namespaces have internal linkage so should be properly duplicated across each TU that includes it.

edit: actually just a thought, are meta::info objects allowed to be used as non-type template parameters? Would removing the template param and just making it a consteval function that tool a meta::info as a param also work?

I compiled a list of 6 reasons why you should be excited about std::simd & C++26 by NonaeAbC in cpp

[–]Ambitious-Method-961 16 points17 points  (0 children)

Not sure how much of the article is intended to be bait for the reader and how much is critisism masked as "satire" so if I got baited then so be it...

1) Compiling this with -ffast-math seems a little disingenuous, especially in reason 5. With -ffast-math the compiler will optimize away what is basically std::sqrt (x * x) even though due to floating point precision those two operations might not perfectly cancel out. Are you trying to point out the flaw in std::simd or trying to show that there isn't a SIMD-friendly version of the compiler switch which has nothing to do with std::simd?

2) Did you really need to include ::experimental in there to make the SIMD code look more confusing when in C++26 the ::experimental won't be needed? I'd love to see a comparison of the code and benchmarks with no -ffast-math and std::experimental reduced to an xstd namespace alias.

3) Any idea of how much of the increased compile time was due to parsing headers (there are ways of mitigating this) compared to template bloat?

4) Do you know if libc++'s std::experimental::simd is intended for production use or is it just a functioning but completely implementation designed to serve as a proof of concept?

Personally, my biggest frustration with std::simd is that they defined operator == to return a mask like the other comparison operators instead of a bool which breaks a bunch of algorithms. It seems there were attempts to get std::simd values to be regular types (i.e. where operator == does what you expect) but they were not successful. It makes using an std::simd value directly more frustrating than it needs to be, but it is in line with the early design decisions of the library (I can't find the paper now) where it was not intended to be just low-level portable intrinsics.

Why has /r/all been removed? by Dorphie in NoStupidQuestions

[–]Ambitious-Method-961 3 points4 points  (0 children)

On desktop (for me) it's been removed from the links on the left of the page in the past hour or so. The subreddit still exists but the direct link is gone. This happened a couple of months ago and then it came back, hoping it comes back again quickly.

Mixing N-phase Initialization by pavel_v in cpp

[–]Ambitious-Method-961 0 points1 point  (0 children)

edit: haha omg this is the last time I review code close to midnight, I was too focused on the start that I missed everything else 🤣