From 6e1451dbd8a2a5a6a38296dd87fe4acd008cf627 Mon Sep 17 00:00:00 2001 From: Sebastian Ullrich Date: Thu, 14 Aug 2025 11:03:41 +0100 Subject: [PATCH] fix: duplicate private instance name avoidance under the module system (#9914) --- src/Lean/Elab/MutualDef.lean | 4 +++- stage0/src/stdlib_flags.h | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/Lean/Elab/MutualDef.lean b/src/Lean/Elab/MutualDef.lean index 0c369f54f2..072b6b1cc5 100644 --- a/src/Lean/Elab/MutualDef.lean +++ b/src/Lean/Elab/MutualDef.lean @@ -1386,7 +1386,9 @@ def elabMutualDef (ds : Array Syntax) : CommandElabM Unit := do let modifiers ← elabModifiers ⟨d[0]⟩ if ds.size > 1 && modifiers.isNonrec then throwErrorAt d "invalid use of 'nonrec' modifier in 'mutual' block" - let mut view ← mkDefView modifiers d[1] + let mut view ← + withExporting (isExporting := modifiers.visibility.isInferredPublic (← getEnv)) do + mkDefView modifiers d[1] if view.kind != .example && view.value matches `(declVal| := rfl) then view := view.markDefEq let fullHeaderRef := mkNullNode #[d[0], view.headerRef] diff --git a/stage0/src/stdlib_flags.h b/stage0/src/stdlib_flags.h index 79a0e58edd..b3911deb05 100644 --- a/stage0/src/stdlib_flags.h +++ b/stage0/src/stdlib_flags.h @@ -1,5 +1,7 @@ #include "util/options.h" +// Dear CI, please update stage 0 + namespace lean { options get_default_options() { options opts;