Can someone explain it in a language that mere mortals understand? Anthony Williams [[carries_dependency]] is used to allow dependencies to be carried across function calls. This potentially allows the compiler to generate better code when used with std::memory_order_consume for transferring values between threads on platforms with weakly-ordered architectures such as IBM's POWER architecture. In particular, if a value read with memory_order_consume is passed in to a function, then without [[carries_dependency]] , then the compiler may have to issue a memory fence instruction to guarantee that