Skip to content

Commit 744e03d

Browse files
authored
print admonition for auto-import only once per module (#57775)
Fix negation mistake introduced by #57614 which broke #57378. Re-fix #57756
1 parent 2231c00 commit 744e03d

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

src/module.c

+3-3
Original file line numberDiff line numberDiff line change
@@ -680,7 +680,7 @@ static NOINLINE void print_backdate_admonition(jl_binding_t *b) JL_NOTSAFEPOINT
680680
static inline void check_backdated_binding(jl_binding_t *b, enum jl_partition_kind kind) JL_NOTSAFEPOINT
681681
{
682682
if (__unlikely(kind == PARTITION_KIND_BACKDATED_CONST) &&
683-
!(jl_atomic_fetch_or(&b->flags, BINDING_FLAG_DID_PRINT_BACKDATE_ADMONITION) & BINDING_FLAG_DID_PRINT_BACKDATE_ADMONITION)) {
683+
!(jl_atomic_fetch_or_relaxed(&b->flags, BINDING_FLAG_DID_PRINT_BACKDATE_ADMONITION) & BINDING_FLAG_DID_PRINT_BACKDATE_ADMONITION)) {
684684
print_backdate_admonition(b);
685685
}
686686
}
@@ -858,8 +858,8 @@ JL_DLLEXPORT jl_binding_t *jl_get_binding_for_method_def(jl_module_t *m, jl_sym_
858858
jl_errorf("invalid method definition in %s: function %s.%s must be explicitly imported to be extended",
859859
jl_module_debug_name(m), jl_module_debug_name(from), jl_symbol_name(var));
860860
}
861-
else if (jl_atomic_fetch_or(&b->flags, BINDING_FLAG_DID_PRINT_IMPLICIT_IMPORT_ADMONITION) &
862-
BINDING_FLAG_DID_PRINT_IMPLICIT_IMPORT_ADMONITION) {
861+
else if (!(jl_atomic_fetch_or_relaxed(&b->flags, BINDING_FLAG_DID_PRINT_IMPLICIT_IMPORT_ADMONITION) &
862+
BINDING_FLAG_DID_PRINT_IMPLICIT_IMPORT_ADMONITION)) {
863863
jl_printf(JL_STDERR, "WARNING: Constructor for type \"%s\" was extended in `%s` without explicit qualification or import.\n"
864864
" NOTE: Assumed \"%s\" refers to `%s.%s`. This behavior is deprecated and may differ in future versions.\n"
865865
" NOTE: This behavior may have differed in Julia versions prior to 1.12.\n"

0 commit comments

Comments
 (0)