Compare commits

...

1 Commits

Author SHA1 Message Date
Leonardo de Moura
8bd69fed15 fix: missing test at addDocString 2024-04-01 19:13:26 -07:00
2 changed files with 11 additions and 2 deletions

View File

@@ -16,10 +16,12 @@ private builtin_initialize docStringExt : MapDeclarationExtension String ← mkM
def addBuiltinDocString (declName : Name) (docString : String) : IO Unit :=
builtinDocStrings.modify (·.insert declName docString.removeLeadingSpaces)
def addDocString [MonadEnv m] (declName : Name) (docString : String) : m Unit :=
def addDocString [Monad m] [MonadError m] [MonadEnv m] (declName : Name) (docString : String) : m Unit := do
unless ( getEnv).getModuleIdxFor? declName |>.isNone do
throwError s!"invalid doc string, declaration '{declName}' is in an imported module"
modifyEnv fun env => docStringExt.insert env declName docString.removeLeadingSpaces
def addDocString' [Monad m] [MonadEnv m] (declName : Name) (docString? : Option String) : m Unit :=
def addDocString' [Monad m] [MonadError m] [MonadEnv m] (declName : Name) (docString? : Option String) : m Unit :=
match docString? with
| some docString => addDocString declName docString
| none => return ()

7
tests/lean/run/3497.lean Normal file
View File

@@ -0,0 +1,7 @@
import Lean
/--
error: invalid doc string, declaration 'Nat.mul' is in an imported module
-/
#guard_msgs (error) in
#eval show Lean.MetaM Unit from Lean.addDocString `Nat.mul "oh no"