chore: add ShareCommonM.run, and remove workaround

This commit is contained in:
Leonardo de Moura 2020-10-13 09:29:10 -07:00
parent 0889293a2c
commit ca0b11137a
2 changed files with 7 additions and 1 deletions

View file

@ -61,7 +61,7 @@ private def shareCommon (preDefs : Array PreDefinition) : Array PreDefinition :=
let result : Std.ShareCommonM (Array PreDefinition) :=
preDefs.mapM fun preDef => do
pure { preDef with type := (← Std.withShareCommon preDef.type), value := (← Std.withShareCommon preDef.value) }
result.run (m := Id) -- TODO: remove (m := Id)
result.run
def fixLevelParams (preDefs : Array PreDefinition) (scopeLevelNames allUserLevelNames : List Name) : TermElabM (Array PreDefinition) := do
let preDefs := shareCommon preDefs

View file

@ -143,6 +143,12 @@ x.run' ShareCommon.State.empty
@[inline] def PShareCommonT.run {m : Type u → Type v} [Monad m] {α : Type u} (x : PShareCommonT m α) : m α :=
x.run' ShareCommon.PersistentState.empty
@[inline] def ShareCommonM.run {α : Type u} (x : ShareCommonM α) : α :=
Id.run x.run
@[inline] def PShareCommonM.run {α : Type u} (x : PShareCommonM α) : α :=
Id.run x.run
def shareCommon {α} (a : α) : α :=
(withShareCommon a : ShareCommonM α).run