From 0e5d0b2eee0f61d07cd602e5167de3202d9bec10 Mon Sep 17 00:00:00 2001 From: Jake Macdonald Date: Wed, 8 Nov 2023 22:18:53 +0000 Subject: [PATCH] specify a bit more about the error --- working/macros/feature-specification.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/working/macros/feature-specification.md b/working/macros/feature-specification.md index 2a9e698bef..0b9743a7da 100644 --- a/working/macros/feature-specification.md +++ b/working/macros/feature-specification.md @@ -950,8 +950,10 @@ later resolved to a different declaration. In order to resolve these discrepancies we add this rule: -- **It is an error for a macro to add a declaration which shadows any** - **previously resolved identifier.**. +- **It is a compile time error for a macro to add a declaration which shadows** + **any previously resolved identifier.**. These errors occur after a macro + runs, when the compiler is merging in the macro results, and so it is not + catchable or detectable by macros. This situation can typically only happen because of one of the above scenarios surrounding metadata annotations or const evaluation, and can typically be