Date: Fri, 12 Nov 2021 13:37:40 -0500
On 11/12/21 12:45, Lénárd Szolnoki via Std-Proposals wrote:
> A more useful "trait" would be something like an eagerly evaluated
> `__is_complete(T)` (not suggesting this name), that doesn't risk
> ODR-violation at least on the trait itself. Otherwise I think even a
> concept is subject to ODR rules to evaluate to the same thing within a
> TU, but I'm not a 100% sure on that. I think I saw cached concept
> results when I played around with that.
[temp.constr.atomic]/3:
> If, at different points in the program, the satisfaction result is
> different for identical atomic constraints and template arguments, the
> program is ill-formed, no diagnostic required.
> <http://eel.is/c++draft/temp.constr#atomic-3.sentence-5>
> A more useful "trait" would be something like an eagerly evaluated
> `__is_complete(T)` (not suggesting this name), that doesn't risk
> ODR-violation at least on the trait itself. Otherwise I think even a
> concept is subject to ODR rules to evaluate to the same thing within a
> TU, but I'm not a 100% sure on that. I think I saw cached concept
> results when I played around with that.
[temp.constr.atomic]/3:
> If, at different points in the program, the satisfaction result is
> different for identical atomic constraints and template arguments, the
> program is ill-formed, no diagnostic required.
> <http://eel.is/c++draft/temp.constr#atomic-3.sentence-5>
-- Jason Cobb
Received on 2021-11-12 12:37:44