Instances For
def
Lean.Elab.registerDerivingHandlerWithArgs
(className : Lake.Name)
(handler : Lean.Elab.DerivingHandler)
:
A DerivingHandler
is called on the fully qualified names of all types it is running for
as well as the syntax of a with
argument, if present.
For example, deriving instance Foo with fooArgs for Bar, Baz
invokes
fooHandler #[`Bar, `Baz] `(fooArgs)
.
Instances For
def
Lean.Elab.registerDerivingHandler
(className : Lake.Name)
(handler : Lean.Elab.DerivingHandlerNoArgs)
:
Like registerBuiltinDerivingHandlerWithArgs
but ignoring any with
argument.
Instances For
Instances For
def
Lean.Elab.applyDerivingHandlers
(className : Lake.Name)
(typeNames : Array Lake.Name)
(args? : Option (Lean.TSyntax `Lean.Parser.Term.structInst))
:
Instances For
- ref : Lean.Syntax
- className : Lake.Name
- args? : Option (Lean.TSyntax `Lean.Parser.Term.structInst)
Instances For
def
Lean.Elab.getOptDerivingClasses
{m : Type → Type}
[Monad m]
[Lean.MonadEnv m]
[Lean.MonadResolveName m]
[Lean.MonadError m]
[Lean.Elab.MonadInfoTree m]
(optDeriving : Lean.Syntax)
:
Instances For
def
Lean.Elab.DerivingClassView.applyHandlers
(view : Lean.Elab.DerivingClassView)
(declNames : Array Lake.Name)
: