diff --git a/stage0/src/Init/Meta.lean b/stage0/src/Init/Meta.lean index 92a3509a3e..1a279f6278 100644 --- a/stage0/src/Init/Meta.lean +++ b/stage0/src/Init/Meta.lean @@ -634,17 +634,18 @@ instance Option.hasQuote {α : Type} [Quote α] : Quote (Option α) where quote := quoteOption /- Evaluator for `prec` DSL -/ -partial def evalPrec : Syntax → MacroM Nat - | `(prec| $num:numLit) => return num.isNatLit?.getD 0 - | `(prec| $a + $b) => return (← evalPrec a) + (← evalPrec b) - | `(prec| $a - $b) => return (← evalPrec a) - (← evalPrec b) - | prec => Macro.withIncRecDepth prec do - if prec.getKind == choiceKind then - evalPrec prec[0] - else - match (← expandMacro? prec) with - | some prec => evalPrec prec - | _ => Macro.throwErrorAt prec "unexpected precedence" +def evalPrec (stx : Syntax) : MacroM Nat := + Macro.withIncRecDepth stx do + let stx ← expandMacros stx + match stx with + | `(prec| $num:numLit) => return num.isNatLit?.getD 0 + | _ => Macro.throwErrorAt stx "unexpected precedence" + +macro_rules + | `(prec| $a + $b) => do `(prec| $(quote <| (← evalPrec a) + (← evalPrec b)):numLit) + +macro_rules + | `(prec| $a - $b) => do `(prec| $(quote <| (← evalPrec a) - (← evalPrec b)):numLit) macro "evalPrec! " p:prec:max : term => return quote (← evalPrec p) @@ -652,18 +653,19 @@ def evalOptPrec : Option Syntax → MacroM Nat | some prec => evalPrec prec | none => return 0 -/- Evaluator for `prec` DSL -/ -partial def evalPrio : Syntax → MacroM Nat - | `(prio| $num:numLit) => return num.isNatLit?.getD 0 - | `(prio| $a + $b) => return (← evalPrio a) + (← evalPrio b) - | `(prio| $a - $b) => return (← evalPrio a) - (← evalPrio b) - | prio => Macro.withIncRecDepth prio do - if prio.getKind == choiceKind then - evalPrio prio[0] - else - match (← expandMacro? prio) with - | some prio => evalPrio prio - | _ => Macro.throwErrorAt prio "unexpected priority" +/- Evaluator for `prio` DSL -/ +def evalPrio (stx : Syntax) : MacroM Nat := + Macro.withIncRecDepth stx do + let stx ← expandMacros stx + match stx with + | `(prio| $num:numLit) => return num.isNatLit?.getD 0 + | _ => Macro.throwErrorAt stx "unexpected priority" + +macro_rules + | `(prio| $a + $b) => do `(prio| $(quote <| (← evalPrio a) + (← evalPrio b)):numLit) + +macro_rules + | `(prio| $a - $b) => do `(prio| $(quote <| (← evalPrio a) - (← evalPrio b)):numLit) macro "evalPrio! " p:prio:max : term => return quote (← evalPrio p) diff --git a/stage0/src/Lean/Attributes.lean b/stage0/src/Lean/Attributes.lean index 2c442d1889..bc62937fc3 100644 --- a/stage0/src/Lean/Attributes.lean +++ b/stage0/src/Lean/Attributes.lean @@ -11,21 +11,12 @@ namespace Lean inductive AttributeApplicationTime where | afterTypeChecking | afterCompilation | beforeElaboration - deriving Inhabited - -def AttributeApplicationTime.beq : AttributeApplicationTime → AttributeApplicationTime → Bool - | AttributeApplicationTime.afterTypeChecking, AttributeApplicationTime.afterTypeChecking => true - | AttributeApplicationTime.afterCompilation, AttributeApplicationTime.afterCompilation => true - | AttributeApplicationTime.beforeElaboration, AttributeApplicationTime.beforeElaboration => true - | _, _ => false - -instance : BEq AttributeApplicationTime := ⟨AttributeApplicationTime.beq⟩ + deriving Inhabited, BEq abbrev AttrM := CoreM -instance : MonadLift ImportM AttrM := { - monadLift := fun x => do liftM (m := IO) (x { env := (← getEnv), opts := (← getOptions) }) -} +instance : MonadLift ImportM AttrM where + monadLift x := do liftM (m := IO) (x { env := (← getEnv), opts := (← getOptions) }) structure AttributeImplCore where name : Name @@ -35,6 +26,7 @@ structure AttributeImplCore where inductive AttributeKind | «global» | «local» | «scoped» + deriving BEq instance : ToString AttributeKind where toString @@ -42,13 +34,6 @@ instance : ToString AttributeKind where | AttributeKind.local => "local" | AttributeKind.scoped => "scoped" -instance : BEq AttributeKind where - beq - | AttributeKind.global, AttributeKind.global => true - | AttributeKind.local, AttributeKind.local => true - | AttributeKind.scoped, AttributeKind.scoped => true - | _, _ => false - structure AttributeImpl extends AttributeImplCore where add (decl : Name) (args : Syntax) (kind : AttributeKind) : AttrM Unit erase (decl : Name) : AttrM Unit := throwError "attribute cannot be erased" diff --git a/stage0/src/Lean/Compiler/InitAttr.lean b/stage0/src/Lean/Compiler/InitAttr.lean index 59e9b180db..3a4bae53a8 100644 --- a/stage0/src/Lean/Compiler/InitAttr.lean +++ b/stage0/src/Lean/Compiler/InitAttr.lean @@ -40,11 +40,12 @@ unsafe def registerInitAttrUnsafe (attrName : Name) (runAfterImport : Bool) : IO | some initTypeArg => if decl.type == initTypeArg then pure initFnName else throwError! "initialization function '{initFnName}' type mismatch" - | _ => match stx with - | Syntax.missing => + | _ => + if stx.getNumArgs == 0 then if isIOUnit decl.type then pure Name.anonymous else throwError "initialization function must have type `IO Unit`" - | _ => throwError "unexpected kind of argument", + else + throwError "unexpected kind of argument", afterImport := fun entries => do let ctx ← read when runAfterImport do diff --git a/stage0/src/Lean/Elab/Attributes.lean b/stage0/src/Lean/Elab/Attributes.lean index 84b79b0932..98e8852ac0 100644 --- a/stage0/src/Lean/Elab/Attributes.lean +++ b/stage0/src/Lean/Elab/Attributes.lean @@ -6,6 +6,7 @@ Authors: Leonardo de Moura, Sebastian Ullrich import Lean.Parser.Basic import Lean.Attributes import Lean.MonadEnv +import Lean.Elab.Util namespace Lean.Elab structure Attribute where @@ -42,7 +43,7 @@ def toAttributeKind [Monad m] [MonadResolveName m] [MonadError m] (attrKindStx : def mkAttrKindGlobal : Syntax := Syntax.node `Lean.Parser.Term.attrKind #[mkNullNode] -def elabAttr {m} [Monad m] [MonadEnv m] [MonadResolveName m] [MonadError m] (stx : Syntax) : m Attribute := do +def elabAttr {m} [Monad m] [MonadEnv m] [MonadResolveName m] [MonadError m] [MonadMacroAdapter m] [MonadRecDepth m] (stx : Syntax) : m Attribute := do -- attrKind >> rawIdent >> many attrArg let attrKind ← toAttributeKind stx[0] let nameStx := stx[1] @@ -51,22 +52,20 @@ def elabAttr {m} [Monad m] [MonadEnv m] [MonadResolveName m] [MonadError m] (stx | some str => pure $ Name.mkSimple str unless isAttribute (← getEnv) attrName do throwError! "unknown attribute [{attrName}]" - let mut args := stx[2] - -- the old frontend passes Syntax.missing for empty args, for reasons - if args.getNumArgs == 0 then - args := Syntax.missing + /- The `AttrM` does not have sufficient information for expanding macros in `args`. + So, we expand them before here before we invoke the attributer handlers implemented using `AttrM`. -/ + let args ← liftMacroM <| expandMacros stx[2] pure { kind := attrKind, name := attrName, args := args } -- sepBy1 attrInstance ", " -def elabAttrs {m} [Monad m] [MonadEnv m] [MonadResolveName m] [MonadError m] (stx : Syntax) - : m (Array Attribute) := do +def elabAttrs {m} [Monad m] [MonadEnv m] [MonadResolveName m] [MonadError m] [MonadMacroAdapter m] [MonadRecDepth m] (stx : Syntax) : m (Array Attribute) := do let mut attrs := #[] for attr in stx.getSepArgs do attrs := attrs.push (← elabAttr attr) return attrs -- parser! "@[" >> sepBy1 attrInstance ", " >> "]" -def elabDeclAttrs {m} [Monad m] [MonadEnv m] [MonadResolveName m] [MonadError m] (stx : Syntax) : m (Array Attribute) := +def elabDeclAttrs {m} [Monad m] [MonadEnv m] [MonadResolveName m] [MonadError m] [MonadMacroAdapter m] [MonadRecDepth m] (stx : Syntax) : m (Array Attribute) := elabAttrs stx[1] end Lean.Elab diff --git a/stage0/src/Lean/Elab/DeclModifiers.lean b/stage0/src/Lean/Elab/DeclModifiers.lean index 48690ae0dd..c4cd1761c3 100644 --- a/stage0/src/Lean/Elab/DeclModifiers.lean +++ b/stage0/src/Lean/Elab/DeclModifiers.lean @@ -72,7 +72,7 @@ instance : ToString Modifiers := ⟨toString ∘ format⟩ section Methods -variables [Monad m] [MonadEnv m] [MonadResolveName m] [MonadError m] +variables [Monad m] [MonadEnv m] [MonadResolveName m] [MonadError m] [MonadMacroAdapter m] [MonadRecDepth m] def elabModifiers (stx : Syntax) : m Modifiers := do let docCommentStx := stx[0] diff --git a/stage0/stdlib/Init/Meta.c b/stage0/stdlib/Init/Meta.c index 3cc2562365..56bb70a809 100644 --- a/stage0/stdlib/Init/Meta.c +++ b/stage0/stdlib/Init/Meta.c @@ -42,7 +42,6 @@ lean_object* l_Lean_instQuoteBool(uint8_t); lean_object* l_Lean_Syntax_decodeScientificLitVal_x3f_decodeAfterExp___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_forInUnsafe_loop___at_Lean_mkSepArray___spec__1(lean_object*, lean_object*, size_t, size_t, lean_object*); extern lean_object* l_instReprOption___rarg___closed__1; -lean_object* l_Lean_evalPrec_match__1(lean_object*); lean_object* lean_mk_empty_array_with_capacity(lean_object*); lean_object* l_Lean_evalOptPrio_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_expandInterpolatedStr___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*); @@ -152,7 +151,6 @@ extern lean_object* l_Lean_nameLitKind; lean_object* l___private_Init_Meta_0__Lean_Syntax_decodeInterpStrLit_loop_match__1___rarg(lean_object*, lean_object*); lean_object* l___private_Init_Meta_0__Lean_Syntax_isNatLitAux___boxed(lean_object*, lean_object*); lean_object* l_Lean_instQuoteBool___boxed(lean_object*); -lean_object* l_Lean_evalPrio_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* lean_nat_add(lean_object*, lean_object*); lean_object* l_Lean_Syntax_mkSep___boxed(lean_object*, lean_object*); lean_object* l_Lean_Syntax_decodeQuotedChar___boxed__const__6; @@ -209,7 +207,6 @@ lean_object* l___private_Init_Meta_0__Lean_quoteName___closed__6; lean_object* lean_nat_sub(lean_object*, lean_object*); lean_object* l_Lean_termEvalPrio_x21_____closed__3; lean_object* l_Lean_instQuoteProd___rarg___closed__2; -lean_object* l_Lean_evalPrec_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_setHeadInfoAux_match__1(lean_object*); lean_object* l_Lean_mkFreshId___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_decodeScientificLitVal_x3f_decode(lean_object*, lean_object*, lean_object*); @@ -224,7 +221,6 @@ lean_object* l_Lean_Syntax_isCharLit_x3f_match__1(lean_object*); lean_object* l_Array_getSepElems(lean_object*); lean_object* l_Lean_monadNameGeneratorLift___rarg(lean_object*, lean_object*); lean_object* l_Lean_Syntax_decodeQuotedChar_match__1___rarg(lean_object*, lean_object*); -lean_object* l_Lean_evalPrio_match__1(lean_object*); lean_object* l_Lean_Syntax_SepArray_getElems(lean_object*); lean_object* l_Lean_Syntax_getId___boxed(lean_object*); lean_object* l_Lean_Syntax_hasArgs_match__1___rarg(lean_object*, lean_object*, lean_object*); @@ -287,7 +283,6 @@ lean_object* l_Lean_Syntax_getId(lean_object*); lean_object* l_Array_forInUnsafe_loop___at_Lean_mkSepArray___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_strLitToAtom_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l___private_Init_Meta_0__Lean_Syntax_decodeInterpStrQuotedChar___boxed(lean_object*, lean_object*); -extern lean_object* l_Lean_choiceKind; extern lean_object* l_myMacro____x40_Init_Notation___hyg_12520____closed__8; extern lean_object* l_Lean_charLitKind; lean_object* l_Lean_NameGenerator_idx___default; @@ -420,7 +415,6 @@ lean_object* l_Lean_Syntax_getArgs(lean_object*); lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Syntax_SepArray_getElems___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_decodeScientificLitVal_x3f(lean_object*); uint8_t l_Lean_isGreek(uint32_t); -lean_object* l_Lean_Syntax_getKind(lean_object*); lean_object* l___private_Init_Meta_0__Lean_quoteList_match__1(lean_object*, lean_object*); lean_object* l_Lean_termEvalPrio_x21__; lean_object* l___private_Init_Meta_0__Lean_Syntax_decodeInterpStrQuotedChar___boxed__const__1; @@ -544,8 +538,12 @@ lean_object* l___private_Init_Meta_0__Lean_quoteList_match__1___rarg(lean_object lean_object* l_Array_filterSepElemsM___at_Array_filterSepElems___spec__1___boxed(lean_object*, lean_object*); lean_object* l___private_Init_Meta_0__Lean_quoteOption_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_monadNameGeneratorLift___rarg___lambda__1(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_myMacro____x40_Init_Meta___hyg_4125_(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_myMacro____x40_Init_Meta___hyg_4459_(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_myMacro____x40_Init_Meta___hyg_4022_(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_myMacro____x40_Init_Meta___hyg_4141_(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_myMacro____x40_Init_Meta___hyg_4372_(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_myMacro____x40_Init_Meta___hyg_4274_(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_myMacro____x40_Init_Meta___hyg_4491_(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_myMacro____x40_Init_Meta___hyg_3924_(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_expandInterpolatedStr___closed__1; lean_object* l_Lean_Syntax_decodeQuotedChar_match__5(lean_object*); lean_object* l_Lean_Syntax_expandInterpolatedStr___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -9523,36 +9521,6 @@ x_2 = lean_alloc_closure((void*)(l_Lean_Option_hasQuote___rarg), 1, 0); return x_2; } } -lean_object* l_Lean_evalPrec_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -if (lean_obj_tag(x_1) == 0) -{ -lean_object* x_4; -lean_dec(x_2); -x_4 = lean_apply_1(x_3, x_1); -return x_4; -} -else -{ -lean_object* x_5; lean_object* x_6; -lean_dec(x_3); -x_5 = lean_ctor_get(x_1, 0); -lean_inc(x_5); -lean_dec(x_1); -x_6 = lean_apply_1(x_2, x_5); -return x_6; -} -} -} -lean_object* l_Lean_evalPrec_match__1(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_evalPrec_match__1___rarg), 3, 0); -return x_2; -} -} static lean_object* _init_l_Lean_evalPrec___closed__1() { _start: { @@ -9564,103 +9532,402 @@ return x_1; lean_object* l_Lean_evalPrec(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { +uint8_t x_4; +x_4 = !lean_is_exclusive(x_2); +if (x_4 == 0) +{ +lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; uint8_t x_11; +x_5 = lean_ctor_get(x_2, 0); +x_6 = lean_ctor_get(x_2, 1); +x_7 = lean_ctor_get(x_2, 2); +x_8 = lean_ctor_get(x_2, 3); +x_9 = lean_ctor_get(x_2, 4); +x_10 = lean_ctor_get(x_2, 5); +x_11 = lean_nat_dec_eq(x_8, x_9); +if (x_11 == 0) +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; +x_12 = lean_unsigned_to_nat(1u); +x_13 = lean_nat_add(x_8, x_12); +lean_dec(x_8); +lean_ctor_set(x_2, 3, x_13); +lean_inc(x_2); +x_14 = l_Lean_expandMacros(x_1, x_2, x_3); +if (lean_obj_tag(x_14) == 0) +{ +uint8_t x_15; +x_15 = !lean_is_exclusive(x_14); +if (x_15 == 0) +{ +lean_object* x_16; lean_object* x_17; lean_object* x_18; uint8_t x_19; +x_16 = lean_ctor_get(x_14, 0); +x_17 = lean_ctor_get(x_14, 1); +x_18 = l_Lean_numLitKind___closed__2; +lean_inc(x_16); +x_19 = l_Lean_Syntax_isOfKind(x_16, x_18); +if (x_19 == 0) +{ +lean_object* x_20; lean_object* x_21; +lean_free_object(x_14); +x_20 = l_Lean_evalPrec___closed__1; +x_21 = l_Lean_Macro_throwErrorAt___rarg(x_16, x_20, x_2, x_17); +lean_dec(x_16); +return x_21; +} +else +{ +lean_object* x_22; lean_object* x_23; +lean_dec(x_2); +x_22 = l_Lean_numLitKind; +x_23 = l___private_Init_Meta_0__Lean_Syntax_isNatLitAux(x_22, x_16); +lean_dec(x_16); +if (lean_obj_tag(x_23) == 0) +{ +lean_object* x_24; +x_24 = lean_unsigned_to_nat(0u); +lean_ctor_set(x_14, 0, x_24); +return x_14; +} +else +{ +lean_object* x_25; +x_25 = lean_ctor_get(x_23, 0); +lean_inc(x_25); +lean_dec(x_23); +lean_ctor_set(x_14, 0, x_25); +return x_14; +} +} +} +else +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; uint8_t x_29; +x_26 = lean_ctor_get(x_14, 0); +x_27 = lean_ctor_get(x_14, 1); +lean_inc(x_27); +lean_inc(x_26); +lean_dec(x_14); +x_28 = l_Lean_numLitKind___closed__2; +lean_inc(x_26); +x_29 = l_Lean_Syntax_isOfKind(x_26, x_28); +if (x_29 == 0) +{ +lean_object* x_30; lean_object* x_31; +x_30 = l_Lean_evalPrec___closed__1; +x_31 = l_Lean_Macro_throwErrorAt___rarg(x_26, x_30, x_2, x_27); +lean_dec(x_26); +return x_31; +} +else +{ +lean_object* x_32; lean_object* x_33; +lean_dec(x_2); +x_32 = l_Lean_numLitKind; +x_33 = l___private_Init_Meta_0__Lean_Syntax_isNatLitAux(x_32, x_26); +lean_dec(x_26); +if (lean_obj_tag(x_33) == 0) +{ +lean_object* x_34; lean_object* x_35; +x_34 = lean_unsigned_to_nat(0u); +x_35 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_35, 0, x_34); +lean_ctor_set(x_35, 1, x_27); +return x_35; +} +else +{ +lean_object* x_36; lean_object* x_37; +x_36 = lean_ctor_get(x_33, 0); +lean_inc(x_36); +lean_dec(x_33); +x_37 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_37, 0, x_36); +lean_ctor_set(x_37, 1, x_27); +return x_37; +} +} +} +} +else +{ +uint8_t x_38; +lean_dec(x_2); +x_38 = !lean_is_exclusive(x_14); +if (x_38 == 0) +{ +return x_14; +} +else +{ +lean_object* x_39; lean_object* x_40; lean_object* x_41; +x_39 = lean_ctor_get(x_14, 0); +x_40 = lean_ctor_get(x_14, 1); +lean_inc(x_40); +lean_inc(x_39); +lean_dec(x_14); +x_41 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_41, 0, x_39); +lean_ctor_set(x_41, 1, x_40); +return x_41; +} +} +} +else +{ +lean_object* x_42; lean_object* x_43; lean_object* x_44; +lean_free_object(x_2); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +x_42 = l_Lean_maxRecDepthErrorMessage; +x_43 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_43, 0, x_1); +lean_ctor_set(x_43, 1, x_42); +x_44 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_44, 0, x_43); +lean_ctor_set(x_44, 1, x_3); +return x_44; +} +} +else +{ +lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; uint8_t x_51; +x_45 = lean_ctor_get(x_2, 0); +x_46 = lean_ctor_get(x_2, 1); +x_47 = lean_ctor_get(x_2, 2); +x_48 = lean_ctor_get(x_2, 3); +x_49 = lean_ctor_get(x_2, 4); +x_50 = lean_ctor_get(x_2, 5); +lean_inc(x_50); +lean_inc(x_49); +lean_inc(x_48); +lean_inc(x_47); +lean_inc(x_46); +lean_inc(x_45); +lean_dec(x_2); +x_51 = lean_nat_dec_eq(x_48, x_49); +if (x_51 == 0) +{ +lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; +x_52 = lean_unsigned_to_nat(1u); +x_53 = lean_nat_add(x_48, x_52); +lean_dec(x_48); +x_54 = lean_alloc_ctor(0, 6, 0); +lean_ctor_set(x_54, 0, x_45); +lean_ctor_set(x_54, 1, x_46); +lean_ctor_set(x_54, 2, x_47); +lean_ctor_set(x_54, 3, x_53); +lean_ctor_set(x_54, 4, x_49); +lean_ctor_set(x_54, 5, x_50); +lean_inc(x_54); +x_55 = l_Lean_expandMacros(x_1, x_54, x_3); +if (lean_obj_tag(x_55) == 0) +{ +lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; uint8_t x_60; +x_56 = lean_ctor_get(x_55, 0); +lean_inc(x_56); +x_57 = lean_ctor_get(x_55, 1); +lean_inc(x_57); +if (lean_is_exclusive(x_55)) { + lean_ctor_release(x_55, 0); + lean_ctor_release(x_55, 1); + x_58 = x_55; +} else { + lean_dec_ref(x_55); + x_58 = lean_box(0); +} +x_59 = l_Lean_numLitKind___closed__2; +lean_inc(x_56); +x_60 = l_Lean_Syntax_isOfKind(x_56, x_59); +if (x_60 == 0) +{ +lean_object* x_61; lean_object* x_62; +lean_dec(x_58); +x_61 = l_Lean_evalPrec___closed__1; +x_62 = l_Lean_Macro_throwErrorAt___rarg(x_56, x_61, x_54, x_57); +lean_dec(x_56); +return x_62; +} +else +{ +lean_object* x_63; lean_object* x_64; +lean_dec(x_54); +x_63 = l_Lean_numLitKind; +x_64 = l___private_Init_Meta_0__Lean_Syntax_isNatLitAux(x_63, x_56); +lean_dec(x_56); +if (lean_obj_tag(x_64) == 0) +{ +lean_object* x_65; lean_object* x_66; +x_65 = lean_unsigned_to_nat(0u); +if (lean_is_scalar(x_58)) { + x_66 = lean_alloc_ctor(0, 2, 0); +} else { + x_66 = x_58; +} +lean_ctor_set(x_66, 0, x_65); +lean_ctor_set(x_66, 1, x_57); +return x_66; +} +else +{ +lean_object* x_67; lean_object* x_68; +x_67 = lean_ctor_get(x_64, 0); +lean_inc(x_67); +lean_dec(x_64); +if (lean_is_scalar(x_58)) { + x_68 = lean_alloc_ctor(0, 2, 0); +} else { + x_68 = x_58; +} +lean_ctor_set(x_68, 0, x_67); +lean_ctor_set(x_68, 1, x_57); +return x_68; +} +} +} +else +{ +lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; +lean_dec(x_54); +x_69 = lean_ctor_get(x_55, 0); +lean_inc(x_69); +x_70 = lean_ctor_get(x_55, 1); +lean_inc(x_70); +if (lean_is_exclusive(x_55)) { + lean_ctor_release(x_55, 0); + lean_ctor_release(x_55, 1); + x_71 = x_55; +} else { + lean_dec_ref(x_55); + x_71 = lean_box(0); +} +if (lean_is_scalar(x_71)) { + x_72 = lean_alloc_ctor(1, 2, 0); +} else { + x_72 = x_71; +} +lean_ctor_set(x_72, 0, x_69); +lean_ctor_set(x_72, 1, x_70); +return x_72; +} +} +else +{ +lean_object* x_73; lean_object* x_74; lean_object* x_75; +lean_dec(x_50); +lean_dec(x_49); +lean_dec(x_48); +lean_dec(x_47); +lean_dec(x_46); +lean_dec(x_45); +x_73 = l_Lean_maxRecDepthErrorMessage; +x_74 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_74, 0, x_1); +lean_ctor_set(x_74, 1, x_73); +x_75 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_75, 0, x_74); +lean_ctor_set(x_75, 1, x_3); +return x_75; +} +} +} +} +lean_object* l_Lean_myMacro____x40_Init_Meta___hyg_3924_(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ lean_object* x_4; uint8_t x_5; -x_4 = l_Lean_numLitKind___closed__2; +x_4 = l_Lean_Parser_Syntax_addPrec___closed__8; lean_inc(x_1); x_5 = l_Lean_Syntax_isOfKind(x_1, x_4); if (x_5 == 0) { -lean_object* x_6; uint8_t x_7; -x_6 = l_Lean_Parser_Syntax_addPrec___closed__8; -lean_inc(x_1); -x_7 = l_Lean_Syntax_isOfKind(x_1, x_6); -if (x_7 == 0) -{ -lean_object* x_8; uint8_t x_9; -x_8 = l_Lean_Parser_Syntax_subPrec___closed__2; -lean_inc(x_1); -x_9 = l_Lean_Syntax_isOfKind(x_1, x_8); -if (x_9 == 0) -{ -lean_object* x_10; lean_object* x_11; uint8_t x_12; -lean_inc(x_1); -x_10 = l_Lean_Syntax_getKind(x_1); -x_11 = l_Lean_choiceKind; -x_12 = lean_name_eq(x_10, x_11); -lean_dec(x_10); -if (x_12 == 0) -{ -uint8_t x_13; -x_13 = !lean_is_exclusive(x_2); -if (x_13 == 0) -{ -lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t x_20; -x_14 = lean_ctor_get(x_2, 0); -x_15 = lean_ctor_get(x_2, 1); -x_16 = lean_ctor_get(x_2, 2); -x_17 = lean_ctor_get(x_2, 3); -x_18 = lean_ctor_get(x_2, 4); -x_19 = lean_ctor_get(x_2, 5); -x_20 = lean_nat_dec_eq(x_17, x_18); -if (x_20 == 0) -{ -lean_object* x_21; lean_object* x_22; lean_object* x_23; -x_21 = lean_unsigned_to_nat(1u); -x_22 = lean_nat_add(x_17, x_21); -lean_dec(x_17); -lean_ctor_set(x_2, 3, x_22); -lean_inc(x_2); -lean_inc(x_1); -x_23 = l_Lean_Macro_expandMacro_x3fImp(x_1, x_2, x_3); -if (lean_obj_tag(x_23) == 0) -{ -lean_object* x_24; -x_24 = lean_ctor_get(x_23, 0); -lean_inc(x_24); -if (lean_obj_tag(x_24) == 0) -{ -lean_object* x_25; lean_object* x_26; lean_object* x_27; -x_25 = lean_ctor_get(x_23, 1); -lean_inc(x_25); -lean_dec(x_23); -x_26 = l_Lean_evalPrec___closed__1; -x_27 = l_Lean_Macro_throwErrorAt___rarg(x_1, x_26, x_2, x_25); +lean_object* x_6; lean_object* x_7; +lean_dec(x_2); lean_dec(x_1); -return x_27; +x_6 = lean_box(1); +x_7 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_7, 0, x_6); +lean_ctor_set(x_7, 1, x_3); +return x_7; } else { -lean_object* x_28; lean_object* x_29; +lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; +x_8 = lean_unsigned_to_nat(0u); +x_9 = l_Lean_Syntax_getArg(x_1, x_8); +x_10 = lean_unsigned_to_nat(2u); +x_11 = l_Lean_Syntax_getArg(x_1, x_10); lean_dec(x_1); -x_28 = lean_ctor_get(x_23, 1); -lean_inc(x_28); +lean_inc(x_2); +x_12 = l_Lean_evalPrec(x_9, x_2, x_3); +if (lean_obj_tag(x_12) == 0) +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; +x_13 = lean_ctor_get(x_12, 0); +lean_inc(x_13); +x_14 = lean_ctor_get(x_12, 1); +lean_inc(x_14); +lean_dec(x_12); +x_15 = l_Lean_evalPrec(x_11, x_2, x_14); +if (lean_obj_tag(x_15) == 0) +{ +uint8_t x_16; +x_16 = !lean_is_exclusive(x_15); +if (x_16 == 0) +{ +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_17 = lean_ctor_get(x_15, 0); +x_18 = lean_nat_add(x_13, x_17); +lean_dec(x_17); +lean_dec(x_13); +x_19 = l_Nat_repr(x_18); +x_20 = l_Lean_numLitKind; +x_21 = l_Lean_instInhabitedSourceInfo___closed__1; +x_22 = l_Lean_Syntax_mkLit(x_20, x_19, x_21); +lean_ctor_set(x_15, 0, x_22); +return x_15; +} +else +{ +lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_23 = lean_ctor_get(x_15, 0); +x_24 = lean_ctor_get(x_15, 1); +lean_inc(x_24); +lean_inc(x_23); +lean_dec(x_15); +x_25 = lean_nat_add(x_13, x_23); lean_dec(x_23); -x_29 = lean_ctor_get(x_24, 0); -lean_inc(x_29); -lean_dec(x_24); -x_1 = x_29; -x_3 = x_28; -goto _start; +lean_dec(x_13); +x_26 = l_Nat_repr(x_25); +x_27 = l_Lean_numLitKind; +x_28 = l_Lean_instInhabitedSourceInfo___closed__1; +x_29 = l_Lean_Syntax_mkLit(x_27, x_26, x_28); +x_30 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_30, 0, x_29); +lean_ctor_set(x_30, 1, x_24); +return x_30; } } else { uint8_t x_31; -lean_dec(x_2); -lean_dec(x_1); -x_31 = !lean_is_exclusive(x_23); +lean_dec(x_13); +x_31 = !lean_is_exclusive(x_15); if (x_31 == 0) { -return x_23; +return x_15; } else { lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_32 = lean_ctor_get(x_23, 0); -x_33 = lean_ctor_get(x_23, 1); +x_32 = lean_ctor_get(x_15, 0); +x_33 = lean_ctor_get(x_15, 1); lean_inc(x_33); lean_inc(x_32); -lean_dec(x_23); +lean_dec(x_15); x_34 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_34, 0, x_32); lean_ctor_set(x_34, 1, x_33); @@ -9670,470 +9937,157 @@ return x_34; } else { -lean_object* x_35; lean_object* x_36; lean_object* x_37; -lean_free_object(x_2); -lean_dec(x_19); -lean_dec(x_18); -lean_dec(x_17); -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_14); -x_35 = l_Lean_maxRecDepthErrorMessage; -x_36 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_36, 0, x_1); -lean_ctor_set(x_36, 1, x_35); -x_37 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_37, 0, x_36); -lean_ctor_set(x_37, 1, x_3); -return x_37; -} +uint8_t x_35; +lean_dec(x_11); +lean_dec(x_2); +x_35 = !lean_is_exclusive(x_12); +if (x_35 == 0) +{ +return x_12; } else { -lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; uint8_t x_44; -x_38 = lean_ctor_get(x_2, 0); -x_39 = lean_ctor_get(x_2, 1); -x_40 = lean_ctor_get(x_2, 2); -x_41 = lean_ctor_get(x_2, 3); -x_42 = lean_ctor_get(x_2, 4); -x_43 = lean_ctor_get(x_2, 5); -lean_inc(x_43); -lean_inc(x_42); -lean_inc(x_41); -lean_inc(x_40); -lean_inc(x_39); -lean_inc(x_38); -lean_dec(x_2); -x_44 = lean_nat_dec_eq(x_41, x_42); -if (x_44 == 0) +lean_object* x_36; lean_object* x_37; lean_object* x_38; +x_36 = lean_ctor_get(x_12, 0); +x_37 = lean_ctor_get(x_12, 1); +lean_inc(x_37); +lean_inc(x_36); +lean_dec(x_12); +x_38 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_38, 0, x_36); +lean_ctor_set(x_38, 1, x_37); +return x_38; +} +} +} +} +} +lean_object* l_Lean_myMacro____x40_Init_Meta___hyg_4022_(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: { -lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; -x_45 = lean_unsigned_to_nat(1u); -x_46 = lean_nat_add(x_41, x_45); -lean_dec(x_41); -x_47 = lean_alloc_ctor(0, 6, 0); -lean_ctor_set(x_47, 0, x_38); -lean_ctor_set(x_47, 1, x_39); -lean_ctor_set(x_47, 2, x_40); -lean_ctor_set(x_47, 3, x_46); -lean_ctor_set(x_47, 4, x_42); -lean_ctor_set(x_47, 5, x_43); -lean_inc(x_47); +lean_object* x_4; uint8_t x_5; +x_4 = l_Lean_Parser_Syntax_subPrec___closed__2; lean_inc(x_1); -x_48 = l_Lean_Macro_expandMacro_x3fImp(x_1, x_47, x_3); -if (lean_obj_tag(x_48) == 0) +x_5 = l_Lean_Syntax_isOfKind(x_1, x_4); +if (x_5 == 0) { -lean_object* x_49; -x_49 = lean_ctor_get(x_48, 0); -lean_inc(x_49); -if (lean_obj_tag(x_49) == 0) -{ -lean_object* x_50; lean_object* x_51; lean_object* x_52; -x_50 = lean_ctor_get(x_48, 1); -lean_inc(x_50); -lean_dec(x_48); -x_51 = l_Lean_evalPrec___closed__1; -x_52 = l_Lean_Macro_throwErrorAt___rarg(x_1, x_51, x_47, x_50); -lean_dec(x_1); -return x_52; -} -else -{ -lean_object* x_53; lean_object* x_54; -lean_dec(x_1); -x_53 = lean_ctor_get(x_48, 1); -lean_inc(x_53); -lean_dec(x_48); -x_54 = lean_ctor_get(x_49, 0); -lean_inc(x_54); -lean_dec(x_49); -x_1 = x_54; -x_2 = x_47; -x_3 = x_53; -goto _start; -} -} -else -{ -lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; -lean_dec(x_47); -lean_dec(x_1); -x_56 = lean_ctor_get(x_48, 0); -lean_inc(x_56); -x_57 = lean_ctor_get(x_48, 1); -lean_inc(x_57); -if (lean_is_exclusive(x_48)) { - lean_ctor_release(x_48, 0); - lean_ctor_release(x_48, 1); - x_58 = x_48; -} else { - lean_dec_ref(x_48); - x_58 = lean_box(0); -} -if (lean_is_scalar(x_58)) { - x_59 = lean_alloc_ctor(1, 2, 0); -} else { - x_59 = x_58; -} -lean_ctor_set(x_59, 0, x_56); -lean_ctor_set(x_59, 1, x_57); -return x_59; -} -} -else -{ -lean_object* x_60; lean_object* x_61; lean_object* x_62; -lean_dec(x_43); -lean_dec(x_42); -lean_dec(x_41); -lean_dec(x_40); -lean_dec(x_39); -lean_dec(x_38); -x_60 = l_Lean_maxRecDepthErrorMessage; -x_61 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_61, 0, x_1); -lean_ctor_set(x_61, 1, x_60); -x_62 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_62, 0, x_61); -lean_ctor_set(x_62, 1, x_3); -return x_62; -} -} -} -else -{ -lean_object* x_63; lean_object* x_64; uint8_t x_65; -x_63 = lean_unsigned_to_nat(0u); -x_64 = l_Lean_Syntax_getArg(x_1, x_63); -x_65 = !lean_is_exclusive(x_2); -if (x_65 == 0) -{ -lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; uint8_t x_72; -x_66 = lean_ctor_get(x_2, 0); -x_67 = lean_ctor_get(x_2, 1); -x_68 = lean_ctor_get(x_2, 2); -x_69 = lean_ctor_get(x_2, 3); -x_70 = lean_ctor_get(x_2, 4); -x_71 = lean_ctor_get(x_2, 5); -x_72 = lean_nat_dec_eq(x_69, x_70); -if (x_72 == 0) -{ -lean_object* x_73; lean_object* x_74; -lean_dec(x_1); -x_73 = lean_unsigned_to_nat(1u); -x_74 = lean_nat_add(x_69, x_73); -lean_dec(x_69); -lean_ctor_set(x_2, 3, x_74); -x_1 = x_64; -goto _start; -} -else -{ -lean_object* x_76; lean_object* x_77; lean_object* x_78; -lean_free_object(x_2); -lean_dec(x_71); -lean_dec(x_70); -lean_dec(x_69); -lean_dec(x_68); -lean_dec(x_67); -lean_dec(x_66); -lean_dec(x_64); -x_76 = l_Lean_maxRecDepthErrorMessage; -x_77 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_77, 0, x_1); -lean_ctor_set(x_77, 1, x_76); -x_78 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_78, 0, x_77); -lean_ctor_set(x_78, 1, x_3); -return x_78; -} -} -else -{ -lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; uint8_t x_85; -x_79 = lean_ctor_get(x_2, 0); -x_80 = lean_ctor_get(x_2, 1); -x_81 = lean_ctor_get(x_2, 2); -x_82 = lean_ctor_get(x_2, 3); -x_83 = lean_ctor_get(x_2, 4); -x_84 = lean_ctor_get(x_2, 5); -lean_inc(x_84); -lean_inc(x_83); -lean_inc(x_82); -lean_inc(x_81); -lean_inc(x_80); -lean_inc(x_79); +lean_object* x_6; lean_object* x_7; lean_dec(x_2); -x_85 = lean_nat_dec_eq(x_82, x_83); -if (x_85 == 0) -{ -lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_dec(x_1); -x_86 = lean_unsigned_to_nat(1u); -x_87 = lean_nat_add(x_82, x_86); -lean_dec(x_82); -x_88 = lean_alloc_ctor(0, 6, 0); -lean_ctor_set(x_88, 0, x_79); -lean_ctor_set(x_88, 1, x_80); -lean_ctor_set(x_88, 2, x_81); -lean_ctor_set(x_88, 3, x_87); -lean_ctor_set(x_88, 4, x_83); -lean_ctor_set(x_88, 5, x_84); -x_1 = x_64; -x_2 = x_88; -goto _start; +x_6 = lean_box(1); +x_7 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_7, 0, x_6); +lean_ctor_set(x_7, 1, x_3); +return x_7; } else { -lean_object* x_90; lean_object* x_91; lean_object* x_92; -lean_dec(x_84); -lean_dec(x_83); -lean_dec(x_82); -lean_dec(x_81); -lean_dec(x_80); -lean_dec(x_79); -lean_dec(x_64); -x_90 = l_Lean_maxRecDepthErrorMessage; -x_91 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_91, 0, x_1); -lean_ctor_set(x_91, 1, x_90); -x_92 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_92, 0, x_91); -lean_ctor_set(x_92, 1, x_3); -return x_92; -} -} -} -} -else -{ -lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; -x_93 = lean_unsigned_to_nat(0u); -x_94 = l_Lean_Syntax_getArg(x_1, x_93); -x_95 = lean_unsigned_to_nat(2u); -x_96 = l_Lean_Syntax_getArg(x_1, x_95); +lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; +x_8 = lean_unsigned_to_nat(0u); +x_9 = l_Lean_Syntax_getArg(x_1, x_8); +x_10 = lean_unsigned_to_nat(2u); +x_11 = l_Lean_Syntax_getArg(x_1, x_10); lean_dec(x_1); lean_inc(x_2); -x_97 = l_Lean_evalPrec(x_94, x_2, x_3); -if (lean_obj_tag(x_97) == 0) +x_12 = l_Lean_evalPrec(x_9, x_2, x_3); +if (lean_obj_tag(x_12) == 0) { -lean_object* x_98; lean_object* x_99; lean_object* x_100; -x_98 = lean_ctor_get(x_97, 0); -lean_inc(x_98); -x_99 = lean_ctor_get(x_97, 1); -lean_inc(x_99); -lean_dec(x_97); -x_100 = l_Lean_evalPrec(x_96, x_2, x_99); -if (lean_obj_tag(x_100) == 0) +lean_object* x_13; lean_object* x_14; lean_object* x_15; +x_13 = lean_ctor_get(x_12, 0); +lean_inc(x_13); +x_14 = lean_ctor_get(x_12, 1); +lean_inc(x_14); +lean_dec(x_12); +x_15 = l_Lean_evalPrec(x_11, x_2, x_14); +if (lean_obj_tag(x_15) == 0) { -uint8_t x_101; -x_101 = !lean_is_exclusive(x_100); -if (x_101 == 0) +uint8_t x_16; +x_16 = !lean_is_exclusive(x_15); +if (x_16 == 0) { -lean_object* x_102; lean_object* x_103; -x_102 = lean_ctor_get(x_100, 0); -x_103 = lean_nat_sub(x_98, x_102); -lean_dec(x_102); -lean_dec(x_98); -lean_ctor_set(x_100, 0, x_103); -return x_100; +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_17 = lean_ctor_get(x_15, 0); +x_18 = lean_nat_sub(x_13, x_17); +lean_dec(x_17); +lean_dec(x_13); +x_19 = l_Nat_repr(x_18); +x_20 = l_Lean_numLitKind; +x_21 = l_Lean_instInhabitedSourceInfo___closed__1; +x_22 = l_Lean_Syntax_mkLit(x_20, x_19, x_21); +lean_ctor_set(x_15, 0, x_22); +return x_15; } else { -lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; -x_104 = lean_ctor_get(x_100, 0); -x_105 = lean_ctor_get(x_100, 1); -lean_inc(x_105); -lean_inc(x_104); -lean_dec(x_100); -x_106 = lean_nat_sub(x_98, x_104); -lean_dec(x_104); -lean_dec(x_98); -x_107 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_107, 0, x_106); -lean_ctor_set(x_107, 1, x_105); -return x_107; +lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_23 = lean_ctor_get(x_15, 0); +x_24 = lean_ctor_get(x_15, 1); +lean_inc(x_24); +lean_inc(x_23); +lean_dec(x_15); +x_25 = lean_nat_sub(x_13, x_23); +lean_dec(x_23); +lean_dec(x_13); +x_26 = l_Nat_repr(x_25); +x_27 = l_Lean_numLitKind; +x_28 = l_Lean_instInhabitedSourceInfo___closed__1; +x_29 = l_Lean_Syntax_mkLit(x_27, x_26, x_28); +x_30 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_30, 0, x_29); +lean_ctor_set(x_30, 1, x_24); +return x_30; } } else { -uint8_t x_108; -lean_dec(x_98); -x_108 = !lean_is_exclusive(x_100); -if (x_108 == 0) +uint8_t x_31; +lean_dec(x_13); +x_31 = !lean_is_exclusive(x_15); +if (x_31 == 0) { -return x_100; +return x_15; } else { -lean_object* x_109; lean_object* x_110; lean_object* x_111; -x_109 = lean_ctor_get(x_100, 0); -x_110 = lean_ctor_get(x_100, 1); -lean_inc(x_110); -lean_inc(x_109); -lean_dec(x_100); -x_111 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_111, 0, x_109); -lean_ctor_set(x_111, 1, x_110); -return x_111; +lean_object* x_32; lean_object* x_33; lean_object* x_34; +x_32 = lean_ctor_get(x_15, 0); +x_33 = lean_ctor_get(x_15, 1); +lean_inc(x_33); +lean_inc(x_32); +lean_dec(x_15); +x_34 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_34, 0, x_32); +lean_ctor_set(x_34, 1, x_33); +return x_34; } } } else { -uint8_t x_112; -lean_dec(x_96); +uint8_t x_35; +lean_dec(x_11); lean_dec(x_2); -x_112 = !lean_is_exclusive(x_97); -if (x_112 == 0) +x_35 = !lean_is_exclusive(x_12); +if (x_35 == 0) { -return x_97; +return x_12; } else { -lean_object* x_113; lean_object* x_114; lean_object* x_115; -x_113 = lean_ctor_get(x_97, 0); -x_114 = lean_ctor_get(x_97, 1); -lean_inc(x_114); -lean_inc(x_113); -lean_dec(x_97); -x_115 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_115, 0, x_113); -lean_ctor_set(x_115, 1, x_114); -return x_115; +lean_object* x_36; lean_object* x_37; lean_object* x_38; +x_36 = lean_ctor_get(x_12, 0); +x_37 = lean_ctor_get(x_12, 1); +lean_inc(x_37); +lean_inc(x_36); +lean_dec(x_12); +x_38 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_38, 0, x_36); +lean_ctor_set(x_38, 1, x_37); +return x_38; } } } } -else -{ -lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; -x_116 = lean_unsigned_to_nat(0u); -x_117 = l_Lean_Syntax_getArg(x_1, x_116); -x_118 = lean_unsigned_to_nat(2u); -x_119 = l_Lean_Syntax_getArg(x_1, x_118); -lean_dec(x_1); -lean_inc(x_2); -x_120 = l_Lean_evalPrec(x_117, x_2, x_3); -if (lean_obj_tag(x_120) == 0) -{ -lean_object* x_121; lean_object* x_122; lean_object* x_123; -x_121 = lean_ctor_get(x_120, 0); -lean_inc(x_121); -x_122 = lean_ctor_get(x_120, 1); -lean_inc(x_122); -lean_dec(x_120); -x_123 = l_Lean_evalPrec(x_119, x_2, x_122); -if (lean_obj_tag(x_123) == 0) -{ -uint8_t x_124; -x_124 = !lean_is_exclusive(x_123); -if (x_124 == 0) -{ -lean_object* x_125; lean_object* x_126; -x_125 = lean_ctor_get(x_123, 0); -x_126 = lean_nat_add(x_121, x_125); -lean_dec(x_125); -lean_dec(x_121); -lean_ctor_set(x_123, 0, x_126); -return x_123; -} -else -{ -lean_object* x_127; lean_object* x_128; lean_object* x_129; lean_object* x_130; -x_127 = lean_ctor_get(x_123, 0); -x_128 = lean_ctor_get(x_123, 1); -lean_inc(x_128); -lean_inc(x_127); -lean_dec(x_123); -x_129 = lean_nat_add(x_121, x_127); -lean_dec(x_127); -lean_dec(x_121); -x_130 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_130, 0, x_129); -lean_ctor_set(x_130, 1, x_128); -return x_130; -} -} -else -{ -uint8_t x_131; -lean_dec(x_121); -x_131 = !lean_is_exclusive(x_123); -if (x_131 == 0) -{ -return x_123; -} -else -{ -lean_object* x_132; lean_object* x_133; lean_object* x_134; -x_132 = lean_ctor_get(x_123, 0); -x_133 = lean_ctor_get(x_123, 1); -lean_inc(x_133); -lean_inc(x_132); -lean_dec(x_123); -x_134 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_134, 0, x_132); -lean_ctor_set(x_134, 1, x_133); -return x_134; -} -} -} -else -{ -uint8_t x_135; -lean_dec(x_119); -lean_dec(x_2); -x_135 = !lean_is_exclusive(x_120); -if (x_135 == 0) -{ -return x_120; -} -else -{ -lean_object* x_136; lean_object* x_137; lean_object* x_138; -x_136 = lean_ctor_get(x_120, 0); -x_137 = lean_ctor_get(x_120, 1); -lean_inc(x_137); -lean_inc(x_136); -lean_dec(x_120); -x_138 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_138, 0, x_136); -lean_ctor_set(x_138, 1, x_137); -return x_138; -} -} -} -} -else -{ -lean_object* x_139; lean_object* x_140; -lean_dec(x_2); -x_139 = l_Lean_numLitKind; -x_140 = l___private_Init_Meta_0__Lean_Syntax_isNatLitAux(x_139, x_1); -lean_dec(x_1); -if (lean_obj_tag(x_140) == 0) -{ -lean_object* x_141; lean_object* x_142; -x_141 = lean_unsigned_to_nat(0u); -x_142 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_142, 0, x_141); -lean_ctor_set(x_142, 1, x_3); -return x_142; -} -else -{ -lean_object* x_143; lean_object* x_144; -x_143 = lean_ctor_get(x_140, 0); -lean_inc(x_143); -lean_dec(x_140); -x_144 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_144, 0, x_143); -lean_ctor_set(x_144, 1, x_3); -return x_144; -} -} -} } static lean_object* _init_l_Lean_termEvalPrec_x21_____closed__1() { _start: @@ -10219,7 +10173,7 @@ x_1 = l_Lean_termEvalPrec_x21_____closed__7; return x_1; } } -lean_object* l_Lean_myMacro____x40_Init_Meta___hyg_4125_(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +lean_object* l_Lean_myMacro____x40_Init_Meta___hyg_4141_(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { lean_object* x_4; uint8_t x_5; @@ -10357,36 +10311,6 @@ return x_7; } } } -lean_object* l_Lean_evalPrio_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -if (lean_obj_tag(x_1) == 0) -{ -lean_object* x_4; -lean_dec(x_2); -x_4 = lean_apply_1(x_3, x_1); -return x_4; -} -else -{ -lean_object* x_5; lean_object* x_6; -lean_dec(x_3); -x_5 = lean_ctor_get(x_1, 0); -lean_inc(x_5); -lean_dec(x_1); -x_6 = lean_apply_1(x_2, x_5); -return x_6; -} -} -} -lean_object* l_Lean_evalPrio_match__1(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_evalPrio_match__1___rarg), 3, 0); -return x_2; -} -} static lean_object* _init_l_Lean_evalPrio___closed__1() { _start: { @@ -10398,103 +10322,402 @@ return x_1; lean_object* l_Lean_evalPrio(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { +uint8_t x_4; +x_4 = !lean_is_exclusive(x_2); +if (x_4 == 0) +{ +lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; uint8_t x_11; +x_5 = lean_ctor_get(x_2, 0); +x_6 = lean_ctor_get(x_2, 1); +x_7 = lean_ctor_get(x_2, 2); +x_8 = lean_ctor_get(x_2, 3); +x_9 = lean_ctor_get(x_2, 4); +x_10 = lean_ctor_get(x_2, 5); +x_11 = lean_nat_dec_eq(x_8, x_9); +if (x_11 == 0) +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; +x_12 = lean_unsigned_to_nat(1u); +x_13 = lean_nat_add(x_8, x_12); +lean_dec(x_8); +lean_ctor_set(x_2, 3, x_13); +lean_inc(x_2); +x_14 = l_Lean_expandMacros(x_1, x_2, x_3); +if (lean_obj_tag(x_14) == 0) +{ +uint8_t x_15; +x_15 = !lean_is_exclusive(x_14); +if (x_15 == 0) +{ +lean_object* x_16; lean_object* x_17; lean_object* x_18; uint8_t x_19; +x_16 = lean_ctor_get(x_14, 0); +x_17 = lean_ctor_get(x_14, 1); +x_18 = l_Lean_numLitKind___closed__2; +lean_inc(x_16); +x_19 = l_Lean_Syntax_isOfKind(x_16, x_18); +if (x_19 == 0) +{ +lean_object* x_20; lean_object* x_21; +lean_free_object(x_14); +x_20 = l_Lean_evalPrio___closed__1; +x_21 = l_Lean_Macro_throwErrorAt___rarg(x_16, x_20, x_2, x_17); +lean_dec(x_16); +return x_21; +} +else +{ +lean_object* x_22; lean_object* x_23; +lean_dec(x_2); +x_22 = l_Lean_numLitKind; +x_23 = l___private_Init_Meta_0__Lean_Syntax_isNatLitAux(x_22, x_16); +lean_dec(x_16); +if (lean_obj_tag(x_23) == 0) +{ +lean_object* x_24; +x_24 = lean_unsigned_to_nat(0u); +lean_ctor_set(x_14, 0, x_24); +return x_14; +} +else +{ +lean_object* x_25; +x_25 = lean_ctor_get(x_23, 0); +lean_inc(x_25); +lean_dec(x_23); +lean_ctor_set(x_14, 0, x_25); +return x_14; +} +} +} +else +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; uint8_t x_29; +x_26 = lean_ctor_get(x_14, 0); +x_27 = lean_ctor_get(x_14, 1); +lean_inc(x_27); +lean_inc(x_26); +lean_dec(x_14); +x_28 = l_Lean_numLitKind___closed__2; +lean_inc(x_26); +x_29 = l_Lean_Syntax_isOfKind(x_26, x_28); +if (x_29 == 0) +{ +lean_object* x_30; lean_object* x_31; +x_30 = l_Lean_evalPrio___closed__1; +x_31 = l_Lean_Macro_throwErrorAt___rarg(x_26, x_30, x_2, x_27); +lean_dec(x_26); +return x_31; +} +else +{ +lean_object* x_32; lean_object* x_33; +lean_dec(x_2); +x_32 = l_Lean_numLitKind; +x_33 = l___private_Init_Meta_0__Lean_Syntax_isNatLitAux(x_32, x_26); +lean_dec(x_26); +if (lean_obj_tag(x_33) == 0) +{ +lean_object* x_34; lean_object* x_35; +x_34 = lean_unsigned_to_nat(0u); +x_35 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_35, 0, x_34); +lean_ctor_set(x_35, 1, x_27); +return x_35; +} +else +{ +lean_object* x_36; lean_object* x_37; +x_36 = lean_ctor_get(x_33, 0); +lean_inc(x_36); +lean_dec(x_33); +x_37 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_37, 0, x_36); +lean_ctor_set(x_37, 1, x_27); +return x_37; +} +} +} +} +else +{ +uint8_t x_38; +lean_dec(x_2); +x_38 = !lean_is_exclusive(x_14); +if (x_38 == 0) +{ +return x_14; +} +else +{ +lean_object* x_39; lean_object* x_40; lean_object* x_41; +x_39 = lean_ctor_get(x_14, 0); +x_40 = lean_ctor_get(x_14, 1); +lean_inc(x_40); +lean_inc(x_39); +lean_dec(x_14); +x_41 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_41, 0, x_39); +lean_ctor_set(x_41, 1, x_40); +return x_41; +} +} +} +else +{ +lean_object* x_42; lean_object* x_43; lean_object* x_44; +lean_free_object(x_2); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +x_42 = l_Lean_maxRecDepthErrorMessage; +x_43 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_43, 0, x_1); +lean_ctor_set(x_43, 1, x_42); +x_44 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_44, 0, x_43); +lean_ctor_set(x_44, 1, x_3); +return x_44; +} +} +else +{ +lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; uint8_t x_51; +x_45 = lean_ctor_get(x_2, 0); +x_46 = lean_ctor_get(x_2, 1); +x_47 = lean_ctor_get(x_2, 2); +x_48 = lean_ctor_get(x_2, 3); +x_49 = lean_ctor_get(x_2, 4); +x_50 = lean_ctor_get(x_2, 5); +lean_inc(x_50); +lean_inc(x_49); +lean_inc(x_48); +lean_inc(x_47); +lean_inc(x_46); +lean_inc(x_45); +lean_dec(x_2); +x_51 = lean_nat_dec_eq(x_48, x_49); +if (x_51 == 0) +{ +lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; +x_52 = lean_unsigned_to_nat(1u); +x_53 = lean_nat_add(x_48, x_52); +lean_dec(x_48); +x_54 = lean_alloc_ctor(0, 6, 0); +lean_ctor_set(x_54, 0, x_45); +lean_ctor_set(x_54, 1, x_46); +lean_ctor_set(x_54, 2, x_47); +lean_ctor_set(x_54, 3, x_53); +lean_ctor_set(x_54, 4, x_49); +lean_ctor_set(x_54, 5, x_50); +lean_inc(x_54); +x_55 = l_Lean_expandMacros(x_1, x_54, x_3); +if (lean_obj_tag(x_55) == 0) +{ +lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; uint8_t x_60; +x_56 = lean_ctor_get(x_55, 0); +lean_inc(x_56); +x_57 = lean_ctor_get(x_55, 1); +lean_inc(x_57); +if (lean_is_exclusive(x_55)) { + lean_ctor_release(x_55, 0); + lean_ctor_release(x_55, 1); + x_58 = x_55; +} else { + lean_dec_ref(x_55); + x_58 = lean_box(0); +} +x_59 = l_Lean_numLitKind___closed__2; +lean_inc(x_56); +x_60 = l_Lean_Syntax_isOfKind(x_56, x_59); +if (x_60 == 0) +{ +lean_object* x_61; lean_object* x_62; +lean_dec(x_58); +x_61 = l_Lean_evalPrio___closed__1; +x_62 = l_Lean_Macro_throwErrorAt___rarg(x_56, x_61, x_54, x_57); +lean_dec(x_56); +return x_62; +} +else +{ +lean_object* x_63; lean_object* x_64; +lean_dec(x_54); +x_63 = l_Lean_numLitKind; +x_64 = l___private_Init_Meta_0__Lean_Syntax_isNatLitAux(x_63, x_56); +lean_dec(x_56); +if (lean_obj_tag(x_64) == 0) +{ +lean_object* x_65; lean_object* x_66; +x_65 = lean_unsigned_to_nat(0u); +if (lean_is_scalar(x_58)) { + x_66 = lean_alloc_ctor(0, 2, 0); +} else { + x_66 = x_58; +} +lean_ctor_set(x_66, 0, x_65); +lean_ctor_set(x_66, 1, x_57); +return x_66; +} +else +{ +lean_object* x_67; lean_object* x_68; +x_67 = lean_ctor_get(x_64, 0); +lean_inc(x_67); +lean_dec(x_64); +if (lean_is_scalar(x_58)) { + x_68 = lean_alloc_ctor(0, 2, 0); +} else { + x_68 = x_58; +} +lean_ctor_set(x_68, 0, x_67); +lean_ctor_set(x_68, 1, x_57); +return x_68; +} +} +} +else +{ +lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; +lean_dec(x_54); +x_69 = lean_ctor_get(x_55, 0); +lean_inc(x_69); +x_70 = lean_ctor_get(x_55, 1); +lean_inc(x_70); +if (lean_is_exclusive(x_55)) { + lean_ctor_release(x_55, 0); + lean_ctor_release(x_55, 1); + x_71 = x_55; +} else { + lean_dec_ref(x_55); + x_71 = lean_box(0); +} +if (lean_is_scalar(x_71)) { + x_72 = lean_alloc_ctor(1, 2, 0); +} else { + x_72 = x_71; +} +lean_ctor_set(x_72, 0, x_69); +lean_ctor_set(x_72, 1, x_70); +return x_72; +} +} +else +{ +lean_object* x_73; lean_object* x_74; lean_object* x_75; +lean_dec(x_50); +lean_dec(x_49); +lean_dec(x_48); +lean_dec(x_47); +lean_dec(x_46); +lean_dec(x_45); +x_73 = l_Lean_maxRecDepthErrorMessage; +x_74 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_74, 0, x_1); +lean_ctor_set(x_74, 1, x_73); +x_75 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_75, 0, x_74); +lean_ctor_set(x_75, 1, x_3); +return x_75; +} +} +} +} +lean_object* l_Lean_myMacro____x40_Init_Meta___hyg_4274_(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ lean_object* x_4; uint8_t x_5; -x_4 = l_Lean_numLitKind___closed__2; +x_4 = l_Lean_Parser_Syntax_addPrio___closed__2; lean_inc(x_1); x_5 = l_Lean_Syntax_isOfKind(x_1, x_4); if (x_5 == 0) { -lean_object* x_6; uint8_t x_7; -x_6 = l_Lean_Parser_Syntax_addPrio___closed__2; -lean_inc(x_1); -x_7 = l_Lean_Syntax_isOfKind(x_1, x_6); -if (x_7 == 0) -{ -lean_object* x_8; uint8_t x_9; -x_8 = l_Lean_Parser_Syntax_subPrio___closed__2; -lean_inc(x_1); -x_9 = l_Lean_Syntax_isOfKind(x_1, x_8); -if (x_9 == 0) -{ -lean_object* x_10; lean_object* x_11; uint8_t x_12; -lean_inc(x_1); -x_10 = l_Lean_Syntax_getKind(x_1); -x_11 = l_Lean_choiceKind; -x_12 = lean_name_eq(x_10, x_11); -lean_dec(x_10); -if (x_12 == 0) -{ -uint8_t x_13; -x_13 = !lean_is_exclusive(x_2); -if (x_13 == 0) -{ -lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t x_20; -x_14 = lean_ctor_get(x_2, 0); -x_15 = lean_ctor_get(x_2, 1); -x_16 = lean_ctor_get(x_2, 2); -x_17 = lean_ctor_get(x_2, 3); -x_18 = lean_ctor_get(x_2, 4); -x_19 = lean_ctor_get(x_2, 5); -x_20 = lean_nat_dec_eq(x_17, x_18); -if (x_20 == 0) -{ -lean_object* x_21; lean_object* x_22; lean_object* x_23; -x_21 = lean_unsigned_to_nat(1u); -x_22 = lean_nat_add(x_17, x_21); -lean_dec(x_17); -lean_ctor_set(x_2, 3, x_22); -lean_inc(x_2); -lean_inc(x_1); -x_23 = l_Lean_Macro_expandMacro_x3fImp(x_1, x_2, x_3); -if (lean_obj_tag(x_23) == 0) -{ -lean_object* x_24; -x_24 = lean_ctor_get(x_23, 0); -lean_inc(x_24); -if (lean_obj_tag(x_24) == 0) -{ -lean_object* x_25; lean_object* x_26; lean_object* x_27; -x_25 = lean_ctor_get(x_23, 1); -lean_inc(x_25); -lean_dec(x_23); -x_26 = l_Lean_evalPrio___closed__1; -x_27 = l_Lean_Macro_throwErrorAt___rarg(x_1, x_26, x_2, x_25); +lean_object* x_6; lean_object* x_7; +lean_dec(x_2); lean_dec(x_1); -return x_27; +x_6 = lean_box(1); +x_7 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_7, 0, x_6); +lean_ctor_set(x_7, 1, x_3); +return x_7; } else { -lean_object* x_28; lean_object* x_29; +lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; +x_8 = lean_unsigned_to_nat(0u); +x_9 = l_Lean_Syntax_getArg(x_1, x_8); +x_10 = lean_unsigned_to_nat(2u); +x_11 = l_Lean_Syntax_getArg(x_1, x_10); lean_dec(x_1); -x_28 = lean_ctor_get(x_23, 1); -lean_inc(x_28); +lean_inc(x_2); +x_12 = l_Lean_evalPrio(x_9, x_2, x_3); +if (lean_obj_tag(x_12) == 0) +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; +x_13 = lean_ctor_get(x_12, 0); +lean_inc(x_13); +x_14 = lean_ctor_get(x_12, 1); +lean_inc(x_14); +lean_dec(x_12); +x_15 = l_Lean_evalPrio(x_11, x_2, x_14); +if (lean_obj_tag(x_15) == 0) +{ +uint8_t x_16; +x_16 = !lean_is_exclusive(x_15); +if (x_16 == 0) +{ +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_17 = lean_ctor_get(x_15, 0); +x_18 = lean_nat_add(x_13, x_17); +lean_dec(x_17); +lean_dec(x_13); +x_19 = l_Nat_repr(x_18); +x_20 = l_Lean_numLitKind; +x_21 = l_Lean_instInhabitedSourceInfo___closed__1; +x_22 = l_Lean_Syntax_mkLit(x_20, x_19, x_21); +lean_ctor_set(x_15, 0, x_22); +return x_15; +} +else +{ +lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_23 = lean_ctor_get(x_15, 0); +x_24 = lean_ctor_get(x_15, 1); +lean_inc(x_24); +lean_inc(x_23); +lean_dec(x_15); +x_25 = lean_nat_add(x_13, x_23); lean_dec(x_23); -x_29 = lean_ctor_get(x_24, 0); -lean_inc(x_29); -lean_dec(x_24); -x_1 = x_29; -x_3 = x_28; -goto _start; +lean_dec(x_13); +x_26 = l_Nat_repr(x_25); +x_27 = l_Lean_numLitKind; +x_28 = l_Lean_instInhabitedSourceInfo___closed__1; +x_29 = l_Lean_Syntax_mkLit(x_27, x_26, x_28); +x_30 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_30, 0, x_29); +lean_ctor_set(x_30, 1, x_24); +return x_30; } } else { uint8_t x_31; -lean_dec(x_2); -lean_dec(x_1); -x_31 = !lean_is_exclusive(x_23); +lean_dec(x_13); +x_31 = !lean_is_exclusive(x_15); if (x_31 == 0) { -return x_23; +return x_15; } else { lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_32 = lean_ctor_get(x_23, 0); -x_33 = lean_ctor_get(x_23, 1); +x_32 = lean_ctor_get(x_15, 0); +x_33 = lean_ctor_get(x_15, 1); lean_inc(x_33); lean_inc(x_32); -lean_dec(x_23); +lean_dec(x_15); x_34 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_34, 0, x_32); lean_ctor_set(x_34, 1, x_33); @@ -10504,470 +10727,157 @@ return x_34; } else { -lean_object* x_35; lean_object* x_36; lean_object* x_37; -lean_free_object(x_2); -lean_dec(x_19); -lean_dec(x_18); -lean_dec(x_17); -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_14); -x_35 = l_Lean_maxRecDepthErrorMessage; -x_36 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_36, 0, x_1); -lean_ctor_set(x_36, 1, x_35); -x_37 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_37, 0, x_36); -lean_ctor_set(x_37, 1, x_3); -return x_37; -} +uint8_t x_35; +lean_dec(x_11); +lean_dec(x_2); +x_35 = !lean_is_exclusive(x_12); +if (x_35 == 0) +{ +return x_12; } else { -lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; uint8_t x_44; -x_38 = lean_ctor_get(x_2, 0); -x_39 = lean_ctor_get(x_2, 1); -x_40 = lean_ctor_get(x_2, 2); -x_41 = lean_ctor_get(x_2, 3); -x_42 = lean_ctor_get(x_2, 4); -x_43 = lean_ctor_get(x_2, 5); -lean_inc(x_43); -lean_inc(x_42); -lean_inc(x_41); -lean_inc(x_40); -lean_inc(x_39); -lean_inc(x_38); -lean_dec(x_2); -x_44 = lean_nat_dec_eq(x_41, x_42); -if (x_44 == 0) +lean_object* x_36; lean_object* x_37; lean_object* x_38; +x_36 = lean_ctor_get(x_12, 0); +x_37 = lean_ctor_get(x_12, 1); +lean_inc(x_37); +lean_inc(x_36); +lean_dec(x_12); +x_38 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_38, 0, x_36); +lean_ctor_set(x_38, 1, x_37); +return x_38; +} +} +} +} +} +lean_object* l_Lean_myMacro____x40_Init_Meta___hyg_4372_(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: { -lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; -x_45 = lean_unsigned_to_nat(1u); -x_46 = lean_nat_add(x_41, x_45); -lean_dec(x_41); -x_47 = lean_alloc_ctor(0, 6, 0); -lean_ctor_set(x_47, 0, x_38); -lean_ctor_set(x_47, 1, x_39); -lean_ctor_set(x_47, 2, x_40); -lean_ctor_set(x_47, 3, x_46); -lean_ctor_set(x_47, 4, x_42); -lean_ctor_set(x_47, 5, x_43); -lean_inc(x_47); +lean_object* x_4; uint8_t x_5; +x_4 = l_Lean_Parser_Syntax_subPrio___closed__2; lean_inc(x_1); -x_48 = l_Lean_Macro_expandMacro_x3fImp(x_1, x_47, x_3); -if (lean_obj_tag(x_48) == 0) +x_5 = l_Lean_Syntax_isOfKind(x_1, x_4); +if (x_5 == 0) { -lean_object* x_49; -x_49 = lean_ctor_get(x_48, 0); -lean_inc(x_49); -if (lean_obj_tag(x_49) == 0) -{ -lean_object* x_50; lean_object* x_51; lean_object* x_52; -x_50 = lean_ctor_get(x_48, 1); -lean_inc(x_50); -lean_dec(x_48); -x_51 = l_Lean_evalPrio___closed__1; -x_52 = l_Lean_Macro_throwErrorAt___rarg(x_1, x_51, x_47, x_50); -lean_dec(x_1); -return x_52; -} -else -{ -lean_object* x_53; lean_object* x_54; -lean_dec(x_1); -x_53 = lean_ctor_get(x_48, 1); -lean_inc(x_53); -lean_dec(x_48); -x_54 = lean_ctor_get(x_49, 0); -lean_inc(x_54); -lean_dec(x_49); -x_1 = x_54; -x_2 = x_47; -x_3 = x_53; -goto _start; -} -} -else -{ -lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; -lean_dec(x_47); -lean_dec(x_1); -x_56 = lean_ctor_get(x_48, 0); -lean_inc(x_56); -x_57 = lean_ctor_get(x_48, 1); -lean_inc(x_57); -if (lean_is_exclusive(x_48)) { - lean_ctor_release(x_48, 0); - lean_ctor_release(x_48, 1); - x_58 = x_48; -} else { - lean_dec_ref(x_48); - x_58 = lean_box(0); -} -if (lean_is_scalar(x_58)) { - x_59 = lean_alloc_ctor(1, 2, 0); -} else { - x_59 = x_58; -} -lean_ctor_set(x_59, 0, x_56); -lean_ctor_set(x_59, 1, x_57); -return x_59; -} -} -else -{ -lean_object* x_60; lean_object* x_61; lean_object* x_62; -lean_dec(x_43); -lean_dec(x_42); -lean_dec(x_41); -lean_dec(x_40); -lean_dec(x_39); -lean_dec(x_38); -x_60 = l_Lean_maxRecDepthErrorMessage; -x_61 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_61, 0, x_1); -lean_ctor_set(x_61, 1, x_60); -x_62 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_62, 0, x_61); -lean_ctor_set(x_62, 1, x_3); -return x_62; -} -} -} -else -{ -lean_object* x_63; lean_object* x_64; uint8_t x_65; -x_63 = lean_unsigned_to_nat(0u); -x_64 = l_Lean_Syntax_getArg(x_1, x_63); -x_65 = !lean_is_exclusive(x_2); -if (x_65 == 0) -{ -lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; uint8_t x_72; -x_66 = lean_ctor_get(x_2, 0); -x_67 = lean_ctor_get(x_2, 1); -x_68 = lean_ctor_get(x_2, 2); -x_69 = lean_ctor_get(x_2, 3); -x_70 = lean_ctor_get(x_2, 4); -x_71 = lean_ctor_get(x_2, 5); -x_72 = lean_nat_dec_eq(x_69, x_70); -if (x_72 == 0) -{ -lean_object* x_73; lean_object* x_74; -lean_dec(x_1); -x_73 = lean_unsigned_to_nat(1u); -x_74 = lean_nat_add(x_69, x_73); -lean_dec(x_69); -lean_ctor_set(x_2, 3, x_74); -x_1 = x_64; -goto _start; -} -else -{ -lean_object* x_76; lean_object* x_77; lean_object* x_78; -lean_free_object(x_2); -lean_dec(x_71); -lean_dec(x_70); -lean_dec(x_69); -lean_dec(x_68); -lean_dec(x_67); -lean_dec(x_66); -lean_dec(x_64); -x_76 = l_Lean_maxRecDepthErrorMessage; -x_77 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_77, 0, x_1); -lean_ctor_set(x_77, 1, x_76); -x_78 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_78, 0, x_77); -lean_ctor_set(x_78, 1, x_3); -return x_78; -} -} -else -{ -lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; uint8_t x_85; -x_79 = lean_ctor_get(x_2, 0); -x_80 = lean_ctor_get(x_2, 1); -x_81 = lean_ctor_get(x_2, 2); -x_82 = lean_ctor_get(x_2, 3); -x_83 = lean_ctor_get(x_2, 4); -x_84 = lean_ctor_get(x_2, 5); -lean_inc(x_84); -lean_inc(x_83); -lean_inc(x_82); -lean_inc(x_81); -lean_inc(x_80); -lean_inc(x_79); +lean_object* x_6; lean_object* x_7; lean_dec(x_2); -x_85 = lean_nat_dec_eq(x_82, x_83); -if (x_85 == 0) -{ -lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_dec(x_1); -x_86 = lean_unsigned_to_nat(1u); -x_87 = lean_nat_add(x_82, x_86); -lean_dec(x_82); -x_88 = lean_alloc_ctor(0, 6, 0); -lean_ctor_set(x_88, 0, x_79); -lean_ctor_set(x_88, 1, x_80); -lean_ctor_set(x_88, 2, x_81); -lean_ctor_set(x_88, 3, x_87); -lean_ctor_set(x_88, 4, x_83); -lean_ctor_set(x_88, 5, x_84); -x_1 = x_64; -x_2 = x_88; -goto _start; +x_6 = lean_box(1); +x_7 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_7, 0, x_6); +lean_ctor_set(x_7, 1, x_3); +return x_7; } else { -lean_object* x_90; lean_object* x_91; lean_object* x_92; -lean_dec(x_84); -lean_dec(x_83); -lean_dec(x_82); -lean_dec(x_81); -lean_dec(x_80); -lean_dec(x_79); -lean_dec(x_64); -x_90 = l_Lean_maxRecDepthErrorMessage; -x_91 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_91, 0, x_1); -lean_ctor_set(x_91, 1, x_90); -x_92 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_92, 0, x_91); -lean_ctor_set(x_92, 1, x_3); -return x_92; -} -} -} -} -else -{ -lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; -x_93 = lean_unsigned_to_nat(0u); -x_94 = l_Lean_Syntax_getArg(x_1, x_93); -x_95 = lean_unsigned_to_nat(2u); -x_96 = l_Lean_Syntax_getArg(x_1, x_95); +lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; +x_8 = lean_unsigned_to_nat(0u); +x_9 = l_Lean_Syntax_getArg(x_1, x_8); +x_10 = lean_unsigned_to_nat(2u); +x_11 = l_Lean_Syntax_getArg(x_1, x_10); lean_dec(x_1); lean_inc(x_2); -x_97 = l_Lean_evalPrio(x_94, x_2, x_3); -if (lean_obj_tag(x_97) == 0) +x_12 = l_Lean_evalPrio(x_9, x_2, x_3); +if (lean_obj_tag(x_12) == 0) { -lean_object* x_98; lean_object* x_99; lean_object* x_100; -x_98 = lean_ctor_get(x_97, 0); -lean_inc(x_98); -x_99 = lean_ctor_get(x_97, 1); -lean_inc(x_99); -lean_dec(x_97); -x_100 = l_Lean_evalPrio(x_96, x_2, x_99); -if (lean_obj_tag(x_100) == 0) +lean_object* x_13; lean_object* x_14; lean_object* x_15; +x_13 = lean_ctor_get(x_12, 0); +lean_inc(x_13); +x_14 = lean_ctor_get(x_12, 1); +lean_inc(x_14); +lean_dec(x_12); +x_15 = l_Lean_evalPrio(x_11, x_2, x_14); +if (lean_obj_tag(x_15) == 0) { -uint8_t x_101; -x_101 = !lean_is_exclusive(x_100); -if (x_101 == 0) +uint8_t x_16; +x_16 = !lean_is_exclusive(x_15); +if (x_16 == 0) { -lean_object* x_102; lean_object* x_103; -x_102 = lean_ctor_get(x_100, 0); -x_103 = lean_nat_sub(x_98, x_102); -lean_dec(x_102); -lean_dec(x_98); -lean_ctor_set(x_100, 0, x_103); -return x_100; +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_17 = lean_ctor_get(x_15, 0); +x_18 = lean_nat_sub(x_13, x_17); +lean_dec(x_17); +lean_dec(x_13); +x_19 = l_Nat_repr(x_18); +x_20 = l_Lean_numLitKind; +x_21 = l_Lean_instInhabitedSourceInfo___closed__1; +x_22 = l_Lean_Syntax_mkLit(x_20, x_19, x_21); +lean_ctor_set(x_15, 0, x_22); +return x_15; } else { -lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; -x_104 = lean_ctor_get(x_100, 0); -x_105 = lean_ctor_get(x_100, 1); -lean_inc(x_105); -lean_inc(x_104); -lean_dec(x_100); -x_106 = lean_nat_sub(x_98, x_104); -lean_dec(x_104); -lean_dec(x_98); -x_107 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_107, 0, x_106); -lean_ctor_set(x_107, 1, x_105); -return x_107; +lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_23 = lean_ctor_get(x_15, 0); +x_24 = lean_ctor_get(x_15, 1); +lean_inc(x_24); +lean_inc(x_23); +lean_dec(x_15); +x_25 = lean_nat_sub(x_13, x_23); +lean_dec(x_23); +lean_dec(x_13); +x_26 = l_Nat_repr(x_25); +x_27 = l_Lean_numLitKind; +x_28 = l_Lean_instInhabitedSourceInfo___closed__1; +x_29 = l_Lean_Syntax_mkLit(x_27, x_26, x_28); +x_30 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_30, 0, x_29); +lean_ctor_set(x_30, 1, x_24); +return x_30; } } else { -uint8_t x_108; -lean_dec(x_98); -x_108 = !lean_is_exclusive(x_100); -if (x_108 == 0) +uint8_t x_31; +lean_dec(x_13); +x_31 = !lean_is_exclusive(x_15); +if (x_31 == 0) { -return x_100; +return x_15; } else { -lean_object* x_109; lean_object* x_110; lean_object* x_111; -x_109 = lean_ctor_get(x_100, 0); -x_110 = lean_ctor_get(x_100, 1); -lean_inc(x_110); -lean_inc(x_109); -lean_dec(x_100); -x_111 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_111, 0, x_109); -lean_ctor_set(x_111, 1, x_110); -return x_111; +lean_object* x_32; lean_object* x_33; lean_object* x_34; +x_32 = lean_ctor_get(x_15, 0); +x_33 = lean_ctor_get(x_15, 1); +lean_inc(x_33); +lean_inc(x_32); +lean_dec(x_15); +x_34 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_34, 0, x_32); +lean_ctor_set(x_34, 1, x_33); +return x_34; } } } else { -uint8_t x_112; -lean_dec(x_96); +uint8_t x_35; +lean_dec(x_11); lean_dec(x_2); -x_112 = !lean_is_exclusive(x_97); -if (x_112 == 0) +x_35 = !lean_is_exclusive(x_12); +if (x_35 == 0) { -return x_97; +return x_12; } else { -lean_object* x_113; lean_object* x_114; lean_object* x_115; -x_113 = lean_ctor_get(x_97, 0); -x_114 = lean_ctor_get(x_97, 1); -lean_inc(x_114); -lean_inc(x_113); -lean_dec(x_97); -x_115 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_115, 0, x_113); -lean_ctor_set(x_115, 1, x_114); -return x_115; +lean_object* x_36; lean_object* x_37; lean_object* x_38; +x_36 = lean_ctor_get(x_12, 0); +x_37 = lean_ctor_get(x_12, 1); +lean_inc(x_37); +lean_inc(x_36); +lean_dec(x_12); +x_38 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_38, 0, x_36); +lean_ctor_set(x_38, 1, x_37); +return x_38; } } } } -else -{ -lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; -x_116 = lean_unsigned_to_nat(0u); -x_117 = l_Lean_Syntax_getArg(x_1, x_116); -x_118 = lean_unsigned_to_nat(2u); -x_119 = l_Lean_Syntax_getArg(x_1, x_118); -lean_dec(x_1); -lean_inc(x_2); -x_120 = l_Lean_evalPrio(x_117, x_2, x_3); -if (lean_obj_tag(x_120) == 0) -{ -lean_object* x_121; lean_object* x_122; lean_object* x_123; -x_121 = lean_ctor_get(x_120, 0); -lean_inc(x_121); -x_122 = lean_ctor_get(x_120, 1); -lean_inc(x_122); -lean_dec(x_120); -x_123 = l_Lean_evalPrio(x_119, x_2, x_122); -if (lean_obj_tag(x_123) == 0) -{ -uint8_t x_124; -x_124 = !lean_is_exclusive(x_123); -if (x_124 == 0) -{ -lean_object* x_125; lean_object* x_126; -x_125 = lean_ctor_get(x_123, 0); -x_126 = lean_nat_add(x_121, x_125); -lean_dec(x_125); -lean_dec(x_121); -lean_ctor_set(x_123, 0, x_126); -return x_123; -} -else -{ -lean_object* x_127; lean_object* x_128; lean_object* x_129; lean_object* x_130; -x_127 = lean_ctor_get(x_123, 0); -x_128 = lean_ctor_get(x_123, 1); -lean_inc(x_128); -lean_inc(x_127); -lean_dec(x_123); -x_129 = lean_nat_add(x_121, x_127); -lean_dec(x_127); -lean_dec(x_121); -x_130 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_130, 0, x_129); -lean_ctor_set(x_130, 1, x_128); -return x_130; -} -} -else -{ -uint8_t x_131; -lean_dec(x_121); -x_131 = !lean_is_exclusive(x_123); -if (x_131 == 0) -{ -return x_123; -} -else -{ -lean_object* x_132; lean_object* x_133; lean_object* x_134; -x_132 = lean_ctor_get(x_123, 0); -x_133 = lean_ctor_get(x_123, 1); -lean_inc(x_133); -lean_inc(x_132); -lean_dec(x_123); -x_134 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_134, 0, x_132); -lean_ctor_set(x_134, 1, x_133); -return x_134; -} -} -} -else -{ -uint8_t x_135; -lean_dec(x_119); -lean_dec(x_2); -x_135 = !lean_is_exclusive(x_120); -if (x_135 == 0) -{ -return x_120; -} -else -{ -lean_object* x_136; lean_object* x_137; lean_object* x_138; -x_136 = lean_ctor_get(x_120, 0); -x_137 = lean_ctor_get(x_120, 1); -lean_inc(x_137); -lean_inc(x_136); -lean_dec(x_120); -x_138 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_138, 0, x_136); -lean_ctor_set(x_138, 1, x_137); -return x_138; -} -} -} -} -else -{ -lean_object* x_139; lean_object* x_140; -lean_dec(x_2); -x_139 = l_Lean_numLitKind; -x_140 = l___private_Init_Meta_0__Lean_Syntax_isNatLitAux(x_139, x_1); -lean_dec(x_1); -if (lean_obj_tag(x_140) == 0) -{ -lean_object* x_141; lean_object* x_142; -x_141 = lean_unsigned_to_nat(0u); -x_142 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_142, 0, x_141); -lean_ctor_set(x_142, 1, x_3); -return x_142; -} -else -{ -lean_object* x_143; lean_object* x_144; -x_143 = lean_ctor_get(x_140, 0); -lean_inc(x_143); -lean_dec(x_140); -x_144 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_144, 0, x_143); -lean_ctor_set(x_144, 1, x_3); -return x_144; -} -} -} } static lean_object* _init_l_Lean_termEvalPrio_x21_____closed__1() { _start: @@ -11053,7 +10963,7 @@ x_1 = l_Lean_termEvalPrio_x21_____closed__7; return x_1; } } -lean_object* l_Lean_myMacro____x40_Init_Meta___hyg_4459_(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +lean_object* l_Lean_myMacro____x40_Init_Meta___hyg_4491_(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { lean_object* x_4; uint8_t x_5; diff --git a/stage0/stdlib/Lean/Attributes.c b/stage0/stdlib/Lean/Attributes.c index 3ad727317d..da48711447 100644 --- a/stage0/stdlib/Lean/Attributes.c +++ b/stage0/stdlib/Lean/Attributes.c @@ -17,6 +17,7 @@ lean_object* l_List_reverse___rarg(lean_object*); lean_object* l_Array_qpartition_loop___at_Lean_registerEnumAttributes___spec__4(lean_object*); lean_object* l_Lean_instInhabitedTagAttribute___closed__1; lean_object* l_Array_qsort_sort___at_Lean_registerParametricAttribute___spec__2___rarg___closed__1; +lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_757____closed__7; extern lean_object* l_Lean_Name_toString___closed__1; lean_object* l_Lean_instBEqAttributeApplicationTime___closed__1; lean_object* l_Lean_EnumAttributes_getValue___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); @@ -24,7 +25,6 @@ lean_object* l_Array_qpartition_loop___at_Lean_registerEnumAttributes___spec__4_ lean_object* l_Lean_mkAttributeImplOfConstantUnsafe_match__2___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_addMessageContextPartial___at_Lean_Core_instAddMessageContextCoreM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_registerEnumAttributes___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_748____closed__2; extern lean_object* l_Std_RBTree_toList___rarg___closed__1; lean_object* l_Lean_ParametricAttributeImpl_afterSet___default(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_binSearchAux___at_Lean_EnumAttributes_getValue___spec__2(lean_object*); @@ -32,7 +32,6 @@ lean_object* l_List_map___at_Lean_registerEnumAttributes___spec__9___rarg(lean_o size_t l_USize_add(size_t, size_t); lean_object* l_Lean_attrParamSyntaxToIdentifier___boxed(lean_object*); lean_object* l_Lean_registerTagAttribute___closed__3; -lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_748____closed__1; lean_object* l_Lean_stringToMessageData(lean_object*); lean_object* l_Lean_registerTagAttribute___lambda__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_mkAttributeImplOfBuilder___closed__1; @@ -48,10 +47,10 @@ extern lean_object* l_Lean_nullKind; lean_object* l_Lean_registerParametricAttribute___rarg___lambda__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_registerParametricAttribute___rarg___lambda__4(lean_object*); lean_object* l_Array_qsort_sort___at_Lean_registerParametricAttribute___spec__2___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +uint8_t l_Array_anyMUnsafe_any___at_Lean_initFn____x40_Lean_Attributes___hyg_757____spec__2(lean_object*, lean_object*, size_t, size_t); lean_object* lean_name_mk_string(lean_object*, lean_object*); uint8_t l_USize_decEq(size_t, size_t); lean_object* lean_array_uget(lean_object*, size_t); -lean_object* l_Array_anyMUnsafe_any___at_Lean_initFn____x40_Lean_Attributes___hyg_748____spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_io_error_to_string(lean_object*); lean_object* l_Lean_instMonadLiftImportMAttrM___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Std_PersistentHashMap_findAtAux___at_Lean_getBuiltinAttributeImpl___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -61,7 +60,7 @@ extern lean_object* l_Lean_Parser_Syntax_addPrec___closed__1; lean_object* l_Lean_ParametricAttribute_getParam_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Attributes_0__Lean_AttributeExtension_mkInitial(lean_object*); lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Attributes_0__Lean_AttributeExtension_addImported___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -uint8_t l_Array_anyMUnsafe_any___at_Lean_initFn____x40_Lean_Attributes___hyg_748____spec__2(lean_object*, lean_object*, size_t, size_t); +lean_object* l___private_Lean_Attributes_0__Lean_beqAttributeKind____x40_Lean_Attributes___hyg_107__match__1___rarg(uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_registerTagAttribute___lambda__8(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_attribute_application_time(lean_object*, lean_object*); lean_object* l_Std_AssocList_foldlM___at_Lean_registerAttributeImplBuilder___spec__5(lean_object*, lean_object*); @@ -83,6 +82,8 @@ lean_object* l_Std_PersistentHashMap_contains___at_Lean_registerBuiltinAttribute lean_object* l_Lean_registerTagAttribute___lambda__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_attributeExtension___elambda__4___rarg(lean_object*); lean_object* l_Lean_ofExcept___at_Lean_Attribute_add___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_757____closed__3; +lean_object* l_Std_mkHashMap___at_Lean_initFn____x40_Lean_Attributes___hyg_329____spec__1(lean_object*); size_t l_USize_sub(size_t, size_t); extern lean_object* l_Array_empty___closed__1; lean_object* lean_environment_find(lean_object*, lean_object*); @@ -97,16 +98,15 @@ extern lean_object* l_Lean_instInhabitedParserDescr___closed__1; lean_object* l_Lean_mkAttributeImplOfBuilder_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_instMonadLiftImportMAttrM___rarg(lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_name_eq(lean_object*, lean_object*); -lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_748____closed__7; lean_object* l_Std_HashMapImp_insert___at_Lean_registerAttributeImplBuilder___spec__1(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_registerParametricAttribute___rarg___lambda__2(lean_object*, lean_object*); lean_object* l_Lean_ParametricAttribute_getParam(lean_object*); lean_object* l_Lean_isAttribute___boxed(lean_object*, lean_object*); lean_object* l_Lean_attributeExtension; -lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_748____lambda__2___boxed(lean_object*); lean_object* l_Array_anyMUnsafe_any___at_Lean_registerParametricAttribute___spec__8(lean_object*); lean_object* l_Std_PersistentHashMap_foldlMAux_traverse___at_Lean_getBuiltinAttributeNames___spec__4(lean_object*); lean_object* l_Array_anyMUnsafe_any___at_Lean_registerTagAttribute___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_757____closed__2; lean_object* lean_array_push(lean_object*, lean_object*); lean_object* l_Lean_registerEnumAttributes___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_get_size(lean_object*); @@ -120,18 +120,16 @@ lean_object* l_Lean_setEnv___at_Lean_registerTagAttribute___spec__4(lean_object* lean_object* l_Std_RBNode_fold___at_Lean_registerEnumAttributes___spec__1(lean_object*); lean_object* l_Lean_attributeMapRef; lean_object* l_Lean_attributeImplBuilderTableRef; -lean_object* l_Lean_AttributeApplicationTime_beq_match__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_attrParamSyntaxToIdentifier_match__1(lean_object*); size_t l_USize_shiftRight(size_t, size_t); lean_object* l_Lean_attributeExtension___elambda__2___boxed(lean_object*); lean_object* l_Std_RBNode_fold___at_Lean_registerParametricAttribute___spec__1(lean_object*); -lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_748_(lean_object*); -lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_320_(lean_object*); -lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_179_(lean_object*); +lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_757_(lean_object*); +lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_329_(lean_object*); +lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_188_(lean_object*); lean_object* l_Lean_mkAttributeImplOfBuilder_match__1(lean_object*); lean_object* l_Lean_registerEnumAttributes___rarg___lambda__3___boxed(lean_object*); -uint8_t l_Lean_instBEqAttributeKind(uint8_t, uint8_t); -lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_748____closed__5; +lean_object* l_Lean_instBEqAttributeKind; lean_object* l_Lean_attributeExtension___elambda__3(lean_object*, lean_object*); lean_object* l_Lean_registerBuiltinAttribute___lambda__2___closed__2; lean_object* l_Lean_registerEnumAttributes___rarg___lambda__3___closed__1; @@ -159,9 +157,9 @@ lean_object* l_Lean_AttributeImpl_erase___default___rarg___closed__1; lean_object* l_Lean_attributeExtension___elambda__4(lean_object*, lean_object*); lean_object* l_Std_RBNode_fold___at_Lean_registerTagAttribute___spec__1(lean_object*, lean_object*); lean_object* l_Lean_AttributeImpl_erase___default___rarg___closed__2; +lean_object* l___private_Lean_Attributes_0__Lean_beqAttributeKind____x40_Lean_Attributes___hyg_107__match__1(lean_object*); lean_object* l_Std_RBNode_find___at_Lean_EnumAttributes_getValue___spec__1___rarg___boxed(lean_object*, lean_object*); lean_object* l_Lean_ParametricAttributeImpl_afterImport___default___rarg(lean_object*); -uint8_t l_Lean_AttributeApplicationTime_beq(uint8_t, uint8_t); lean_object* l_Std_HashMapImp_find_x3f___at_Lean_mkAttributeImplOfBuilder___spec__1(lean_object*, lean_object*); lean_object* l_Lean_instInhabitedAttributeImpl___closed__2; lean_object* l_Lean_mkAttributeImplOfConstantUnsafe_match__1___rarg(lean_object*, lean_object*, lean_object*); @@ -171,7 +169,6 @@ lean_object* l_Array_foldlMUnsafe_fold___at_Lean_getBuiltinAttributeNames___spec lean_object* l_Lean_registerTagAttribute___lambda__7___closed__2; lean_object* l_Lean_registerParametricAttribute___rarg___lambda__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_attributeExtension___closed__5; -lean_object* l_Lean_instBEqAttributeKind___boxed(lean_object*, lean_object*); lean_object* l_Lean_mkAttributeImplOfEntry_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* lean_array_fget(lean_object*, lean_object*); lean_object* l_Lean_instInhabitedAttributeExtensionState; @@ -180,23 +177,25 @@ lean_object* l_Lean_getAttributeImpl_match__1(lean_object*); lean_object* l_Lean_attrParamSyntaxToIdentifier_match__2(lean_object*); lean_object* l_Lean_instToStringAttributeKind___closed__3; uint8_t lean_nat_dec_eq(lean_object*, lean_object*); -lean_object* l_IO_mkRef___at_Lean_initFn____x40_Lean_Attributes___hyg_320____spec__2(lean_object*, lean_object*); +uint8_t l___private_Lean_Attributes_0__Lean_beqAttributeKind____x40_Lean_Attributes___hyg_107_(uint8_t, uint8_t); +lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_757____lambda__2(lean_object*); +lean_object* l_IO_mkRef___at_Lean_initFn____x40_Lean_Attributes___hyg_188____spec__1(lean_object*, lean_object*); lean_object* lean_st_ref_take(lean_object*, lean_object*); extern lean_object* l_Std_PersistentHashMap_insertAux___rarg___closed__3; +lean_object* l_Lean_instBEqAttributeKind___closed__1; lean_object* lean_nat_sub(lean_object*, lean_object*); lean_object* l_Array_qpartition_loop___at_Lean_registerParametricAttribute___spec__6___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_instInhabitedEnumAttributes(lean_object*); lean_object* l_Lean_instMonadLiftImportMAttrM(lean_object*); lean_object* lean_array_swap(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_registerParametricAttribute___rarg___lambda__4___closed__3; +lean_object* l___private_Lean_Attributes_0__Lean_beqAttributeApplicationTime____x40_Lean_Attributes___hyg_11__match__1(lean_object*); lean_object* l_Array_qpartition_loop___at_Lean_registerEnumAttributes___spec__6(lean_object*); lean_object* l_Lean_registerAttributeImplBuilder___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_ParametricAttributeImpl_afterSet___default___rarg(lean_object*); -lean_object* l_IO_mkRef___at_Lean_initFn____x40_Lean_Attributes___hyg_179____spec__1(lean_object*, lean_object*); lean_object* l_Lean_attributeExtension___closed__3; lean_object* l_Lean_registerAttributeOfBuilder(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_instToStringAttributeKind___boxed(lean_object*); -lean_object* l_Lean_AttributeApplicationTime_beq_match__1___rarg(uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_instToStringAttributeKind___closed__1; lean_object* l_Lean_instInhabitedEnumAttributes___closed__1; lean_object* l_Array_qpartition_loop___at_Lean_registerEnumAttributes___spec__6___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -207,10 +206,10 @@ lean_object* lean_is_attribute(lean_object*, lean_object*); lean_object* l_Lean_registerEnumAttributes_match__1___rarg(lean_object*, lean_object*); uint8_t l_Array_anyMUnsafe_any___at_Lean_registerTagAttribute___spec__3(lean_object*, lean_object*, size_t, size_t); lean_object* l_Std_PersistentHashMap_insertAux_traverse___at_Lean_registerBuiltinAttribute___spec__3(size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_757____closed__5; lean_object* lean_array_get(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_instBEqAttributeApplicationTime; lean_object* l_Std_PersistentHashMap_insertAux_traverse___at_Lean_registerBuiltinAttribute___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_AttributeApplicationTime_beq_match__1(lean_object*); lean_object* l_Lean_attributeExtension___closed__2; lean_object* l_Array_qpartition_loop___at_Lean_registerParametricAttribute___spec__3___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_fset(lean_object*, lean_object*, lean_object*); @@ -222,6 +221,7 @@ lean_object* l_Lean_throwError___at_Lean_registerTagAttribute___spec__6(lean_obj lean_object* l_Lean_registerEnumAttributes___rarg___lambda__2(lean_object*, lean_object*); lean_object* l_Lean_registerEnumAttributes___rarg___lambda__2___boxed(lean_object*, lean_object*); lean_object* l_Array_qpartition_loop___at_Lean_registerParametricAttribute___spec__3(lean_object*); +lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_757____lambda__2___boxed(lean_object*); lean_object* l_Lean_getAttributeNames___boxed(lean_object*); lean_object* l_Array_qsort_sort___at_Lean_registerParametricAttribute___spec__2(lean_object*); lean_object* l_Std_RBNode_insert___at_Lean_NameMap_insert___spec__1___rarg(lean_object*, lean_object*, lean_object*); @@ -238,7 +238,6 @@ lean_object* l_Lean_instInhabitedAttributeImpl; lean_object* l_Std_RBNode_fold___at_Lean_registerEnumAttributes___spec__1___rarg___boxed(lean_object*, lean_object*); extern lean_object* l_IO_instInhabitedError___closed__1; lean_object* lean_st_mk_ref(lean_object*, lean_object*); -lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_748____lambda__2(lean_object*); lean_object* l_Lean_instInhabitedAttributeImplCore___closed__1; lean_object* l_Lean_registerTagAttribute___lambda__7___closed__1; lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___rarg___lambda__2(lean_object*, lean_object*, lean_object*); @@ -276,7 +275,6 @@ lean_object* l_Std_PersistentHashMap_containsAux___at_Lean_registerBuiltinAttrib lean_object* l_Lean_ParametricAttribute_setParam___rarg___closed__3; lean_object* l_Lean_registerBuiltinAttribute(lean_object*, lean_object*); lean_object* l_Lean_throwError___at_Lean_AttributeImpl_erase___default___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_instBEqAttributeKind_match__1(lean_object*); extern lean_object* l_Lean_instInhabitedSyntax; lean_object* l_Lean_registerParametricAttribute___rarg___lambda__4___boxed(lean_object*); lean_object* l_Lean_mkAttributeImplOfEntry(lean_object*, lean_object*, lean_object*, lean_object*); @@ -286,8 +284,8 @@ lean_object* l_Std_RBNode_find___at_Lean_ParametricAttribute_setParam___spec__1_ lean_object* l_Lean_registerTagAttribute___lambda__3(lean_object*); lean_object* l_Std_RBNode_find___at_Lean_EnumAttributes_setValue___spec__1___rarg___boxed(lean_object*, lean_object*); lean_object* l_Lean_instToStringAttributeKind_match__1___rarg(uint8_t, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_320____closed__1; size_t l_USize_mul(size_t, size_t); +lean_object* l___private_Lean_Attributes_0__Lean_beqAttributeApplicationTime____x40_Lean_Attributes___hyg_11____boxed(lean_object*, lean_object*); lean_object* l_Lean_registerParametricAttribute___rarg___lambda__4___closed__2; lean_object* l_Std_RBNode_fold___at_Std_RBMap_size___spec__1___rarg(lean_object*, lean_object*); lean_object* l_Array_anyMUnsafe_any___at_Lean_registerParametricAttribute___spec__8___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); @@ -300,6 +298,7 @@ lean_object* l_Array_qpartition_loop___at_Lean_registerParametricAttribute___spe lean_object* l_Lean_registerAttributeImplBuilder___closed__2; size_t lean_usize_of_nat(lean_object*); lean_object* l_Lean_ParametricAttributeImpl_afterImport___default(lean_object*, lean_object*, lean_object*); +lean_object* l___private_Lean_Attributes_0__Lean_beqAttributeKind____x40_Lean_Attributes___hyg_107____boxed(lean_object*, lean_object*); extern lean_object* l_Lean_NameSet_empty; lean_object* l_Lean_registerTagAttribute___lambda__6___closed__2; lean_object* l_Lean_ConstantInfo_type(lean_object*); @@ -310,13 +309,13 @@ lean_object* l_Lean_EnumAttributes_getValue_match__2___rarg(lean_object*, lean_o lean_object* l_Lean_ParametricAttribute_getParam_match__1(lean_object*, lean_object*); lean_object* l_Lean_ParametricAttribute_setParam___rarg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Attribute_add(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_329____closed__1; lean_object* l_IO_ofExcept___at_Lean_mkAttributeImplOfBuilder___spec__3___boxed(lean_object*, lean_object*); lean_object* l_Lean_throwError___at_Lean_Attribute_add___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_throwError___at_Lean_registerTagAttribute___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_binSearchAux___at_Lean_ParametricAttribute_getParam___spec__2___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Attributes_0__Lean_AttributeExtension_addImported___spec__1(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_getAttributeImpl___boxed(lean_object*, lean_object*); -lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_748____closed__4; lean_object* l_Std_PersistentHashMap_containsAtAux___at_Lean_registerBuiltinAttribute___spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Std_AssocList_replace___at_Lean_registerAttributeImplBuilder___spec__6(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_mkAttributeImplOfEntry_match__1(lean_object*); @@ -337,10 +336,12 @@ lean_object* l_List_map___at_Lean_registerEnumAttributes___spec__9___rarg___lamb uint8_t l_Std_PersistentHashMap_contains___at_Lean_registerBuiltinAttribute___spec__5(lean_object*, lean_object*); lean_object* l_Lean_registerTagAttribute___lambda__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_registerEnumAttributes_match__1(lean_object*, lean_object*); +lean_object* l___private_Lean_Attributes_0__Lean_beqAttributeApplicationTime____x40_Lean_Attributes___hyg_11__match__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__4___closed__2; uint8_t l_Lean_Syntax_hasArgs(lean_object*); lean_object* l_Lean_mkAttributeImplOfConstantUnsafe(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_attributeExtension___elambda__1___boxed(lean_object*); +lean_object* l_IO_mkRef___at_Lean_initFn____x40_Lean_Attributes___hyg_329____spec__2(lean_object*, lean_object*); lean_object* l_Lean_instInhabitedAttributeImpl___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Std_PersistentHashMap_insertAtCollisionNodeAux___at_Lean_registerBuiltinAttribute___spec__4(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_registerTagAttribute___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -359,7 +360,6 @@ lean_object* l_Std_RBNode_find___at_Lean_EnumAttributes_setValue___spec__1___rar lean_object* l_Lean_registerEnumAttributes___rarg___closed__1; lean_object* l_Std_HashMapImp_contains___at_Lean_registerAttributeImplBuilder___spec__7___boxed(lean_object*, lean_object*); lean_object* l_Lean_instInhabitedAttributeImpl___lambda__1(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_AttributeApplicationTime_beq___boxed(lean_object*, lean_object*); lean_object* l_Array_binSearchAux___at_Lean_ParametricAttribute_getParam___spec__2(lean_object*); extern lean_object* l_Lean_EnvExtensionInterfaceUnsafe_instInhabitedExt___closed__2; lean_object* l_Lean_registerParametricAttribute___rarg___closed__3; @@ -371,6 +371,7 @@ lean_object* l_Lean_registerParametricAttribute___rarg___lambda__4___closed__4; lean_object* l_Lean_ParametricAttribute_getParam___rarg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_registerTagAttribute___lambda__6___closed__1; uint8_t l_Lean_TagAttribute_hasTag(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_757____closed__4; lean_object* l_Lean_EnumAttributes_setValue___rarg___closed__2; lean_object* l_Std_AssocList_find_x3f___at_Lean_mkAttributeImplOfBuilder___spec__2___boxed(lean_object*, lean_object*); lean_object* l_Lean_registerParametricAttribute___rarg___lambda__4___closed__1; @@ -381,14 +382,17 @@ extern lean_object* l_Lean_instInhabitedPersistentEnvExtension___closed__5; lean_object* l_Lean_registerTagAttribute___lambda__5___closed__1; lean_object* l_Lean_EnumAttributes_getValue_match__1(lean_object*, lean_object*); lean_object* l_Lean_registerEnumAttributes___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_anyMUnsafe_any___at_Lean_initFn____x40_Lean_Attributes___hyg_757____spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_nat_mul(lean_object*, lean_object*); lean_object* l_Lean_registerBuiltinAttribute___lambda__2___closed__1; lean_object* l_Std_RBNode_find___at_Lean_ParametricAttribute_getParam___spec__1(lean_object*); lean_object* l_Std_PersistentHashMap_find_x3f___at_Lean_getBuiltinAttributeImpl___spec__1___boxed(lean_object*, lean_object*); lean_object* l_Lean_ParametricAttribute_getParam___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_757____closed__6; uint8_t l_Array_anyMUnsafe_any___at_Lean_registerEnumAttributes___spec__8___rarg(lean_object*, lean_object*, size_t, size_t); lean_object* l_Array_qpartition_loop___at_Lean_registerEnumAttributes___spec__5(lean_object*); lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); +uint8_t l___private_Lean_Attributes_0__Lean_beqAttributeApplicationTime____x40_Lean_Attributes___hyg_11_(uint8_t, uint8_t); extern lean_object* l_Lean_instInhabitedName; lean_object* l_Lean_registerBuiltinAttribute___lambda__1___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Environment_getModuleIdxFor_x3f(lean_object*, lean_object*); @@ -397,12 +401,12 @@ lean_object* l_List_toArrayAux___rarg(lean_object*, lean_object*); lean_object* l_Array_qsort_sort___at_Lean_registerParametricAttribute___spec__2___rarg___lambda__1___boxed(lean_object*, lean_object*); lean_object* l_Lean_registerParametricAttribute___rarg___lambda__3___boxed(lean_object*, lean_object*); lean_object* l_Array_qsort_sort___at_Lean_registerEnumAttributes___spec__2___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_initFn____x40_Lean_Attributes___hyg_748____spec__1(lean_object*, lean_object*); lean_object* l_Lean_mkAttributeImplOfConstantUnsafe_match__1___rarg___closed__1; lean_object* l_Lean_registerParametricAttribute___rarg___lambda__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_instInhabitedAttributeImpl___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Array_anyMUnsafe_any___at_Lean_registerParametricAttribute___spec__8___rarg(lean_object*, lean_object*, size_t, size_t); lean_object* l_Array_qpartition_loop___at_Lean_registerEnumAttributes___spec__6___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_initFn____x40_Lean_Attributes___hyg_757____spec__1(lean_object*, lean_object*); lean_object* l_Lean_mkAttributeImplOfEntry___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_registerParametricAttribute___spec__7(lean_object*); lean_object* l_Std_AssocList_contains___at_Lean_registerAttributeImplBuilder___spec__2___boxed(lean_object*, lean_object*); @@ -412,7 +416,6 @@ extern size_t l_Std_PersistentHashMap_insertAux___rarg___closed__2; lean_object* l_Array_anyMUnsafe_any___at_Lean_registerEnumAttributes___spec__8(lean_object*); lean_object* l_Lean_registerBuiltinAttribute___lambda__1(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PersistentEnvExtension_getState___rarg(lean_object*, lean_object*); -lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_748____closed__8; lean_object* l_Lean_EnumAttributes_getValue___rarg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Std_RBNode_find___at_Lean_ParametricAttribute_getParam___spec__1___rarg(lean_object*, lean_object*); lean_object* l_Lean_mkAttributeImplOfConstantUnsafe___closed__1; @@ -428,6 +431,7 @@ lean_object* l_Lean_TagAttribute_hasTag_match__1___rarg(lean_object*, lean_objec lean_object* l_Lean_registerParametricAttribute___rarg___lambda__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_qpartition_loop___at_Lean_registerEnumAttributes___spec__4___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_NameSet_contains(lean_object*, lean_object*); +lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_757____lambda__1(lean_object*); lean_object* l_Lean_registerBuiltinAttribute___lambda__2(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_registerParametricAttribute___rarg___lambda__3(lean_object*, lean_object*); lean_object* l_List_map___at_Lean_registerEnumAttributes___spec__9___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -443,6 +447,7 @@ lean_object* l_Std_PersistentHashMap_findAux___at_Lean_getBuiltinAttributeImpl__ lean_object* l_Lean_registerTagAttribute___lambda__5___closed__3; lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_registerEnumAttributes___spec__7___rarg(lean_object*, lean_object*); lean_object* l_List_map___at_Lean_registerEnumAttributes___spec__9___rarg___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l___private_Lean_Attributes_0__Lean_beqAttributeKind____x40_Lean_Attributes___hyg_107__match__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_lengthAux___rarg(lean_object*, lean_object*); lean_object* l_Std_HashMapImp_expand___at_Lean_registerAttributeImplBuilder___spec__3(lean_object*, lean_object*); lean_object* l_Array_qsort_sort___at_Lean_registerParametricAttribute___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*); @@ -453,9 +458,6 @@ lean_object* l_Lean_attributeExtension___elambda__3___boxed(lean_object*, lean_o lean_object* lean_usize_to_nat(size_t); lean_object* l_Std_RBNode_fold___at_Lean_registerParametricAttribute___spec__1___rarg___boxed(lean_object*, lean_object*); lean_object* l_Lean_getBuiltinAttributeImpl___closed__1; -lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_748____closed__6; -lean_object* l_Lean_instBEqAttributeKind_match__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Std_mkHashMap___at_Lean_initFn____x40_Lean_Attributes___hyg_320____spec__1(lean_object*); lean_object* l_Std_RBNode_find___at_Lean_EnumAttributes_setValue___spec__1(lean_object*); lean_object* l_Lean_registerAttributeImplBuilder(lean_object*, lean_object*, lean_object*); lean_object* l_EStateM_pure___rarg(lean_object*, lean_object*); @@ -474,11 +476,11 @@ lean_object* l_List_map___at_Lean_registerEnumAttributes___spec__9___rarg___lamb lean_object* l_Lean_registerTagAttribute___lambda__3___closed__1; lean_object* l_Lean_getAttributeNames(lean_object*); lean_object* l_Lean_attributeExtension___elambda__4___boxed(lean_object*, lean_object*); -lean_object* l_Lean_instBEqAttributeKind_match__1___rarg(uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_EnumAttributes_setValue(lean_object*); lean_object* l_Lean_registerTagAttribute___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_map___at_Lean_registerEnumAttributes___spec__9___rarg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_getAttributeImpl(lean_object*, lean_object*); +lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_757____closed__1; lean_object* l_Lean_AttributeImpl_erase___default___boxed(lean_object*); lean_object* l_Lean_getAttributeImpl_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_getBuiltinAttributeImpl_match__1(lean_object*); @@ -489,13 +491,13 @@ lean_object* l_Lean_registerEnumAttributes(lean_object*); lean_object* l_Lean_ParametricAttribute_getParam_match__2(lean_object*); lean_object* l_Lean_registerTagAttribute___lambda__3___boxed(lean_object*); lean_object* l_Lean_registerBuiltinAttribute___closed__1; +lean_object* l___private_Lean_Attributes_0__Lean_beqAttributeApplicationTime____x40_Lean_Attributes___hyg_11__match__1___rarg(uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_757____closed__8; lean_object* l_Std_PersistentHashMap_mkCollisionNode___rarg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_EnumAttributes_getValue(lean_object*); -lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_748____closed__3; lean_object* l_Lean_registerEnumAttributes___rarg(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*); uint8_t lean_string_dec_eq(lean_object*, lean_object*); uint8_t lean_nat_dec_lt(lean_object*, lean_object*); -lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_748____lambda__1(lean_object*); lean_object* l_Lean_mkAttributeImplOfConstant(lean_object*, lean_object*, lean_object*); static uint8_t _init_l_Lean_instInhabitedAttributeApplicationTime() { _start: @@ -505,7 +507,7 @@ x_1 = 0; return x_1; } } -lean_object* l_Lean_AttributeApplicationTime_beq_match__1___rarg(uint8_t x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +lean_object* l___private_Lean_Attributes_0__Lean_beqAttributeApplicationTime____x40_Lean_Attributes___hyg_11__match__1___rarg(uint8_t x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { switch (x_1) { @@ -587,15 +589,15 @@ return x_24; } } } -lean_object* l_Lean_AttributeApplicationTime_beq_match__1(lean_object* x_1) { +lean_object* l___private_Lean_Attributes_0__Lean_beqAttributeApplicationTime____x40_Lean_Attributes___hyg_11__match__1(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_AttributeApplicationTime_beq_match__1___rarg___boxed), 6, 0); +x_2 = lean_alloc_closure((void*)(l___private_Lean_Attributes_0__Lean_beqAttributeApplicationTime____x40_Lean_Attributes___hyg_11__match__1___rarg___boxed), 6, 0); return x_2; } } -lean_object* l_Lean_AttributeApplicationTime_beq_match__1___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +lean_object* l___private_Lean_Attributes_0__Lean_beqAttributeApplicationTime____x40_Lean_Attributes___hyg_11__match__1___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { uint8_t x_7; uint8_t x_8; lean_object* x_9; @@ -603,11 +605,11 @@ x_7 = lean_unbox(x_1); lean_dec(x_1); x_8 = lean_unbox(x_2); lean_dec(x_2); -x_9 = l_Lean_AttributeApplicationTime_beq_match__1___rarg(x_7, x_8, x_3, x_4, x_5, x_6); +x_9 = l___private_Lean_Attributes_0__Lean_beqAttributeApplicationTime____x40_Lean_Attributes___hyg_11__match__1___rarg(x_7, x_8, x_3, x_4, x_5, x_6); return x_9; } } -uint8_t l_Lean_AttributeApplicationTime_beq(uint8_t x_1, uint8_t x_2) { +uint8_t l___private_Lean_Attributes_0__Lean_beqAttributeApplicationTime____x40_Lean_Attributes___hyg_11_(uint8_t x_1, uint8_t x_2) { _start: { switch (x_1) { @@ -668,7 +670,7 @@ return x_11; } } } -lean_object* l_Lean_AttributeApplicationTime_beq___boxed(lean_object* x_1, lean_object* x_2) { +lean_object* l___private_Lean_Attributes_0__Lean_beqAttributeApplicationTime____x40_Lean_Attributes___hyg_11____boxed(lean_object* x_1, lean_object* x_2) { _start: { uint8_t x_3; uint8_t x_4; uint8_t x_5; lean_object* x_6; @@ -676,7 +678,7 @@ x_3 = lean_unbox(x_1); lean_dec(x_1); x_4 = lean_unbox(x_2); lean_dec(x_2); -x_5 = l_Lean_AttributeApplicationTime_beq(x_3, x_4); +x_5 = l___private_Lean_Attributes_0__Lean_beqAttributeApplicationTime____x40_Lean_Attributes___hyg_11_(x_3, x_4); x_6 = lean_box(x_5); return x_6; } @@ -685,7 +687,7 @@ static lean_object* _init_l_Lean_instBEqAttributeApplicationTime___closed__1() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_AttributeApplicationTime_beq___boxed), 2, 0); +x_1 = lean_alloc_closure((void*)(l___private_Lean_Attributes_0__Lean_beqAttributeApplicationTime____x40_Lean_Attributes___hyg_11____boxed), 2, 0); return x_1; } } @@ -832,6 +834,198 @@ x_1 = l_Lean_instInhabitedAttributeImplCore___closed__1; return x_1; } } +lean_object* l___private_Lean_Attributes_0__Lean_beqAttributeKind____x40_Lean_Attributes___hyg_107__match__1___rarg(uint8_t x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +switch (x_1) { +case 0: +{ +lean_object* x_7; +lean_dec(x_5); +lean_dec(x_4); +x_7 = lean_box(x_2); +if (lean_obj_tag(x_7) == 0) +{ +lean_object* x_8; lean_object* x_9; +lean_dec(x_6); +x_8 = lean_box(0); +x_9 = lean_apply_1(x_3, x_8); +return x_9; +} +else +{ +lean_object* x_10; lean_object* x_11; lean_object* x_12; +lean_dec(x_7); +lean_dec(x_3); +x_10 = lean_box(x_1); +x_11 = lean_box(x_2); +x_12 = lean_apply_2(x_6, x_10, x_11); +return x_12; +} +} +case 1: +{ +lean_object* x_13; +lean_dec(x_5); +lean_dec(x_3); +x_13 = lean_box(x_2); +if (lean_obj_tag(x_13) == 1) +{ +lean_object* x_14; lean_object* x_15; +lean_dec(x_6); +x_14 = lean_box(0); +x_15 = lean_apply_1(x_4, x_14); +return x_15; +} +else +{ +lean_object* x_16; lean_object* x_17; lean_object* x_18; +lean_dec(x_13); +lean_dec(x_4); +x_16 = lean_box(x_1); +x_17 = lean_box(x_2); +x_18 = lean_apply_2(x_6, x_16, x_17); +return x_18; +} +} +default: +{ +lean_object* x_19; +lean_dec(x_4); +lean_dec(x_3); +x_19 = lean_box(x_2); +if (lean_obj_tag(x_19) == 2) +{ +lean_object* x_20; lean_object* x_21; +lean_dec(x_6); +x_20 = lean_box(0); +x_21 = lean_apply_1(x_5, x_20); +return x_21; +} +else +{ +lean_object* x_22; lean_object* x_23; lean_object* x_24; +lean_dec(x_19); +lean_dec(x_5); +x_22 = lean_box(x_1); +x_23 = lean_box(x_2); +x_24 = lean_apply_2(x_6, x_22, x_23); +return x_24; +} +} +} +} +} +lean_object* l___private_Lean_Attributes_0__Lean_beqAttributeKind____x40_Lean_Attributes___hyg_107__match__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l___private_Lean_Attributes_0__Lean_beqAttributeKind____x40_Lean_Attributes___hyg_107__match__1___rarg___boxed), 6, 0); +return x_2; +} +} +lean_object* l___private_Lean_Attributes_0__Lean_beqAttributeKind____x40_Lean_Attributes___hyg_107__match__1___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +uint8_t x_7; uint8_t x_8; lean_object* x_9; +x_7 = lean_unbox(x_1); +lean_dec(x_1); +x_8 = lean_unbox(x_2); +lean_dec(x_2); +x_9 = l___private_Lean_Attributes_0__Lean_beqAttributeKind____x40_Lean_Attributes___hyg_107__match__1___rarg(x_7, x_8, x_3, x_4, x_5, x_6); +return x_9; +} +} +uint8_t l___private_Lean_Attributes_0__Lean_beqAttributeKind____x40_Lean_Attributes___hyg_107_(uint8_t x_1, uint8_t x_2) { +_start: +{ +switch (x_1) { +case 0: +{ +lean_object* x_3; +x_3 = lean_box(x_2); +if (lean_obj_tag(x_3) == 0) +{ +uint8_t x_4; +x_4 = 1; +return x_4; +} +else +{ +uint8_t x_5; +lean_dec(x_3); +x_5 = 0; +return x_5; +} +} +case 1: +{ +lean_object* x_6; +x_6 = lean_box(x_2); +if (lean_obj_tag(x_6) == 1) +{ +uint8_t x_7; +x_7 = 1; +return x_7; +} +else +{ +uint8_t x_8; +lean_dec(x_6); +x_8 = 0; +return x_8; +} +} +default: +{ +lean_object* x_9; +x_9 = lean_box(x_2); +if (lean_obj_tag(x_9) == 2) +{ +uint8_t x_10; +x_10 = 1; +return x_10; +} +else +{ +uint8_t x_11; +lean_dec(x_9); +x_11 = 0; +return x_11; +} +} +} +} +} +lean_object* l___private_Lean_Attributes_0__Lean_beqAttributeKind____x40_Lean_Attributes___hyg_107____boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +uint8_t x_3; uint8_t x_4; uint8_t x_5; lean_object* x_6; +x_3 = lean_unbox(x_1); +lean_dec(x_1); +x_4 = lean_unbox(x_2); +lean_dec(x_2); +x_5 = l___private_Lean_Attributes_0__Lean_beqAttributeKind____x40_Lean_Attributes___hyg_107_(x_3, x_4); +x_6 = lean_box(x_5); +return x_6; +} +} +static lean_object* _init_l_Lean_instBEqAttributeKind___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l___private_Lean_Attributes_0__Lean_beqAttributeKind____x40_Lean_Attributes___hyg_107____boxed), 2, 0); +return x_1; +} +} +static lean_object* _init_l_Lean_instBEqAttributeKind() { +_start: +{ +lean_object* x_1; +x_1 = l_Lean_instBEqAttributeKind___closed__1; +return x_1; +} +} lean_object* l_Lean_instToStringAttributeKind_match__1___rarg(uint8_t x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { @@ -943,182 +1137,6 @@ x_3 = l_Lean_instToStringAttributeKind(x_2); return x_3; } } -lean_object* l_Lean_instBEqAttributeKind_match__1___rarg(uint8_t x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { -_start: -{ -switch (x_1) { -case 0: -{ -lean_object* x_7; -lean_dec(x_5); -lean_dec(x_4); -x_7 = lean_box(x_2); -if (lean_obj_tag(x_7) == 0) -{ -lean_object* x_8; lean_object* x_9; -lean_dec(x_6); -x_8 = lean_box(0); -x_9 = lean_apply_1(x_3, x_8); -return x_9; -} -else -{ -lean_object* x_10; lean_object* x_11; lean_object* x_12; -lean_dec(x_7); -lean_dec(x_3); -x_10 = lean_box(x_1); -x_11 = lean_box(x_2); -x_12 = lean_apply_2(x_6, x_10, x_11); -return x_12; -} -} -case 1: -{ -lean_object* x_13; -lean_dec(x_5); -lean_dec(x_3); -x_13 = lean_box(x_2); -if (lean_obj_tag(x_13) == 1) -{ -lean_object* x_14; lean_object* x_15; -lean_dec(x_6); -x_14 = lean_box(0); -x_15 = lean_apply_1(x_4, x_14); -return x_15; -} -else -{ -lean_object* x_16; lean_object* x_17; lean_object* x_18; -lean_dec(x_13); -lean_dec(x_4); -x_16 = lean_box(x_1); -x_17 = lean_box(x_2); -x_18 = lean_apply_2(x_6, x_16, x_17); -return x_18; -} -} -default: -{ -lean_object* x_19; -lean_dec(x_4); -lean_dec(x_3); -x_19 = lean_box(x_2); -if (lean_obj_tag(x_19) == 2) -{ -lean_object* x_20; lean_object* x_21; -lean_dec(x_6); -x_20 = lean_box(0); -x_21 = lean_apply_1(x_5, x_20); -return x_21; -} -else -{ -lean_object* x_22; lean_object* x_23; lean_object* x_24; -lean_dec(x_19); -lean_dec(x_5); -x_22 = lean_box(x_1); -x_23 = lean_box(x_2); -x_24 = lean_apply_2(x_6, x_22, x_23); -return x_24; -} -} -} -} -} -lean_object* l_Lean_instBEqAttributeKind_match__1(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_instBEqAttributeKind_match__1___rarg___boxed), 6, 0); -return x_2; -} -} -lean_object* l_Lean_instBEqAttributeKind_match__1___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { -_start: -{ -uint8_t x_7; uint8_t x_8; lean_object* x_9; -x_7 = lean_unbox(x_1); -lean_dec(x_1); -x_8 = lean_unbox(x_2); -lean_dec(x_2); -x_9 = l_Lean_instBEqAttributeKind_match__1___rarg(x_7, x_8, x_3, x_4, x_5, x_6); -return x_9; -} -} -uint8_t l_Lean_instBEqAttributeKind(uint8_t x_1, uint8_t x_2) { -_start: -{ -switch (x_1) { -case 0: -{ -lean_object* x_3; -x_3 = lean_box(x_2); -if (lean_obj_tag(x_3) == 0) -{ -uint8_t x_4; -x_4 = 1; -return x_4; -} -else -{ -uint8_t x_5; -lean_dec(x_3); -x_5 = 0; -return x_5; -} -} -case 1: -{ -lean_object* x_6; -x_6 = lean_box(x_2); -if (lean_obj_tag(x_6) == 1) -{ -uint8_t x_7; -x_7 = 1; -return x_7; -} -else -{ -uint8_t x_8; -lean_dec(x_6); -x_8 = 0; -return x_8; -} -} -default: -{ -lean_object* x_9; -x_9 = lean_box(x_2); -if (lean_obj_tag(x_9) == 2) -{ -uint8_t x_10; -x_10 = 1; -return x_10; -} -else -{ -uint8_t x_11; -lean_dec(x_9); -x_11 = 0; -return x_11; -} -} -} -} -} -lean_object* l_Lean_instBEqAttributeKind___boxed(lean_object* x_1, lean_object* x_2) { -_start: -{ -uint8_t x_3; uint8_t x_4; uint8_t x_5; lean_object* x_6; -x_3 = lean_unbox(x_1); -lean_dec(x_1); -x_4 = lean_unbox(x_2); -lean_dec(x_2); -x_5 = l_Lean_instBEqAttributeKind(x_3, x_4); -x_6 = lean_box(x_5); -return x_6; -} -} lean_object* l_Lean_throwError___at_Lean_AttributeImpl_erase___default___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { @@ -1316,7 +1334,7 @@ lean_dec(x_1); return x_5; } } -lean_object* l_IO_mkRef___at_Lean_initFn____x40_Lean_Attributes___hyg_179____spec__1(lean_object* x_1, lean_object* x_2) { +lean_object* l_IO_mkRef___at_Lean_initFn____x40_Lean_Attributes___hyg_188____spec__1(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; uint8_t x_4; @@ -1341,12 +1359,12 @@ return x_7; } } } -lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_179_(lean_object* x_1) { +lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_188_(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; x_2 = l_Lean_LocalContext_fvarIdToDecl___default___closed__1; -x_3 = l_IO_mkRef___at_Lean_initFn____x40_Lean_Attributes___hyg_179____spec__1(x_2, x_1); +x_3 = l_IO_mkRef___at_Lean_initFn____x40_Lean_Attributes___hyg_188____spec__1(x_2, x_1); return x_3; } } @@ -2300,7 +2318,7 @@ lean_dec(x_2); return x_4; } } -lean_object* l_Std_mkHashMap___at_Lean_initFn____x40_Lean_Attributes___hyg_320____spec__1(lean_object* x_1) { +lean_object* l_Std_mkHashMap___at_Lean_initFn____x40_Lean_Attributes___hyg_329____spec__1(lean_object* x_1) { _start: { lean_object* x_2; @@ -2308,7 +2326,7 @@ x_2 = l_Std_mkHashMapImp___rarg(x_1); return x_2; } } -lean_object* l_IO_mkRef___at_Lean_initFn____x40_Lean_Attributes___hyg_320____spec__2(lean_object* x_1, lean_object* x_2) { +lean_object* l_IO_mkRef___at_Lean_initFn____x40_Lean_Attributes___hyg_329____spec__2(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; uint8_t x_4; @@ -2333,7 +2351,7 @@ return x_7; } } } -static lean_object* _init_l_Lean_initFn____x40_Lean_Attributes___hyg_320____closed__1() { +static lean_object* _init_l_Lean_initFn____x40_Lean_Attributes___hyg_329____closed__1() { _start: { lean_object* x_1; lean_object* x_2; @@ -2342,12 +2360,12 @@ x_2 = l_Std_mkHashMapImp___rarg(x_1); return x_2; } } -lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_320_(lean_object* x_1) { +lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_329_(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; -x_2 = l_Lean_initFn____x40_Lean_Attributes___hyg_320____closed__1; -x_3 = l_IO_mkRef___at_Lean_initFn____x40_Lean_Attributes___hyg_320____spec__2(x_2, x_1); +x_2 = l_Lean_initFn____x40_Lean_Attributes___hyg_329____closed__1; +x_3 = l_IO_mkRef___at_Lean_initFn____x40_Lean_Attributes___hyg_329____spec__2(x_2, x_1); return x_3; } } @@ -4257,7 +4275,7 @@ lean_ctor_set(x_11, 1, x_10); return x_11; } } -uint8_t l_Array_anyMUnsafe_any___at_Lean_initFn____x40_Lean_Attributes___hyg_748____spec__2(lean_object* x_1, lean_object* x_2, size_t x_3, size_t x_4) { +uint8_t l_Array_anyMUnsafe_any___at_Lean_initFn____x40_Lean_Attributes___hyg_757____spec__2(lean_object* x_1, lean_object* x_2, size_t x_3, size_t x_4) { _start: { uint8_t x_5; @@ -4295,7 +4313,7 @@ return x_14; } } } -lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_initFn____x40_Lean_Attributes___hyg_748____spec__1(lean_object* x_1, lean_object* x_2) { +lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_initFn____x40_Lean_Attributes___hyg_757____spec__1(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; lean_object* x_4; uint8_t x_5; @@ -4340,7 +4358,7 @@ size_t x_16; size_t x_17; uint8_t x_18; x_16 = 0; x_17 = lean_usize_of_nat(x_8); lean_dec(x_8); -x_18 = l_Array_anyMUnsafe_any___at_Lean_initFn____x40_Lean_Attributes___hyg_748____spec__2(x_1, x_6, x_16, x_17); +x_18 = l_Array_anyMUnsafe_any___at_Lean_initFn____x40_Lean_Attributes___hyg_757____spec__2(x_1, x_6, x_16, x_17); lean_dec(x_6); if (x_18 == 0) { @@ -4411,7 +4429,7 @@ size_t x_39; size_t x_40; uint8_t x_41; x_39 = 0; x_40 = lean_usize_of_nat(x_31); lean_dec(x_31); -x_41 = l_Array_anyMUnsafe_any___at_Lean_initFn____x40_Lean_Attributes___hyg_748____spec__2(x_1, x_29, x_39, x_40); +x_41 = l_Array_anyMUnsafe_any___at_Lean_initFn____x40_Lean_Attributes___hyg_757____spec__2(x_1, x_29, x_39, x_40); lean_dec(x_29); if (x_41 == 0) { @@ -4445,7 +4463,7 @@ return x_52; } } } -lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_748____lambda__1(lean_object* x_1) { +lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_757____lambda__1(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; @@ -4460,7 +4478,7 @@ x_6 = l_List_toArrayAux___rarg(x_3, x_5); return x_6; } } -lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_748____lambda__2(lean_object* x_1) { +lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_757____lambda__2(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; @@ -4477,7 +4495,7 @@ lean_ctor_set(x_8, 1, x_6); return x_8; } } -static lean_object* _init_l_Lean_initFn____x40_Lean_Attributes___hyg_748____closed__1() { +static lean_object* _init_l_Lean_initFn____x40_Lean_Attributes___hyg_757____closed__1() { _start: { lean_object* x_1; @@ -4485,17 +4503,17 @@ x_1 = lean_mk_string("attrExt"); return x_1; } } -static lean_object* _init_l_Lean_initFn____x40_Lean_Attributes___hyg_748____closed__2() { +static lean_object* _init_l_Lean_initFn____x40_Lean_Attributes___hyg_757____closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Lean_initFn____x40_Lean_Attributes___hyg_748____closed__1; +x_2 = l_Lean_initFn____x40_Lean_Attributes___hyg_757____closed__1; x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_initFn____x40_Lean_Attributes___hyg_748____closed__3() { +static lean_object* _init_l_Lean_initFn____x40_Lean_Attributes___hyg_757____closed__3() { _start: { lean_object* x_1; @@ -4503,7 +4521,7 @@ x_1 = lean_alloc_closure((void*)(l___private_Lean_Attributes_0__Lean_AttributeEx return x_1; } } -static lean_object* _init_l_Lean_initFn____x40_Lean_Attributes___hyg_748____closed__4() { +static lean_object* _init_l_Lean_initFn____x40_Lean_Attributes___hyg_757____closed__4() { _start: { lean_object* x_1; @@ -4511,7 +4529,7 @@ x_1 = lean_alloc_closure((void*)(l___private_Lean_Attributes_0__Lean_AttributeEx return x_1; } } -static lean_object* _init_l_Lean_initFn____x40_Lean_Attributes___hyg_748____closed__5() { +static lean_object* _init_l_Lean_initFn____x40_Lean_Attributes___hyg_757____closed__5() { _start: { lean_object* x_1; @@ -4519,32 +4537,32 @@ x_1 = lean_alloc_closure((void*)(l___private_Lean_Attributes_0__Lean_addAttrEntr return x_1; } } -static lean_object* _init_l_Lean_initFn____x40_Lean_Attributes___hyg_748____closed__6() { +static lean_object* _init_l_Lean_initFn____x40_Lean_Attributes___hyg_757____closed__6() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_initFn____x40_Lean_Attributes___hyg_748____lambda__1), 1, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_initFn____x40_Lean_Attributes___hyg_757____lambda__1), 1, 0); return x_1; } } -static lean_object* _init_l_Lean_initFn____x40_Lean_Attributes___hyg_748____closed__7() { +static lean_object* _init_l_Lean_initFn____x40_Lean_Attributes___hyg_757____closed__7() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_initFn____x40_Lean_Attributes___hyg_748____lambda__2___boxed), 1, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_initFn____x40_Lean_Attributes___hyg_757____lambda__2___boxed), 1, 0); return x_1; } } -static lean_object* _init_l_Lean_initFn____x40_Lean_Attributes___hyg_748____closed__8() { +static lean_object* _init_l_Lean_initFn____x40_Lean_Attributes___hyg_757____closed__8() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; -x_1 = l_Lean_initFn____x40_Lean_Attributes___hyg_748____closed__2; -x_2 = l_Lean_initFn____x40_Lean_Attributes___hyg_748____closed__3; -x_3 = l_Lean_initFn____x40_Lean_Attributes___hyg_748____closed__4; -x_4 = l_Lean_initFn____x40_Lean_Attributes___hyg_748____closed__5; -x_5 = l_Lean_initFn____x40_Lean_Attributes___hyg_748____closed__6; -x_6 = l_Lean_initFn____x40_Lean_Attributes___hyg_748____closed__7; +x_1 = l_Lean_initFn____x40_Lean_Attributes___hyg_757____closed__2; +x_2 = l_Lean_initFn____x40_Lean_Attributes___hyg_757____closed__3; +x_3 = l_Lean_initFn____x40_Lean_Attributes___hyg_757____closed__4; +x_4 = l_Lean_initFn____x40_Lean_Attributes___hyg_757____closed__5; +x_5 = l_Lean_initFn____x40_Lean_Attributes___hyg_757____closed__6; +x_6 = l_Lean_initFn____x40_Lean_Attributes___hyg_757____closed__7; x_7 = lean_alloc_ctor(0, 6, 0); lean_ctor_set(x_7, 0, x_1); lean_ctor_set(x_7, 1, x_2); @@ -4555,16 +4573,16 @@ lean_ctor_set(x_7, 5, x_6); return x_7; } } -lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_748_(lean_object* x_1) { +lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_757_(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; -x_2 = l_Lean_initFn____x40_Lean_Attributes___hyg_748____closed__8; -x_3 = l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_initFn____x40_Lean_Attributes___hyg_748____spec__1(x_2, x_1); +x_2 = l_Lean_initFn____x40_Lean_Attributes___hyg_757____closed__8; +x_3 = l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_initFn____x40_Lean_Attributes___hyg_757____spec__1(x_2, x_1); return x_3; } } -lean_object* l_Array_anyMUnsafe_any___at_Lean_initFn____x40_Lean_Attributes___hyg_748____spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +lean_object* l_Array_anyMUnsafe_any___at_Lean_initFn____x40_Lean_Attributes___hyg_757____spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { size_t x_5; size_t x_6; uint8_t x_7; lean_object* x_8; @@ -4572,18 +4590,18 @@ x_5 = lean_unbox_usize(x_3); lean_dec(x_3); x_6 = lean_unbox_usize(x_4); lean_dec(x_4); -x_7 = l_Array_anyMUnsafe_any___at_Lean_initFn____x40_Lean_Attributes___hyg_748____spec__2(x_1, x_2, x_5, x_6); +x_7 = l_Array_anyMUnsafe_any___at_Lean_initFn____x40_Lean_Attributes___hyg_757____spec__2(x_1, x_2, x_5, x_6); lean_dec(x_2); lean_dec(x_1); x_8 = lean_box(x_7); return x_8; } } -lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_748____lambda__2___boxed(lean_object* x_1) { +lean_object* l_Lean_initFn____x40_Lean_Attributes___hyg_757____lambda__2___boxed(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = l_Lean_initFn____x40_Lean_Attributes___hyg_748____lambda__2(x_1); +x_2 = l_Lean_initFn____x40_Lean_Attributes___hyg_757____lambda__2(x_1); lean_dec(x_1); return x_2; } @@ -6579,62 +6597,54 @@ return x_2; lean_object* l_Lean_registerTagAttribute___lambda__6(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, uint8_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { -lean_object* x_10; lean_object* x_22; -x_22 = lean_box(x_5); -if (lean_obj_tag(x_22) == 0) +uint8_t x_10; uint8_t x_11; +x_10 = 0; +x_11 = l___private_Lean_Attributes_0__Lean_beqAttributeKind____x40_Lean_Attributes___hyg_107_(x_5, x_10); +if (x_11 == 0) { -lean_object* x_23; lean_object* x_24; -x_23 = lean_box(0); -x_24 = l_Lean_registerTagAttribute___lambda__5(x_1, x_2, x_3, x_4, x_23, x_7, x_8, x_9); -return x_24; -} -else -{ -lean_object* x_25; -lean_dec(x_22); +lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18; lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_25 = lean_box(0); -x_10 = x_25; -goto block_21; -} -block_21: -{ -lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; uint8_t x_17; -lean_dec(x_10); -x_11 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_11, 0, x_4); -x_12 = l_Lean_registerTagAttribute___lambda__5___closed__2; -x_13 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_13, 0, x_12); -lean_ctor_set(x_13, 1, x_11); -x_14 = l_Lean_registerTagAttribute___lambda__6___closed__2; -x_15 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_15, 0, x_13); -lean_ctor_set(x_15, 1, x_14); -x_16 = l_Lean_throwError___at_Lean_registerTagAttribute___spec__5(x_15, x_7, x_8, x_9); +x_12 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_12, 0, x_4); +x_13 = l_Lean_registerTagAttribute___lambda__5___closed__2; +x_14 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_14, 0, x_13); +lean_ctor_set(x_14, 1, x_12); +x_15 = l_Lean_registerTagAttribute___lambda__6___closed__2; +x_16 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_16, 0, x_14); +lean_ctor_set(x_16, 1, x_15); +x_17 = l_Lean_throwError___at_Lean_registerTagAttribute___spec__5(x_16, x_7, x_8, x_9); lean_dec(x_8); lean_dec(x_7); -x_17 = !lean_is_exclusive(x_16); -if (x_17 == 0) +x_18 = !lean_is_exclusive(x_17); +if (x_18 == 0) { -return x_16; +return x_17; } else { -lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_18 = lean_ctor_get(x_16, 0); -x_19 = lean_ctor_get(x_16, 1); +lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_19 = lean_ctor_get(x_17, 0); +x_20 = lean_ctor_get(x_17, 1); +lean_inc(x_20); lean_inc(x_19); -lean_inc(x_18); -lean_dec(x_16); -x_20 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_20, 0, x_18); -lean_ctor_set(x_20, 1, x_19); -return x_20; +lean_dec(x_17); +x_21 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_21, 0, x_19); +lean_ctor_set(x_21, 1, x_20); +return x_21; } } +else +{ +lean_object* x_22; lean_object* x_23; +x_22 = lean_box(0); +x_23 = l_Lean_registerTagAttribute___lambda__5(x_1, x_2, x_3, x_4, x_22, x_7, x_8, x_9); +return x_23; +} } } static lean_object* _init_l_Lean_registerTagAttribute___lambda__7___closed__1() { @@ -8176,63 +8186,55 @@ return x_26; lean_object* l_Lean_registerParametricAttribute___rarg___lambda__7(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, uint8_t x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { -lean_object* x_10; lean_object* x_22; -x_22 = lean_box(x_6); -if (lean_obj_tag(x_22) == 0) +uint8_t x_10; uint8_t x_11; +x_10 = 0; +x_11 = l___private_Lean_Attributes_0__Lean_beqAttributeKind____x40_Lean_Attributes___hyg_107_(x_6, x_10); +if (x_11 == 0) { -lean_object* x_23; lean_object* x_24; -x_23 = lean_box(0); -x_24 = l_Lean_registerParametricAttribute___rarg___lambda__6(x_1, x_4, x_5, x_2, x_3, x_23, x_7, x_8, x_9); -return x_24; -} -else -{ -lean_object* x_25; -lean_dec(x_22); +lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18; lean_dec(x_5); lean_dec(x_4); lean_dec(x_2); lean_dec(x_1); -x_25 = lean_box(0); -x_10 = x_25; -goto block_21; -} -block_21: -{ -lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; uint8_t x_17; -lean_dec(x_10); -x_11 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_11, 0, x_3); -x_12 = l_Lean_registerTagAttribute___lambda__5___closed__2; -x_13 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_13, 0, x_12); -lean_ctor_set(x_13, 1, x_11); -x_14 = l_Lean_registerTagAttribute___lambda__6___closed__2; -x_15 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_15, 0, x_13); -lean_ctor_set(x_15, 1, x_14); -x_16 = l_Lean_throwError___at_Lean_registerTagAttribute___spec__6(x_15, x_7, x_8, x_9); +x_12 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_12, 0, x_3); +x_13 = l_Lean_registerTagAttribute___lambda__5___closed__2; +x_14 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_14, 0, x_13); +lean_ctor_set(x_14, 1, x_12); +x_15 = l_Lean_registerTagAttribute___lambda__6___closed__2; +x_16 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_16, 0, x_14); +lean_ctor_set(x_16, 1, x_15); +x_17 = l_Lean_throwError___at_Lean_registerTagAttribute___spec__6(x_16, x_7, x_8, x_9); lean_dec(x_8); lean_dec(x_7); -x_17 = !lean_is_exclusive(x_16); -if (x_17 == 0) +x_18 = !lean_is_exclusive(x_17); +if (x_18 == 0) { -return x_16; +return x_17; } else { -lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_18 = lean_ctor_get(x_16, 0); -x_19 = lean_ctor_get(x_16, 1); +lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_19 = lean_ctor_get(x_17, 0); +x_20 = lean_ctor_get(x_17, 1); +lean_inc(x_20); lean_inc(x_19); -lean_inc(x_18); -lean_dec(x_16); -x_20 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_20, 0, x_18); -lean_ctor_set(x_20, 1, x_19); -return x_20; +lean_dec(x_17); +x_21 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_21, 0, x_19); +lean_ctor_set(x_21, 1, x_20); +return x_21; } } +else +{ +lean_object* x_22; lean_object* x_23; +x_22 = lean_box(0); +x_23 = l_Lean_registerParametricAttribute___rarg___lambda__6(x_1, x_4, x_5, x_2, x_3, x_22, x_7, x_8, x_9); +return x_23; +} } } static lean_object* _init_l_Lean_registerParametricAttribute___rarg___closed__1() { @@ -10046,63 +10048,55 @@ return x_26; lean_object* l_List_map___at_Lean_registerEnumAttributes___spec__9___rarg___lambda__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, uint8_t x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { -lean_object* x_11; lean_object* x_23; -x_23 = lean_box(x_7); -if (lean_obj_tag(x_23) == 0) +uint8_t x_11; uint8_t x_12; +x_11 = 0; +x_12 = l___private_Lean_Attributes_0__Lean_beqAttributeKind____x40_Lean_Attributes___hyg_107_(x_7, x_11); +if (x_12 == 0) { -lean_object* x_24; lean_object* x_25; -x_24 = lean_box(0); -x_25 = l_List_map___at_Lean_registerEnumAttributes___spec__9___rarg___lambda__2(x_1, x_5, x_2, x_3, x_4, x_24, x_8, x_9, x_10); -return x_25; -} -else -{ -lean_object* x_26; -lean_dec(x_23); +lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; uint8_t x_19; lean_dec(x_5); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_26 = lean_box(0); -x_11 = x_26; -goto block_22; -} -block_22: -{ -lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18; -lean_dec(x_11); -x_12 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_12, 0, x_4); -x_13 = l_Lean_registerTagAttribute___lambda__5___closed__2; -x_14 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_14, 0, x_13); -lean_ctor_set(x_14, 1, x_12); -x_15 = l_Lean_registerTagAttribute___lambda__6___closed__2; -x_16 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_16, 0, x_14); -lean_ctor_set(x_16, 1, x_15); -x_17 = l_Lean_throwError___at_Lean_registerTagAttribute___spec__6(x_16, x_8, x_9, x_10); +x_13 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_13, 0, x_4); +x_14 = l_Lean_registerTagAttribute___lambda__5___closed__2; +x_15 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_15, 0, x_14); +lean_ctor_set(x_15, 1, x_13); +x_16 = l_Lean_registerTagAttribute___lambda__6___closed__2; +x_17 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_17, 0, x_15); +lean_ctor_set(x_17, 1, x_16); +x_18 = l_Lean_throwError___at_Lean_registerTagAttribute___spec__6(x_17, x_8, x_9, x_10); lean_dec(x_9); lean_dec(x_8); -x_18 = !lean_is_exclusive(x_17); -if (x_18 == 0) +x_19 = !lean_is_exclusive(x_18); +if (x_19 == 0) { -return x_17; +return x_18; } else { -lean_object* x_19; lean_object* x_20; lean_object* x_21; -x_19 = lean_ctor_get(x_17, 0); -x_20 = lean_ctor_get(x_17, 1); +lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_20 = lean_ctor_get(x_18, 0); +x_21 = lean_ctor_get(x_18, 1); +lean_inc(x_21); lean_inc(x_20); -lean_inc(x_19); -lean_dec(x_17); -x_21 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_21, 0, x_19); -lean_ctor_set(x_21, 1, x_20); -return x_21; +lean_dec(x_18); +x_22 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_22, 0, x_20); +lean_ctor_set(x_22, 1, x_21); +return x_22; } } +else +{ +lean_object* x_23; lean_object* x_24; +x_23 = lean_box(0); +x_24 = l_List_map___at_Lean_registerEnumAttributes___spec__9___rarg___lambda__2(x_1, x_5, x_2, x_3, x_4, x_23, x_8, x_9, x_10); +return x_24; +} } } lean_object* l_List_map___at_Lean_registerEnumAttributes___spec__9___rarg(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4) { @@ -11304,6 +11298,10 @@ l_Lean_instInhabitedAttributeImplCore___closed__1 = _init_l_Lean_instInhabitedAt lean_mark_persistent(l_Lean_instInhabitedAttributeImplCore___closed__1); l_Lean_instInhabitedAttributeImplCore = _init_l_Lean_instInhabitedAttributeImplCore(); lean_mark_persistent(l_Lean_instInhabitedAttributeImplCore); +l_Lean_instBEqAttributeKind___closed__1 = _init_l_Lean_instBEqAttributeKind___closed__1(); +lean_mark_persistent(l_Lean_instBEqAttributeKind___closed__1); +l_Lean_instBEqAttributeKind = _init_l_Lean_instBEqAttributeKind(); +lean_mark_persistent(l_Lean_instBEqAttributeKind); l_Lean_instToStringAttributeKind___closed__1 = _init_l_Lean_instToStringAttributeKind___closed__1(); lean_mark_persistent(l_Lean_instToStringAttributeKind___closed__1); l_Lean_instToStringAttributeKind___closed__2 = _init_l_Lean_instToStringAttributeKind___closed__2(); @@ -11324,7 +11322,7 @@ l_Lean_instInhabitedAttributeImpl___closed__3 = _init_l_Lean_instInhabitedAttrib lean_mark_persistent(l_Lean_instInhabitedAttributeImpl___closed__3); l_Lean_instInhabitedAttributeImpl = _init_l_Lean_instInhabitedAttributeImpl(); lean_mark_persistent(l_Lean_instInhabitedAttributeImpl); -res = l_Lean_initFn____x40_Lean_Attributes___hyg_179_(lean_io_mk_world()); +res = l_Lean_initFn____x40_Lean_Attributes___hyg_188_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; l_Lean_attributeMapRef = lean_io_result_get_value(res); lean_mark_persistent(l_Lean_attributeMapRef); @@ -11335,9 +11333,9 @@ l_Lean_registerBuiltinAttribute___lambda__2___closed__2 = _init_l_Lean_registerB lean_mark_persistent(l_Lean_registerBuiltinAttribute___lambda__2___closed__2); l_Lean_registerBuiltinAttribute___closed__1 = _init_l_Lean_registerBuiltinAttribute___closed__1(); lean_mark_persistent(l_Lean_registerBuiltinAttribute___closed__1); -l_Lean_initFn____x40_Lean_Attributes___hyg_320____closed__1 = _init_l_Lean_initFn____x40_Lean_Attributes___hyg_320____closed__1(); -lean_mark_persistent(l_Lean_initFn____x40_Lean_Attributes___hyg_320____closed__1); -res = l_Lean_initFn____x40_Lean_Attributes___hyg_320_(lean_io_mk_world()); +l_Lean_initFn____x40_Lean_Attributes___hyg_329____closed__1 = _init_l_Lean_initFn____x40_Lean_Attributes___hyg_329____closed__1(); +lean_mark_persistent(l_Lean_initFn____x40_Lean_Attributes___hyg_329____closed__1); +res = l_Lean_initFn____x40_Lean_Attributes___hyg_329_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; l_Lean_attributeImplBuilderTableRef = lean_io_result_get_value(res); lean_mark_persistent(l_Lean_attributeImplBuilderTableRef); @@ -11362,22 +11360,22 @@ l_Lean_mkAttributeImplOfConstantUnsafe___closed__2 = _init_l_Lean_mkAttributeImp lean_mark_persistent(l_Lean_mkAttributeImplOfConstantUnsafe___closed__2); l_Lean_mkAttributeImplOfConstant___closed__1 = _init_l_Lean_mkAttributeImplOfConstant___closed__1(); lean_mark_persistent(l_Lean_mkAttributeImplOfConstant___closed__1); -l_Lean_initFn____x40_Lean_Attributes___hyg_748____closed__1 = _init_l_Lean_initFn____x40_Lean_Attributes___hyg_748____closed__1(); -lean_mark_persistent(l_Lean_initFn____x40_Lean_Attributes___hyg_748____closed__1); -l_Lean_initFn____x40_Lean_Attributes___hyg_748____closed__2 = _init_l_Lean_initFn____x40_Lean_Attributes___hyg_748____closed__2(); -lean_mark_persistent(l_Lean_initFn____x40_Lean_Attributes___hyg_748____closed__2); -l_Lean_initFn____x40_Lean_Attributes___hyg_748____closed__3 = _init_l_Lean_initFn____x40_Lean_Attributes___hyg_748____closed__3(); -lean_mark_persistent(l_Lean_initFn____x40_Lean_Attributes___hyg_748____closed__3); -l_Lean_initFn____x40_Lean_Attributes___hyg_748____closed__4 = _init_l_Lean_initFn____x40_Lean_Attributes___hyg_748____closed__4(); -lean_mark_persistent(l_Lean_initFn____x40_Lean_Attributes___hyg_748____closed__4); -l_Lean_initFn____x40_Lean_Attributes___hyg_748____closed__5 = _init_l_Lean_initFn____x40_Lean_Attributes___hyg_748____closed__5(); -lean_mark_persistent(l_Lean_initFn____x40_Lean_Attributes___hyg_748____closed__5); -l_Lean_initFn____x40_Lean_Attributes___hyg_748____closed__6 = _init_l_Lean_initFn____x40_Lean_Attributes___hyg_748____closed__6(); -lean_mark_persistent(l_Lean_initFn____x40_Lean_Attributes___hyg_748____closed__6); -l_Lean_initFn____x40_Lean_Attributes___hyg_748____closed__7 = _init_l_Lean_initFn____x40_Lean_Attributes___hyg_748____closed__7(); -lean_mark_persistent(l_Lean_initFn____x40_Lean_Attributes___hyg_748____closed__7); -l_Lean_initFn____x40_Lean_Attributes___hyg_748____closed__8 = _init_l_Lean_initFn____x40_Lean_Attributes___hyg_748____closed__8(); -lean_mark_persistent(l_Lean_initFn____x40_Lean_Attributes___hyg_748____closed__8); +l_Lean_initFn____x40_Lean_Attributes___hyg_757____closed__1 = _init_l_Lean_initFn____x40_Lean_Attributes___hyg_757____closed__1(); +lean_mark_persistent(l_Lean_initFn____x40_Lean_Attributes___hyg_757____closed__1); +l_Lean_initFn____x40_Lean_Attributes___hyg_757____closed__2 = _init_l_Lean_initFn____x40_Lean_Attributes___hyg_757____closed__2(); +lean_mark_persistent(l_Lean_initFn____x40_Lean_Attributes___hyg_757____closed__2); +l_Lean_initFn____x40_Lean_Attributes___hyg_757____closed__3 = _init_l_Lean_initFn____x40_Lean_Attributes___hyg_757____closed__3(); +lean_mark_persistent(l_Lean_initFn____x40_Lean_Attributes___hyg_757____closed__3); +l_Lean_initFn____x40_Lean_Attributes___hyg_757____closed__4 = _init_l_Lean_initFn____x40_Lean_Attributes___hyg_757____closed__4(); +lean_mark_persistent(l_Lean_initFn____x40_Lean_Attributes___hyg_757____closed__4); +l_Lean_initFn____x40_Lean_Attributes___hyg_757____closed__5 = _init_l_Lean_initFn____x40_Lean_Attributes___hyg_757____closed__5(); +lean_mark_persistent(l_Lean_initFn____x40_Lean_Attributes___hyg_757____closed__5); +l_Lean_initFn____x40_Lean_Attributes___hyg_757____closed__6 = _init_l_Lean_initFn____x40_Lean_Attributes___hyg_757____closed__6(); +lean_mark_persistent(l_Lean_initFn____x40_Lean_Attributes___hyg_757____closed__6); +l_Lean_initFn____x40_Lean_Attributes___hyg_757____closed__7 = _init_l_Lean_initFn____x40_Lean_Attributes___hyg_757____closed__7(); +lean_mark_persistent(l_Lean_initFn____x40_Lean_Attributes___hyg_757____closed__7); +l_Lean_initFn____x40_Lean_Attributes___hyg_757____closed__8 = _init_l_Lean_initFn____x40_Lean_Attributes___hyg_757____closed__8(); +lean_mark_persistent(l_Lean_initFn____x40_Lean_Attributes___hyg_757____closed__8); l_Lean_attributeExtension___closed__1 = _init_l_Lean_attributeExtension___closed__1(); lean_mark_persistent(l_Lean_attributeExtension___closed__1); l_Lean_attributeExtension___closed__2 = _init_l_Lean_attributeExtension___closed__2(); @@ -11388,7 +11386,7 @@ l_Lean_attributeExtension___closed__4 = _init_l_Lean_attributeExtension___closed lean_mark_persistent(l_Lean_attributeExtension___closed__4); l_Lean_attributeExtension___closed__5 = _init_l_Lean_attributeExtension___closed__5(); lean_mark_persistent(l_Lean_attributeExtension___closed__5); -res = l_Lean_initFn____x40_Lean_Attributes___hyg_748_(lean_io_mk_world()); +res = l_Lean_initFn____x40_Lean_Attributes___hyg_757_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; l_Lean_attributeExtension = lean_io_result_get_value(res); lean_mark_persistent(l_Lean_attributeExtension); diff --git a/stage0/stdlib/Lean/Class.c b/stage0/stdlib/Lean/Class.c index 1413075823..e73692c772 100644 --- a/stage0/stdlib/Lean/Class.c +++ b/stage0/stdlib/Lean/Class.c @@ -100,6 +100,7 @@ lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__2(lean lean_object* l_Lean_initFn____x40_Lean_Class___hyg_47____closed__3; lean_object* lean_array_fget(lean_object*, lean_object*); uint8_t lean_nat_dec_eq(lean_object*, lean_object*); +uint8_t l___private_Lean_Attributes_0__Lean_beqAttributeKind____x40_Lean_Attributes___hyg_107_(uint8_t, uint8_t); lean_object* l_Std_AssocList_replace___at_Lean_ClassState_addEntry___spec__11___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_initFn____x40_Lean_Class___hyg_627____lambda__3___closed__3; lean_object* l_Lean_classExtension___closed__2; @@ -3726,50 +3727,42 @@ return x_2; lean_object* l_Lean_initFn____x40_Lean_Class___hyg_627____lambda__2(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { -lean_object* x_8; lean_object* x_16; -x_16 = lean_box(x_3); -if (lean_obj_tag(x_16) == 0) +uint8_t x_8; uint8_t x_9; +x_8 = 0; +x_9 = l___private_Lean_Attributes_0__Lean_beqAttributeKind____x40_Lean_Attributes___hyg_107_(x_3, x_8); +if (x_9 == 0) { -lean_object* x_17; lean_object* x_18; -x_17 = lean_box(0); -x_18 = l_Lean_initFn____x40_Lean_Class___hyg_627____lambda__1(x_1, x_2, x_17, x_5, x_6, x_7); -return x_18; -} -else -{ -lean_object* x_19; -lean_dec(x_16); +lean_object* x_10; lean_object* x_11; uint8_t x_12; lean_dec(x_2); lean_dec(x_1); -x_19 = lean_box(0); -x_8 = x_19; -goto block_15; -} -block_15: +x_10 = l_Lean_initFn____x40_Lean_Class___hyg_627____lambda__2___closed__3; +x_11 = l_Lean_throwError___at_Lean_registerTagAttribute___spec__5(x_10, x_5, x_6, x_7); +x_12 = !lean_is_exclusive(x_11); +if (x_12 == 0) { -lean_object* x_9; lean_object* x_10; uint8_t x_11; -lean_dec(x_8); -x_9 = l_Lean_initFn____x40_Lean_Class___hyg_627____lambda__2___closed__3; -x_10 = l_Lean_throwError___at_Lean_registerTagAttribute___spec__5(x_9, x_5, x_6, x_7); -x_11 = !lean_is_exclusive(x_10); -if (x_11 == 0) -{ -return x_10; +return x_11; } else { -lean_object* x_12; lean_object* x_13; lean_object* x_14; -x_12 = lean_ctor_get(x_10, 0); -x_13 = lean_ctor_get(x_10, 1); +lean_object* x_13; lean_object* x_14; lean_object* x_15; +x_13 = lean_ctor_get(x_11, 0); +x_14 = lean_ctor_get(x_11, 1); +lean_inc(x_14); lean_inc(x_13); -lean_inc(x_12); -lean_dec(x_10); -x_14 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_14, 0, x_12); -lean_ctor_set(x_14, 1, x_13); -return x_14; +lean_dec(x_11); +x_15 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_15, 0, x_13); +lean_ctor_set(x_15, 1, x_14); +return x_15; } } +else +{ +lean_object* x_16; lean_object* x_17; +x_16 = lean_box(0); +x_17 = l_Lean_initFn____x40_Lean_Class___hyg_627____lambda__1(x_1, x_2, x_16, x_5, x_6, x_7); +return x_17; +} } } static lean_object* _init_l_Lean_initFn____x40_Lean_Class___hyg_627____lambda__3___closed__1() { diff --git a/stage0/stdlib/Lean/Compiler/IR.c b/stage0/stdlib/Lean/Compiler/IR.c index 8c6beeb454..a068f32613 100644 --- a/stage0/stdlib/Lean/Compiler/IR.c +++ b/stage0/stdlib/Lean/Compiler/IR.c @@ -55,13 +55,13 @@ lean_object* l___private_Lean_Compiler_IR_0__Lean_IR_compileAux___closed__18; lean_object* l___private_Lean_Compiler_IR_0__Lean_IR_compileAux___closed__15; lean_object* l___private_Lean_Compiler_IR_0__Lean_IR_compileAux(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Compiler_IR_0__Lean_IR_compileAux___closed__3; -extern lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_519____closed__2; lean_object* l_Lean_IR_explicitBoxing(lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Options_empty; lean_object* l_Lean_IR_addBoxedVersionAux___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_IR_checkDecls(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Compiler_IR_0__Lean_IR_compileAux___closed__27; lean_object* l___private_Lean_Compiler_IR_0__Lean_IR_compileAux___closed__9; +extern lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_510____closed__2; lean_object* l___private_Lean_Compiler_IR_0__Lean_IR_compileAux___closed__4; size_t lean_usize_of_nat(lean_object*); lean_object* l___private_Lean_Compiler_IR_0__Lean_IR_compileAux___closed__17; @@ -283,7 +283,7 @@ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_IR_tracePrefixOptionName; -x_2 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_519____closed__2; +x_2 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_510____closed__2; x_3 = l_Lean_Name_append(x_1, x_2); return x_3; } @@ -573,7 +573,7 @@ _start: { lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; x_4 = l___private_Lean_Compiler_IR_0__Lean_IR_compileAux___closed__1; -x_5 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_519____closed__2; +x_5 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_510____closed__2; lean_inc(x_1); x_6 = l___private_Lean_Compiler_IR_CompilerM_0__Lean_IR_logDeclsAux(x_4, x_5, x_1, x_2, x_3); x_7 = lean_ctor_get(x_6, 1); diff --git a/stage0/stdlib/Lean/Compiler/InitAttr.c b/stage0/stdlib/Lean/Compiler/InitAttr.c index 9c51558765..b91e91c98e 100644 --- a/stage0/stdlib/Lean/Compiler/InitAttr.c +++ b/stage0/stdlib/Lean/Compiler/InitAttr.c @@ -49,7 +49,7 @@ lean_object* lean_st_ref_get(lean_object*, lean_object*); extern lean_object* l_Lean_instInhabitedParserDescr___closed__1; uint8_t lean_name_eq(lean_object*, lean_object*); lean_object* l___private_Lean_Compiler_InitAttr_0__Lean_getIOTypeArg_match__1___rarg(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_registerInitAttrUnsafe_match__3___rarg(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_registerInitAttrUnsafe_match__3___rarg(lean_object*, lean_object*); lean_object* l_Array_anyMUnsafe_any___at_Lean_registerInitAttrUnsafe___spec__16___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_qpartition_loop___at_Lean_registerInitAttrUnsafe___spec__14(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_getConstInfo___at_Lean_registerInitAttrUnsafe___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); @@ -76,8 +76,8 @@ lean_object* l___private_Lean_Compiler_InitAttr_0__Lean_isIOUnit_match__1___rarg extern lean_object* l_myMacro____x40_Init_System_IO___hyg_2501____closed__14; lean_object* l_Lean_throwError___at_Lean_registerInitAttrUnsafe___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_registerTagAttribute___closed__5; -lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_535_(lean_object*); -lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_519_(lean_object*); +lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_526_(lean_object*); +lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_510_(lean_object*); lean_object* l_Lean_registerInitAttrUnsafe___lambda__1___closed__12; lean_object* l_Lean_resolveGlobalConst___at_Lean_registerInitAttrUnsafe___spec__5(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Std_RBNode_fold___at_Lean_registerInitAttrUnsafe___spec__12___boxed(lean_object*, lean_object*); @@ -92,7 +92,6 @@ lean_object* l_Lean_registerInitAttrUnsafe_match__2___rarg(lean_object*, lean_ob lean_object* l_Lean_registerInitAttrUnsafe_match__4(lean_object*); lean_object* l___private_Lean_Compiler_InitAttr_0__Lean_isIOUnit___boxed(lean_object*); lean_object* l_Std_RBNode_fold___at_Lean_registerInitAttrUnsafe___spec__12(lean_object*, lean_object*); -lean_object* l_Lean_registerInitAttrUnsafe_match__5(lean_object*); lean_object* l_Lean_registerInitAttrUnsafe___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_registerInitAttrUnsafe___lambda__1___closed__10; lean_object* l_Lean_registerParametricAttribute___at_Lean_registerInitAttrUnsafe___spec__11___lambda__1___boxed(lean_object*); @@ -112,12 +111,10 @@ lean_object* l_Lean_registerInitAttrUnsafe___lambda__3(uint8_t, lean_object*, le lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___rarg___lambda__2(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_isIOUnitBuiltinInitFn___boxed(lean_object*, lean_object*); lean_object* l_Lean_registerInitAttrUnsafe___closed__1; -lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_519____closed__2; lean_object* lean_eval_const(lean_object*, lean_object*, lean_object*); lean_object* l_Array_forInUnsafe_loop___at_Lean_registerInitAttrUnsafe___spec__10(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_hasInitAttr___boxed(lean_object*, lean_object*); lean_object* l_List_filterAux___at_Lean_resolveGlobalConst___spec__1(lean_object*, lean_object*); -lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_519____closed__1; lean_object* lean_get_regular_init_fn_name_for(lean_object*, lean_object*); lean_object* l_Lean_registerInitAttr___rarg(lean_object*); lean_object* l_Array_qpartition_loop___at_Lean_registerInitAttrUnsafe___spec__14___closed__1; @@ -132,28 +129,30 @@ lean_object* l_Lean_registerBuiltinAttribute(lean_object*, lean_object*); lean_object* l_Lean_ParametricAttribute_getParam___at_Lean_getInitFnNameForCore_x3f___spec__1(lean_object*, lean_object*, lean_object*); lean_object* l_IO_ofExcept___at_Lean_registerInitAttrUnsafe___spec__8(lean_object*, lean_object*); lean_object* l_Lean_registerInitAttrUnsafe___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_510____closed__1; lean_object* l_Lean_registerInitAttrUnsafe_match__1(lean_object*); lean_object* l_Lean_ResolveName_resolveGlobalName(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_registerInitAttrUnsafe_match__1___rarg(lean_object*, lean_object*, lean_object*); uint8_t lean_is_io_unit_builtin_init_fn(lean_object*, lean_object*); lean_object* l___private_Lean_Compiler_InitAttr_0__Lean_getIOTypeArg_match__1(lean_object*); lean_object* l_Lean_registerInitAttrUnsafe___lambda__1___closed__9; -lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_535____closed__1; +lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_510____closed__2; +lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_526____closed__1; extern lean_object* l_Lean_KernelException_toMessageData___closed__3; size_t lean_usize_of_nat(lean_object*); lean_object* l_Lean_ConstantInfo_type(lean_object*); lean_object* l_Lean_registerInitAttrUnsafe_match__2(lean_object*); -lean_object* l_Lean_registerInitAttrUnsafe_match__5___rarg(lean_object*, lean_object*); lean_object* l_Lean_throwUnknownConstant___at_Lean_registerInitAttrUnsafe___spec__7(lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_hasInitAttr(lean_object*, lean_object*); +lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_526____closed__2; lean_object* l_Lean_ParametricAttribute_setParam___rarg(lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_535____closed__2; lean_object* l_Lean_resolveGlobalConst___at_Lean_registerInitAttrUnsafe___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Compiler_InitAttr_0__Lean_isUnitType_match__1(lean_object*); lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_registerInitAttrUnsafe___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_throwError___at_Lean_registerInitAttrUnsafe___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_resolveGlobalConstNoOverload___rarg___lambda__1___closed__1; extern lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__1; +lean_object* l_Lean_Syntax_getNumArgs(lean_object*); extern lean_object* l_Lean_resolveGlobalConstNoOverload___rarg___lambda__1___closed__2; uint8_t l___private_Lean_Compiler_InitAttr_0__Lean_isIOUnit(lean_object*); uint8_t lean_expr_eqv(lean_object*, lean_object*); @@ -620,34 +619,6 @@ _start: { if (lean_obj_tag(x_1) == 0) { -lean_object* x_4; lean_object* x_5; -lean_dec(x_3); -x_4 = lean_box(0); -x_5 = lean_apply_1(x_2, x_4); -return x_5; -} -else -{ -lean_object* x_6; -lean_dec(x_2); -x_6 = lean_apply_1(x_3, x_1); -return x_6; -} -} -} -lean_object* l_Lean_registerInitAttrUnsafe_match__2(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_registerInitAttrUnsafe_match__2___rarg), 3, 0); -return x_2; -} -} -lean_object* l_Lean_registerInitAttrUnsafe_match__3___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -if (lean_obj_tag(x_1) == 0) -{ lean_object* x_4; lean_dec(x_2); x_4 = lean_apply_1(x_3, x_1); @@ -665,15 +636,15 @@ return x_6; } } } -lean_object* l_Lean_registerInitAttrUnsafe_match__3(lean_object* x_1) { +lean_object* l_Lean_registerInitAttrUnsafe_match__2(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_registerInitAttrUnsafe_match__3___rarg), 3, 0); +x_2 = lean_alloc_closure((void*)(l_Lean_registerInitAttrUnsafe_match__2___rarg), 3, 0); return x_2; } } -lean_object* l_Lean_registerInitAttrUnsafe_match__4___rarg(lean_object* x_1, lean_object* x_2) { +lean_object* l_Lean_registerInitAttrUnsafe_match__3___rarg(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; @@ -681,15 +652,15 @@ x_3 = lean_apply_1(x_2, x_1); return x_3; } } -lean_object* l_Lean_registerInitAttrUnsafe_match__4(lean_object* x_1) { +lean_object* l_Lean_registerInitAttrUnsafe_match__3(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_registerInitAttrUnsafe_match__4___rarg), 2, 0); +x_2 = lean_alloc_closure((void*)(l_Lean_registerInitAttrUnsafe_match__3___rarg), 2, 0); return x_2; } } -lean_object* l_Lean_registerInitAttrUnsafe_match__5___rarg(lean_object* x_1, lean_object* x_2) { +lean_object* l_Lean_registerInitAttrUnsafe_match__4___rarg(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; lean_object* x_4; lean_object* x_5; @@ -702,11 +673,11 @@ x_5 = lean_apply_2(x_2, x_3, x_4); return x_5; } } -lean_object* l_Lean_registerInitAttrUnsafe_match__5(lean_object* x_1) { +lean_object* l_Lean_registerInitAttrUnsafe_match__4(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_registerInitAttrUnsafe_match__5___rarg), 2, 0); +x_2 = lean_alloc_closure((void*)(l_Lean_registerInitAttrUnsafe_match__4___rarg), 2, 0); return x_2; } } @@ -2088,7 +2059,7 @@ static lean_object* _init_l_Lean_registerInitAttrUnsafe___lambda__1___closed__1( _start: { lean_object* x_1; -x_1 = lean_mk_string("initialization function must have type `IO Unit`"); +x_1 = lean_mk_string("unexpected kind of argument"); return x_1; } } @@ -2116,7 +2087,7 @@ static lean_object* _init_l_Lean_registerInitAttrUnsafe___lambda__1___closed__4( _start: { lean_object* x_1; -x_1 = lean_mk_string("unexpected kind of argument"); +x_1 = lean_mk_string("initialization function must have type `IO Unit`"); return x_1; } } @@ -2208,477 +2179,487 @@ x_9 = lean_ctor_get(x_6, 1); x_10 = l_Lean_attrParamSyntaxToIdentifier(x_2); if (lean_obj_tag(x_10) == 0) { -if (lean_obj_tag(x_2) == 0) -{ -lean_object* x_11; uint8_t x_12; -x_11 = l_Lean_ConstantInfo_type(x_8); -lean_dec(x_8); -x_12 = l___private_Lean_Compiler_InitAttr_0__Lean_isIOUnit(x_11); +lean_object* x_11; lean_object* x_12; uint8_t x_13; +x_11 = l_Lean_Syntax_getNumArgs(x_2); +x_12 = lean_unsigned_to_nat(0u); +x_13 = lean_nat_dec_eq(x_11, x_12); lean_dec(x_11); -if (x_12 == 0) +if (x_13 == 0) { -lean_object* x_13; lean_object* x_14; -lean_free_object(x_6); -x_13 = l_Lean_registerInitAttrUnsafe___lambda__1___closed__3; -x_14 = l_Lean_throwError___at_Lean_registerInitAttrUnsafe___spec__3(x_13, x_3, x_4, x_9); -lean_dec(x_3); -return x_14; -} -else -{ -lean_object* x_15; -lean_dec(x_3); -x_15 = lean_box(0); -lean_ctor_set(x_6, 0, x_15); -return x_6; -} -} -else -{ -lean_object* x_16; lean_object* x_17; +lean_object* x_14; lean_object* x_15; lean_free_object(x_6); lean_dec(x_8); -x_16 = l_Lean_registerInitAttrUnsafe___lambda__1___closed__6; -x_17 = l_Lean_throwError___at_Lean_registerInitAttrUnsafe___spec__3(x_16, x_3, x_4, x_9); +x_14 = l_Lean_registerInitAttrUnsafe___lambda__1___closed__3; +x_15 = l_Lean_throwError___at_Lean_registerInitAttrUnsafe___spec__3(x_14, x_3, x_4, x_9); lean_dec(x_3); -return x_17; -} +return x_15; } else { +lean_object* x_16; uint8_t x_17; +x_16 = l_Lean_ConstantInfo_type(x_8); +lean_dec(x_8); +x_17 = l___private_Lean_Compiler_InitAttr_0__Lean_isIOUnit(x_16); +lean_dec(x_16); +if (x_17 == 0) +{ lean_object* x_18; lean_object* x_19; lean_free_object(x_6); -x_18 = lean_ctor_get(x_10, 0); -lean_inc(x_18); -lean_dec(x_10); -lean_inc(x_3); -x_19 = l_Lean_resolveGlobalConstNoOverload___at_Lean_registerInitAttrUnsafe___spec__4(x_18, x_3, x_4, x_9); -if (lean_obj_tag(x_19) == 0) -{ -lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_20 = lean_ctor_get(x_19, 0); -lean_inc(x_20); -x_21 = lean_ctor_get(x_19, 1); -lean_inc(x_21); -lean_dec(x_19); -lean_inc(x_20); -x_22 = l_Lean_getConstInfo___at_Lean_registerInitAttrUnsafe___spec__1(x_20, x_3, x_4, x_21); -if (lean_obj_tag(x_22) == 0) -{ -uint8_t x_23; -x_23 = !lean_is_exclusive(x_22); -if (x_23 == 0) -{ -lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; -x_24 = lean_ctor_get(x_22, 0); -x_25 = lean_ctor_get(x_22, 1); -x_26 = l_Lean_ConstantInfo_type(x_24); -lean_dec(x_24); -x_27 = l___private_Lean_Compiler_InitAttr_0__Lean_getIOTypeArg(x_26); -lean_dec(x_26); -if (lean_obj_tag(x_27) == 0) -{ -lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; -lean_free_object(x_22); -lean_dec(x_8); -x_28 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_28, 0, x_20); -x_29 = l_Lean_registerInitAttrUnsafe___lambda__1___closed__8; -x_30 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_30, 0, x_29); -lean_ctor_set(x_30, 1, x_28); -x_31 = l_Lean_registerInitAttrUnsafe___lambda__1___closed__10; -x_32 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_32, 0, x_30); -lean_ctor_set(x_32, 1, x_31); -x_33 = l_Lean_throwError___at_Lean_registerInitAttrUnsafe___spec__3(x_32, x_3, x_4, x_25); +x_18 = l_Lean_registerInitAttrUnsafe___lambda__1___closed__6; +x_19 = l_Lean_throwError___at_Lean_registerInitAttrUnsafe___spec__3(x_18, x_3, x_4, x_9); lean_dec(x_3); -return x_33; -} -else -{ -lean_object* x_34; lean_object* x_35; uint8_t x_36; -x_34 = lean_ctor_get(x_27, 0); -lean_inc(x_34); -lean_dec(x_27); -x_35 = l_Lean_ConstantInfo_type(x_8); -lean_dec(x_8); -x_36 = lean_expr_eqv(x_35, x_34); -lean_dec(x_34); -lean_dec(x_35); -if (x_36 == 0) -{ -lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; -lean_free_object(x_22); -x_37 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_37, 0, x_20); -x_38 = l_Lean_registerInitAttrUnsafe___lambda__1___closed__8; -x_39 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_39, 0, x_38); -lean_ctor_set(x_39, 1, x_37); -x_40 = l_Lean_registerInitAttrUnsafe___lambda__1___closed__12; -x_41 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_41, 0, x_39); -lean_ctor_set(x_41, 1, x_40); -x_42 = l_Lean_throwError___at_Lean_registerInitAttrUnsafe___spec__3(x_41, x_3, x_4, x_25); -lean_dec(x_3); -return x_42; -} -else -{ -lean_dec(x_3); -lean_ctor_set(x_22, 0, x_20); -return x_22; -} -} -} -else -{ -lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; -x_43 = lean_ctor_get(x_22, 0); -x_44 = lean_ctor_get(x_22, 1); -lean_inc(x_44); -lean_inc(x_43); -lean_dec(x_22); -x_45 = l_Lean_ConstantInfo_type(x_43); -lean_dec(x_43); -x_46 = l___private_Lean_Compiler_InitAttr_0__Lean_getIOTypeArg(x_45); -lean_dec(x_45); -if (lean_obj_tag(x_46) == 0) -{ -lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; -lean_dec(x_8); -x_47 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_47, 0, x_20); -x_48 = l_Lean_registerInitAttrUnsafe___lambda__1___closed__8; -x_49 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_49, 0, x_48); -lean_ctor_set(x_49, 1, x_47); -x_50 = l_Lean_registerInitAttrUnsafe___lambda__1___closed__10; -x_51 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_51, 0, x_49); -lean_ctor_set(x_51, 1, x_50); -x_52 = l_Lean_throwError___at_Lean_registerInitAttrUnsafe___spec__3(x_51, x_3, x_4, x_44); -lean_dec(x_3); -return x_52; -} -else -{ -lean_object* x_53; lean_object* x_54; uint8_t x_55; -x_53 = lean_ctor_get(x_46, 0); -lean_inc(x_53); -lean_dec(x_46); -x_54 = l_Lean_ConstantInfo_type(x_8); -lean_dec(x_8); -x_55 = lean_expr_eqv(x_54, x_53); -lean_dec(x_53); -lean_dec(x_54); -if (x_55 == 0) -{ -lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; -x_56 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_56, 0, x_20); -x_57 = l_Lean_registerInitAttrUnsafe___lambda__1___closed__8; -x_58 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_58, 0, x_57); -lean_ctor_set(x_58, 1, x_56); -x_59 = l_Lean_registerInitAttrUnsafe___lambda__1___closed__12; -x_60 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_60, 0, x_58); -lean_ctor_set(x_60, 1, x_59); -x_61 = l_Lean_throwError___at_Lean_registerInitAttrUnsafe___spec__3(x_60, x_3, x_4, x_44); -lean_dec(x_3); -return x_61; -} -else -{ -lean_object* x_62; -lean_dec(x_3); -x_62 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_62, 0, x_20); -lean_ctor_set(x_62, 1, x_44); -return x_62; -} -} -} -} -else -{ -uint8_t x_63; -lean_dec(x_20); -lean_dec(x_8); -lean_dec(x_3); -x_63 = !lean_is_exclusive(x_22); -if (x_63 == 0) -{ -return x_22; -} -else -{ -lean_object* x_64; lean_object* x_65; lean_object* x_66; -x_64 = lean_ctor_get(x_22, 0); -x_65 = lean_ctor_get(x_22, 1); -lean_inc(x_65); -lean_inc(x_64); -lean_dec(x_22); -x_66 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_66, 0, x_64); -lean_ctor_set(x_66, 1, x_65); -return x_66; -} -} -} -else -{ -uint8_t x_67; -lean_dec(x_8); -lean_dec(x_3); -x_67 = !lean_is_exclusive(x_19); -if (x_67 == 0) -{ return x_19; } else { -lean_object* x_68; lean_object* x_69; lean_object* x_70; -x_68 = lean_ctor_get(x_19, 0); -x_69 = lean_ctor_get(x_19, 1); -lean_inc(x_69); +lean_object* x_20; +lean_dec(x_3); +x_20 = lean_box(0); +lean_ctor_set(x_6, 0, x_20); +return x_6; +} +} +} +else +{ +lean_object* x_21; lean_object* x_22; +lean_free_object(x_6); +x_21 = lean_ctor_get(x_10, 0); +lean_inc(x_21); +lean_dec(x_10); +lean_inc(x_3); +x_22 = l_Lean_resolveGlobalConstNoOverload___at_Lean_registerInitAttrUnsafe___spec__4(x_21, x_3, x_4, x_9); +if (lean_obj_tag(x_22) == 0) +{ +lean_object* x_23; lean_object* x_24; lean_object* x_25; +x_23 = lean_ctor_get(x_22, 0); +lean_inc(x_23); +x_24 = lean_ctor_get(x_22, 1); +lean_inc(x_24); +lean_dec(x_22); +lean_inc(x_23); +x_25 = l_Lean_getConstInfo___at_Lean_registerInitAttrUnsafe___spec__1(x_23, x_3, x_4, x_24); +if (lean_obj_tag(x_25) == 0) +{ +uint8_t x_26; +x_26 = !lean_is_exclusive(x_25); +if (x_26 == 0) +{ +lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_27 = lean_ctor_get(x_25, 0); +x_28 = lean_ctor_get(x_25, 1); +x_29 = l_Lean_ConstantInfo_type(x_27); +lean_dec(x_27); +x_30 = l___private_Lean_Compiler_InitAttr_0__Lean_getIOTypeArg(x_29); +lean_dec(x_29); +if (lean_obj_tag(x_30) == 0) +{ +lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; +lean_free_object(x_25); +lean_dec(x_8); +x_31 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_31, 0, x_23); +x_32 = l_Lean_registerInitAttrUnsafe___lambda__1___closed__8; +x_33 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_33, 0, x_32); +lean_ctor_set(x_33, 1, x_31); +x_34 = l_Lean_registerInitAttrUnsafe___lambda__1___closed__10; +x_35 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_35, 0, x_33); +lean_ctor_set(x_35, 1, x_34); +x_36 = l_Lean_throwError___at_Lean_registerInitAttrUnsafe___spec__3(x_35, x_3, x_4, x_28); +lean_dec(x_3); +return x_36; +} +else +{ +lean_object* x_37; lean_object* x_38; uint8_t x_39; +x_37 = lean_ctor_get(x_30, 0); +lean_inc(x_37); +lean_dec(x_30); +x_38 = l_Lean_ConstantInfo_type(x_8); +lean_dec(x_8); +x_39 = lean_expr_eqv(x_38, x_37); +lean_dec(x_37); +lean_dec(x_38); +if (x_39 == 0) +{ +lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; +lean_free_object(x_25); +x_40 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_40, 0, x_23); +x_41 = l_Lean_registerInitAttrUnsafe___lambda__1___closed__8; +x_42 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_42, 0, x_41); +lean_ctor_set(x_42, 1, x_40); +x_43 = l_Lean_registerInitAttrUnsafe___lambda__1___closed__12; +x_44 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_44, 0, x_42); +lean_ctor_set(x_44, 1, x_43); +x_45 = l_Lean_throwError___at_Lean_registerInitAttrUnsafe___spec__3(x_44, x_3, x_4, x_28); +lean_dec(x_3); +return x_45; +} +else +{ +lean_dec(x_3); +lean_ctor_set(x_25, 0, x_23); +return x_25; +} +} +} +else +{ +lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; +x_46 = lean_ctor_get(x_25, 0); +x_47 = lean_ctor_get(x_25, 1); +lean_inc(x_47); +lean_inc(x_46); +lean_dec(x_25); +x_48 = l_Lean_ConstantInfo_type(x_46); +lean_dec(x_46); +x_49 = l___private_Lean_Compiler_InitAttr_0__Lean_getIOTypeArg(x_48); +lean_dec(x_48); +if (lean_obj_tag(x_49) == 0) +{ +lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; +lean_dec(x_8); +x_50 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_50, 0, x_23); +x_51 = l_Lean_registerInitAttrUnsafe___lambda__1___closed__8; +x_52 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_52, 0, x_51); +lean_ctor_set(x_52, 1, x_50); +x_53 = l_Lean_registerInitAttrUnsafe___lambda__1___closed__10; +x_54 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_54, 0, x_52); +lean_ctor_set(x_54, 1, x_53); +x_55 = l_Lean_throwError___at_Lean_registerInitAttrUnsafe___spec__3(x_54, x_3, x_4, x_47); +lean_dec(x_3); +return x_55; +} +else +{ +lean_object* x_56; lean_object* x_57; uint8_t x_58; +x_56 = lean_ctor_get(x_49, 0); +lean_inc(x_56); +lean_dec(x_49); +x_57 = l_Lean_ConstantInfo_type(x_8); +lean_dec(x_8); +x_58 = lean_expr_eqv(x_57, x_56); +lean_dec(x_56); +lean_dec(x_57); +if (x_58 == 0) +{ +lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; +x_59 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_59, 0, x_23); +x_60 = l_Lean_registerInitAttrUnsafe___lambda__1___closed__8; +x_61 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_61, 0, x_60); +lean_ctor_set(x_61, 1, x_59); +x_62 = l_Lean_registerInitAttrUnsafe___lambda__1___closed__12; +x_63 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_63, 0, x_61); +lean_ctor_set(x_63, 1, x_62); +x_64 = l_Lean_throwError___at_Lean_registerInitAttrUnsafe___spec__3(x_63, x_3, x_4, x_47); +lean_dec(x_3); +return x_64; +} +else +{ +lean_object* x_65; +lean_dec(x_3); +x_65 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_65, 0, x_23); +lean_ctor_set(x_65, 1, x_47); +return x_65; +} +} +} +} +else +{ +uint8_t x_66; +lean_dec(x_23); +lean_dec(x_8); +lean_dec(x_3); +x_66 = !lean_is_exclusive(x_25); +if (x_66 == 0) +{ +return x_25; +} +else +{ +lean_object* x_67; lean_object* x_68; lean_object* x_69; +x_67 = lean_ctor_get(x_25, 0); +x_68 = lean_ctor_get(x_25, 1); lean_inc(x_68); -lean_dec(x_19); -x_70 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_70, 0, x_68); -lean_ctor_set(x_70, 1, x_69); -return x_70; +lean_inc(x_67); +lean_dec(x_25); +x_69 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_69, 0, x_67); +lean_ctor_set(x_69, 1, x_68); +return x_69; } } } +else +{ +uint8_t x_70; +lean_dec(x_8); +lean_dec(x_3); +x_70 = !lean_is_exclusive(x_22); +if (x_70 == 0) +{ +return x_22; } else { lean_object* x_71; lean_object* x_72; lean_object* x_73; -x_71 = lean_ctor_get(x_6, 0); -x_72 = lean_ctor_get(x_6, 1); +x_71 = lean_ctor_get(x_22, 0); +x_72 = lean_ctor_get(x_22, 1); lean_inc(x_72); lean_inc(x_71); +lean_dec(x_22); +x_73 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_73, 0, x_71); +lean_ctor_set(x_73, 1, x_72); +return x_73; +} +} +} +} +else +{ +lean_object* x_74; lean_object* x_75; lean_object* x_76; +x_74 = lean_ctor_get(x_6, 0); +x_75 = lean_ctor_get(x_6, 1); +lean_inc(x_75); +lean_inc(x_74); lean_dec(x_6); -x_73 = l_Lean_attrParamSyntaxToIdentifier(x_2); -if (lean_obj_tag(x_73) == 0) +x_76 = l_Lean_attrParamSyntaxToIdentifier(x_2); +if (lean_obj_tag(x_76) == 0) { -if (lean_obj_tag(x_2) == 0) -{ -lean_object* x_74; uint8_t x_75; -x_74 = l_Lean_ConstantInfo_type(x_71); -lean_dec(x_71); -x_75 = l___private_Lean_Compiler_InitAttr_0__Lean_isIOUnit(x_74); -lean_dec(x_74); -if (x_75 == 0) -{ -lean_object* x_76; lean_object* x_77; -x_76 = l_Lean_registerInitAttrUnsafe___lambda__1___closed__3; -x_77 = l_Lean_throwError___at_Lean_registerInitAttrUnsafe___spec__3(x_76, x_3, x_4, x_72); -lean_dec(x_3); -return x_77; -} -else -{ -lean_object* x_78; lean_object* x_79; -lean_dec(x_3); -x_78 = lean_box(0); -x_79 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_79, 0, x_78); -lean_ctor_set(x_79, 1, x_72); -return x_79; -} -} -else +lean_object* x_77; lean_object* x_78; uint8_t x_79; +x_77 = l_Lean_Syntax_getNumArgs(x_2); +x_78 = lean_unsigned_to_nat(0u); +x_79 = lean_nat_dec_eq(x_77, x_78); +lean_dec(x_77); +if (x_79 == 0) { lean_object* x_80; lean_object* x_81; -lean_dec(x_71); -x_80 = l_Lean_registerInitAttrUnsafe___lambda__1___closed__6; -x_81 = l_Lean_throwError___at_Lean_registerInitAttrUnsafe___spec__3(x_80, x_3, x_4, x_72); +lean_dec(x_74); +x_80 = l_Lean_registerInitAttrUnsafe___lambda__1___closed__3; +x_81 = l_Lean_throwError___at_Lean_registerInitAttrUnsafe___spec__3(x_80, x_3, x_4, x_75); lean_dec(x_3); return x_81; } +else +{ +lean_object* x_82; uint8_t x_83; +x_82 = l_Lean_ConstantInfo_type(x_74); +lean_dec(x_74); +x_83 = l___private_Lean_Compiler_InitAttr_0__Lean_isIOUnit(x_82); +lean_dec(x_82); +if (x_83 == 0) +{ +lean_object* x_84; lean_object* x_85; +x_84 = l_Lean_registerInitAttrUnsafe___lambda__1___closed__6; +x_85 = l_Lean_throwError___at_Lean_registerInitAttrUnsafe___spec__3(x_84, x_3, x_4, x_75); +lean_dec(x_3); +return x_85; } else { -lean_object* x_82; lean_object* x_83; -x_82 = lean_ctor_get(x_73, 0); -lean_inc(x_82); -lean_dec(x_73); -lean_inc(x_3); -x_83 = l_Lean_resolveGlobalConstNoOverload___at_Lean_registerInitAttrUnsafe___spec__4(x_82, x_3, x_4, x_72); -if (lean_obj_tag(x_83) == 0) +lean_object* x_86; lean_object* x_87; +lean_dec(x_3); +x_86 = lean_box(0); +x_87 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_87, 0, x_86); +lean_ctor_set(x_87, 1, x_75); +return x_87; +} +} +} +else { -lean_object* x_84; lean_object* x_85; lean_object* x_86; -x_84 = lean_ctor_get(x_83, 0); -lean_inc(x_84); -x_85 = lean_ctor_get(x_83, 1); -lean_inc(x_85); -lean_dec(x_83); -lean_inc(x_84); -x_86 = l_Lean_getConstInfo___at_Lean_registerInitAttrUnsafe___spec__1(x_84, x_3, x_4, x_85); -if (lean_obj_tag(x_86) == 0) -{ -lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; -x_87 = lean_ctor_get(x_86, 0); -lean_inc(x_87); -x_88 = lean_ctor_get(x_86, 1); +lean_object* x_88; lean_object* x_89; +x_88 = lean_ctor_get(x_76, 0); lean_inc(x_88); -if (lean_is_exclusive(x_86)) { - lean_ctor_release(x_86, 0); - lean_ctor_release(x_86, 1); - x_89 = x_86; +lean_dec(x_76); +lean_inc(x_3); +x_89 = l_Lean_resolveGlobalConstNoOverload___at_Lean_registerInitAttrUnsafe___spec__4(x_88, x_3, x_4, x_75); +if (lean_obj_tag(x_89) == 0) +{ +lean_object* x_90; lean_object* x_91; lean_object* x_92; +x_90 = lean_ctor_get(x_89, 0); +lean_inc(x_90); +x_91 = lean_ctor_get(x_89, 1); +lean_inc(x_91); +lean_dec(x_89); +lean_inc(x_90); +x_92 = l_Lean_getConstInfo___at_Lean_registerInitAttrUnsafe___spec__1(x_90, x_3, x_4, x_91); +if (lean_obj_tag(x_92) == 0) +{ +lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; +x_93 = lean_ctor_get(x_92, 0); +lean_inc(x_93); +x_94 = lean_ctor_get(x_92, 1); +lean_inc(x_94); +if (lean_is_exclusive(x_92)) { + lean_ctor_release(x_92, 0); + lean_ctor_release(x_92, 1); + x_95 = x_92; } else { - lean_dec_ref(x_86); - x_89 = lean_box(0); + lean_dec_ref(x_92); + x_95 = lean_box(0); } -x_90 = l_Lean_ConstantInfo_type(x_87); -lean_dec(x_87); -x_91 = l___private_Lean_Compiler_InitAttr_0__Lean_getIOTypeArg(x_90); +x_96 = l_Lean_ConstantInfo_type(x_93); +lean_dec(x_93); +x_97 = l___private_Lean_Compiler_InitAttr_0__Lean_getIOTypeArg(x_96); +lean_dec(x_96); +if (lean_obj_tag(x_97) == 0) +{ +lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; +lean_dec(x_95); +lean_dec(x_74); +x_98 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_98, 0, x_90); +x_99 = l_Lean_registerInitAttrUnsafe___lambda__1___closed__8; +x_100 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_100, 0, x_99); +lean_ctor_set(x_100, 1, x_98); +x_101 = l_Lean_registerInitAttrUnsafe___lambda__1___closed__10; +x_102 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_102, 0, x_100); +lean_ctor_set(x_102, 1, x_101); +x_103 = l_Lean_throwError___at_Lean_registerInitAttrUnsafe___spec__3(x_102, x_3, x_4, x_94); +lean_dec(x_3); +return x_103; +} +else +{ +lean_object* x_104; lean_object* x_105; uint8_t x_106; +x_104 = lean_ctor_get(x_97, 0); +lean_inc(x_104); +lean_dec(x_97); +x_105 = l_Lean_ConstantInfo_type(x_74); +lean_dec(x_74); +x_106 = lean_expr_eqv(x_105, x_104); +lean_dec(x_104); +lean_dec(x_105); +if (x_106 == 0) +{ +lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; +lean_dec(x_95); +x_107 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_107, 0, x_90); +x_108 = l_Lean_registerInitAttrUnsafe___lambda__1___closed__8; +x_109 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_109, 0, x_108); +lean_ctor_set(x_109, 1, x_107); +x_110 = l_Lean_registerInitAttrUnsafe___lambda__1___closed__12; +x_111 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_111, 0, x_109); +lean_ctor_set(x_111, 1, x_110); +x_112 = l_Lean_throwError___at_Lean_registerInitAttrUnsafe___spec__3(x_111, x_3, x_4, x_94); +lean_dec(x_3); +return x_112; +} +else +{ +lean_object* x_113; +lean_dec(x_3); +if (lean_is_scalar(x_95)) { + x_113 = lean_alloc_ctor(0, 2, 0); +} else { + x_113 = x_95; +} +lean_ctor_set(x_113, 0, x_90); +lean_ctor_set(x_113, 1, x_94); +return x_113; +} +} +} +else +{ +lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_dec(x_90); -if (lean_obj_tag(x_91) == 0) -{ -lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; -lean_dec(x_89); -lean_dec(x_71); -x_92 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_92, 0, x_84); -x_93 = l_Lean_registerInitAttrUnsafe___lambda__1___closed__8; -x_94 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_94, 0, x_93); -lean_ctor_set(x_94, 1, x_92); -x_95 = l_Lean_registerInitAttrUnsafe___lambda__1___closed__10; -x_96 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_96, 0, x_94); -lean_ctor_set(x_96, 1, x_95); -x_97 = l_Lean_throwError___at_Lean_registerInitAttrUnsafe___spec__3(x_96, x_3, x_4, x_88); +lean_dec(x_74); lean_dec(x_3); -return x_97; -} -else -{ -lean_object* x_98; lean_object* x_99; uint8_t x_100; -x_98 = lean_ctor_get(x_91, 0); -lean_inc(x_98); -lean_dec(x_91); -x_99 = l_Lean_ConstantInfo_type(x_71); -lean_dec(x_71); -x_100 = lean_expr_eqv(x_99, x_98); -lean_dec(x_98); -lean_dec(x_99); -if (x_100 == 0) -{ -lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; -lean_dec(x_89); -x_101 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_101, 0, x_84); -x_102 = l_Lean_registerInitAttrUnsafe___lambda__1___closed__8; -x_103 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_103, 0, x_102); -lean_ctor_set(x_103, 1, x_101); -x_104 = l_Lean_registerInitAttrUnsafe___lambda__1___closed__12; -x_105 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_105, 0, x_103); -lean_ctor_set(x_105, 1, x_104); -x_106 = l_Lean_throwError___at_Lean_registerInitAttrUnsafe___spec__3(x_105, x_3, x_4, x_88); -lean_dec(x_3); -return x_106; -} -else -{ -lean_object* x_107; -lean_dec(x_3); -if (lean_is_scalar(x_89)) { - x_107 = lean_alloc_ctor(0, 2, 0); +x_114 = lean_ctor_get(x_92, 0); +lean_inc(x_114); +x_115 = lean_ctor_get(x_92, 1); +lean_inc(x_115); +if (lean_is_exclusive(x_92)) { + lean_ctor_release(x_92, 0); + lean_ctor_release(x_92, 1); + x_116 = x_92; } else { - x_107 = x_89; + lean_dec_ref(x_92); + x_116 = lean_box(0); } -lean_ctor_set(x_107, 0, x_84); -lean_ctor_set(x_107, 1, x_88); -return x_107; +if (lean_is_scalar(x_116)) { + x_117 = lean_alloc_ctor(1, 2, 0); +} else { + x_117 = x_116; } +lean_ctor_set(x_117, 0, x_114); +lean_ctor_set(x_117, 1, x_115); +return x_117; } } else { -lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; -lean_dec(x_84); -lean_dec(x_71); +lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; +lean_dec(x_74); lean_dec(x_3); -x_108 = lean_ctor_get(x_86, 0); -lean_inc(x_108); -x_109 = lean_ctor_get(x_86, 1); -lean_inc(x_109); -if (lean_is_exclusive(x_86)) { - lean_ctor_release(x_86, 0); - lean_ctor_release(x_86, 1); - x_110 = x_86; +x_118 = lean_ctor_get(x_89, 0); +lean_inc(x_118); +x_119 = lean_ctor_get(x_89, 1); +lean_inc(x_119); +if (lean_is_exclusive(x_89)) { + lean_ctor_release(x_89, 0); + lean_ctor_release(x_89, 1); + x_120 = x_89; } else { - lean_dec_ref(x_86); - x_110 = lean_box(0); + lean_dec_ref(x_89); + x_120 = lean_box(0); } -if (lean_is_scalar(x_110)) { - x_111 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_120)) { + x_121 = lean_alloc_ctor(1, 2, 0); } else { - x_111 = x_110; + x_121 = x_120; } -lean_ctor_set(x_111, 0, x_108); -lean_ctor_set(x_111, 1, x_109); -return x_111; -} -} -else -{ -lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; -lean_dec(x_71); -lean_dec(x_3); -x_112 = lean_ctor_get(x_83, 0); -lean_inc(x_112); -x_113 = lean_ctor_get(x_83, 1); -lean_inc(x_113); -if (lean_is_exclusive(x_83)) { - lean_ctor_release(x_83, 0); - lean_ctor_release(x_83, 1); - x_114 = x_83; -} else { - lean_dec_ref(x_83); - x_114 = lean_box(0); -} -if (lean_is_scalar(x_114)) { - x_115 = lean_alloc_ctor(1, 2, 0); -} else { - x_115 = x_114; -} -lean_ctor_set(x_115, 0, x_112); -lean_ctor_set(x_115, 1, x_113); -return x_115; +lean_ctor_set(x_121, 0, x_118); +lean_ctor_set(x_121, 1, x_119); +return x_121; } } } } else { -uint8_t x_116; +uint8_t x_122; lean_dec(x_3); -x_116 = !lean_is_exclusive(x_6); -if (x_116 == 0) +x_122 = !lean_is_exclusive(x_6); +if (x_122 == 0) { return x_6; } else { -lean_object* x_117; lean_object* x_118; lean_object* x_119; -x_117 = lean_ctor_get(x_6, 0); -x_118 = lean_ctor_get(x_6, 1); -lean_inc(x_118); -lean_inc(x_117); +lean_object* x_123; lean_object* x_124; lean_object* x_125; +x_123 = lean_ctor_get(x_6, 0); +x_124 = lean_ctor_get(x_6, 1); +lean_inc(x_124); +lean_inc(x_123); lean_dec(x_6); -x_119 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_119, 0, x_117); -lean_ctor_set(x_119, 1, x_118); -return x_119; +x_125 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_125, 0, x_123); +lean_ctor_set(x_125, 1, x_124); +return x_125; } } } @@ -3052,7 +3033,7 @@ lean_dec(x_1); return x_4; } } -static lean_object* _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_519____closed__1() { +static lean_object* _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_510____closed__1() { _start: { lean_object* x_1; @@ -3060,27 +3041,27 @@ x_1 = lean_mk_string("init"); return x_1; } } -static lean_object* _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_519____closed__2() { +static lean_object* _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_510____closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_519____closed__1; +x_2 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_510____closed__1; x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_519_(lean_object* x_1) { +lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_510_(lean_object* x_1) { _start: { lean_object* x_2; uint8_t x_3; lean_object* x_4; -x_2 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_519____closed__2; +x_2 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_510____closed__2; x_3 = 1; x_4 = l_Lean_registerInitAttrUnsafe(x_2, x_3, x_1); return x_4; } } -static lean_object* _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_535____closed__1() { +static lean_object* _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_526____closed__1() { _start: { lean_object* x_1; @@ -3088,21 +3069,21 @@ x_1 = lean_mk_string("builtinInit"); return x_1; } } -static lean_object* _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_535____closed__2() { +static lean_object* _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_526____closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_535____closed__1; +x_2 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_526____closed__1; x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_535_(lean_object* x_1) { +lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_526_(lean_object* x_1) { _start: { lean_object* x_2; uint8_t x_3; lean_object* x_4; -x_2 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_535____closed__2; +x_2 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_526____closed__2; x_3 = 0; x_4 = l_Lean_registerInitAttrUnsafe(x_2, x_3, x_1); return x_4; @@ -3709,20 +3690,20 @@ l_Lean_registerInitAttrUnsafe___closed__2 = _init_l_Lean_registerInitAttrUnsafe_ lean_mark_persistent(l_Lean_registerInitAttrUnsafe___closed__2); l_Lean_registerInitAttrUnsafe___closed__3 = _init_l_Lean_registerInitAttrUnsafe___closed__3(); lean_mark_persistent(l_Lean_registerInitAttrUnsafe___closed__3); -l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_519____closed__1 = _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_519____closed__1(); -lean_mark_persistent(l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_519____closed__1); -l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_519____closed__2 = _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_519____closed__2(); -lean_mark_persistent(l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_519____closed__2); -res = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_519_(lean_io_mk_world()); +l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_510____closed__1 = _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_510____closed__1(); +lean_mark_persistent(l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_510____closed__1); +l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_510____closed__2 = _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_510____closed__2(); +lean_mark_persistent(l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_510____closed__2); +res = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_510_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; l_Lean_regularInitAttr = lean_io_result_get_value(res); lean_mark_persistent(l_Lean_regularInitAttr); lean_dec_ref(res); -l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_535____closed__1 = _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_535____closed__1(); -lean_mark_persistent(l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_535____closed__1); -l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_535____closed__2 = _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_535____closed__2(); -lean_mark_persistent(l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_535____closed__2); -res = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_535_(lean_io_mk_world()); +l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_526____closed__1 = _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_526____closed__1(); +lean_mark_persistent(l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_526____closed__1); +l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_526____closed__2 = _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_526____closed__2(); +lean_mark_persistent(l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_526____closed__2); +res = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_526_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; l_Lean_builtinInitAttr = lean_io_result_get_value(res); lean_mark_persistent(l_Lean_builtinInitAttr); diff --git a/stage0/stdlib/Lean/Compiler/InlineAttrs.c b/stage0/stdlib/Lean/Compiler/InlineAttrs.c index 1f045f9526..9e8dddbb4d 100644 --- a/stage0/stdlib/Lean/Compiler/InlineAttrs.c +++ b/stage0/stdlib/Lean/Compiler/InlineAttrs.c @@ -71,6 +71,7 @@ lean_object* l_Lean_Compiler_inlineAttrs; lean_object* l_List_map___at_Lean_Compiler_initFn____x40_Lean_Compiler_InlineAttrs___hyg_57____spec__8___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_map___at_Lean_Compiler_initFn____x40_Lean_Compiler_InlineAttrs___hyg_57____spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_nat_dec_eq(lean_object*, lean_object*); +uint8_t l___private_Lean_Attributes_0__Lean_beqAttributeKind____x40_Lean_Attributes___hyg_107_(uint8_t, uint8_t); lean_object* l_Lean_registerEnumAttributes___at_Lean_Compiler_initFn____x40_Lean_Compiler_InlineAttrs___hyg_57____spec__2___lambda__2(lean_object*); lean_object* l_Lean_Compiler_initFn____x40_Lean_Compiler_InlineAttrs___hyg_57____closed__13; lean_object* l_Lean_Compiler_initFn____x40_Lean_Compiler_InlineAttrs___hyg_57____closed__23; @@ -985,62 +986,54 @@ return x_26; lean_object* l_List_map___at_Lean_Compiler_initFn____x40_Lean_Compiler_InlineAttrs___hyg_57____spec__8___lambda__3(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, uint8_t x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { -lean_object* x_11; lean_object* x_23; -x_23 = lean_box(x_7); -if (lean_obj_tag(x_23) == 0) +uint8_t x_11; uint8_t x_12; +x_11 = 0; +x_12 = l___private_Lean_Attributes_0__Lean_beqAttributeKind____x40_Lean_Attributes___hyg_107_(x_7, x_11); +if (x_12 == 0) { -lean_object* x_24; lean_object* x_25; -x_24 = lean_box(0); -x_25 = l_List_map___at_Lean_Compiler_initFn____x40_Lean_Compiler_InlineAttrs___hyg_57____spec__8___lambda__2(x_1, x_5, x_2, x_3, x_4, x_24, x_8, x_9, x_10); -return x_25; -} -else -{ -lean_object* x_26; -lean_dec(x_23); +lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; uint8_t x_19; lean_dec(x_5); lean_dec(x_3); lean_dec(x_1); -x_26 = lean_box(0); -x_11 = x_26; -goto block_22; -} -block_22: -{ -lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18; -lean_dec(x_11); -x_12 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_12, 0, x_4); -x_13 = l_Lean_registerTagAttribute___lambda__5___closed__2; -x_14 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_14, 0, x_13); -lean_ctor_set(x_14, 1, x_12); -x_15 = l_Lean_registerTagAttribute___lambda__6___closed__2; -x_16 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_16, 0, x_14); -lean_ctor_set(x_16, 1, x_15); -x_17 = l_Lean_throwError___at_Lean_registerTagAttribute___spec__6(x_16, x_8, x_9, x_10); +x_13 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_13, 0, x_4); +x_14 = l_Lean_registerTagAttribute___lambda__5___closed__2; +x_15 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_15, 0, x_14); +lean_ctor_set(x_15, 1, x_13); +x_16 = l_Lean_registerTagAttribute___lambda__6___closed__2; +x_17 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_17, 0, x_15); +lean_ctor_set(x_17, 1, x_16); +x_18 = l_Lean_throwError___at_Lean_registerTagAttribute___spec__6(x_17, x_8, x_9, x_10); lean_dec(x_9); lean_dec(x_8); -x_18 = !lean_is_exclusive(x_17); -if (x_18 == 0) +x_19 = !lean_is_exclusive(x_18); +if (x_19 == 0) { -return x_17; +return x_18; } else { -lean_object* x_19; lean_object* x_20; lean_object* x_21; -x_19 = lean_ctor_get(x_17, 0); -x_20 = lean_ctor_get(x_17, 1); +lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_20 = lean_ctor_get(x_18, 0); +x_21 = lean_ctor_get(x_18, 1); +lean_inc(x_21); lean_inc(x_20); -lean_inc(x_19); -lean_dec(x_17); -x_21 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_21, 0, x_19); -lean_ctor_set(x_21, 1, x_20); -return x_21; +lean_dec(x_18); +x_22 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_22, 0, x_20); +lean_ctor_set(x_22, 1, x_21); +return x_22; } } +else +{ +lean_object* x_23; lean_object* x_24; +x_23 = lean_box(0); +x_24 = l_List_map___at_Lean_Compiler_initFn____x40_Lean_Compiler_InlineAttrs___hyg_57____spec__8___lambda__2(x_1, x_5, x_2, x_3, x_4, x_23, x_8, x_9, x_10); +return x_24; +} } } lean_object* l_List_map___at_Lean_Compiler_initFn____x40_Lean_Compiler_InlineAttrs___hyg_57____spec__8(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4) { diff --git a/stage0/stdlib/Lean/Compiler/Specialize.c b/stage0/stdlib/Lean/Compiler/Specialize.c index a919338c8c..9a7e78eda4 100644 --- a/stage0/stdlib/Lean/Compiler/Specialize.c +++ b/stage0/stdlib/Lean/Compiler/Specialize.c @@ -101,6 +101,7 @@ lean_object* l_Std_HashMapImp_moveEntries___at_Lean_Compiler_SpecState_addEntry_ lean_object* l_Lean_Compiler_specExtension; lean_object* l_Std_HashMapImp_expand___at_Lean_Compiler_SpecState_addEntry___spec__19(lean_object*, lean_object*); uint8_t lean_nat_dec_eq(lean_object*, lean_object*); +uint8_t l___private_Lean_Attributes_0__Lean_beqAttributeKind____x40_Lean_Attributes___hyg_107_(uint8_t, uint8_t); lean_object* l_Std_PersistentHashMap_find_x3f___at_Lean_Compiler_getCachedSpecialization___spec__2(lean_object*, lean_object*); lean_object* l___private_Lean_Compiler_Specialize_0__Lean_Compiler_hasSpecializeAttrAux_match__1___rarg(lean_object*, lean_object*, lean_object*); extern lean_object* l_Std_PersistentHashMap_insertAux___rarg___closed__3; @@ -971,62 +972,54 @@ return x_26; lean_object* l_List_map___at_Lean_Compiler_initFn____x40_Lean_Compiler_Specialize___hyg_49____spec__7___lambda__3(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, uint8_t x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { -lean_object* x_11; lean_object* x_23; -x_23 = lean_box(x_7); -if (lean_obj_tag(x_23) == 0) +uint8_t x_11; uint8_t x_12; +x_11 = 0; +x_12 = l___private_Lean_Attributes_0__Lean_beqAttributeKind____x40_Lean_Attributes___hyg_107_(x_7, x_11); +if (x_12 == 0) { -lean_object* x_24; lean_object* x_25; -x_24 = lean_box(0); -x_25 = l_List_map___at_Lean_Compiler_initFn____x40_Lean_Compiler_Specialize___hyg_49____spec__7___lambda__2(x_1, x_5, x_2, x_3, x_4, x_24, x_8, x_9, x_10); -return x_25; -} -else -{ -lean_object* x_26; -lean_dec(x_23); +lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; uint8_t x_19; lean_dec(x_5); lean_dec(x_3); lean_dec(x_1); -x_26 = lean_box(0); -x_11 = x_26; -goto block_22; -} -block_22: -{ -lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18; -lean_dec(x_11); -x_12 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_12, 0, x_4); -x_13 = l_Lean_registerTagAttribute___lambda__5___closed__2; -x_14 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_14, 0, x_13); -lean_ctor_set(x_14, 1, x_12); -x_15 = l_Lean_registerTagAttribute___lambda__6___closed__2; -x_16 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_16, 0, x_14); -lean_ctor_set(x_16, 1, x_15); -x_17 = l_Lean_throwError___at_Lean_registerTagAttribute___spec__6(x_16, x_8, x_9, x_10); +x_13 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_13, 0, x_4); +x_14 = l_Lean_registerTagAttribute___lambda__5___closed__2; +x_15 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_15, 0, x_14); +lean_ctor_set(x_15, 1, x_13); +x_16 = l_Lean_registerTagAttribute___lambda__6___closed__2; +x_17 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_17, 0, x_15); +lean_ctor_set(x_17, 1, x_16); +x_18 = l_Lean_throwError___at_Lean_registerTagAttribute___spec__6(x_17, x_8, x_9, x_10); lean_dec(x_9); lean_dec(x_8); -x_18 = !lean_is_exclusive(x_17); -if (x_18 == 0) +x_19 = !lean_is_exclusive(x_18); +if (x_19 == 0) { -return x_17; +return x_18; } else { -lean_object* x_19; lean_object* x_20; lean_object* x_21; -x_19 = lean_ctor_get(x_17, 0); -x_20 = lean_ctor_get(x_17, 1); +lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_20 = lean_ctor_get(x_18, 0); +x_21 = lean_ctor_get(x_18, 1); +lean_inc(x_21); lean_inc(x_20); -lean_inc(x_19); -lean_dec(x_17); -x_21 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_21, 0, x_19); -lean_ctor_set(x_21, 1, x_20); -return x_21; +lean_dec(x_18); +x_22 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_22, 0, x_20); +lean_ctor_set(x_22, 1, x_21); +return x_22; } } +else +{ +lean_object* x_23; lean_object* x_24; +x_23 = lean_box(0); +x_24 = l_List_map___at_Lean_Compiler_initFn____x40_Lean_Compiler_Specialize___hyg_49____spec__7___lambda__2(x_1, x_5, x_2, x_3, x_4, x_23, x_8, x_9, x_10); +return x_24; +} } } lean_object* l_List_map___at_Lean_Compiler_initFn____x40_Lean_Compiler_Specialize___hyg_49____spec__7(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4) { diff --git a/stage0/stdlib/Lean/Elab/Attributes.c b/stage0/stdlib/Lean/Elab/Attributes.c index 3487592971..f8bc561055 100644 --- a/stage0/stdlib/Lean/Elab/Attributes.c +++ b/stage0/stdlib/Lean/Elab/Attributes.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Elab.Attributes -// Imports: Init Lean.Parser.Basic Lean.Attributes Lean.MonadEnv +// Imports: Init Lean.Parser.Basic Lean.Attributes Lean.MonadEnv Lean.Elab.Util #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -13,9 +13,11 @@ #ifdef __cplusplus extern "C" { #endif -lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_elabAttrs___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Elab_elabAttr___rarg___lambda__9___closed__3; +lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_elabAttrs___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); size_t l_USize_add(size_t, size_t); lean_object* l_Lean_stringToMessageData(lean_object*); +lean_object* l_Lean_Elab_elabAttr___rarg___lambda__10(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*); extern lean_object* l_term_x5b___x5d___closed__9; lean_object* lean_name_mk_string(lean_object*, lean_object*); lean_object* lean_array_uget(lean_object*, size_t); @@ -23,70 +25,80 @@ extern lean_object* l_myMacro____x40_Init_Notation___hyg_2227____closed__2; lean_object* l_Lean_Format_pretty(lean_object*, lean_object*); lean_object* l_Lean_Elab_Attribute_args___default; lean_object* l_Lean_withRef___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Elab_elabAttr___rarg___lambda__4(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Elab_elabAttr___rarg___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_instInhabitedAttribute; extern lean_object* l_Array_empty___closed__1; lean_object* l_Lean_Elab_instToFormatAttribute(lean_object*); extern lean_object* l_Lean_instInhabitedParserDescr___closed__1; uint8_t lean_name_eq(lean_object*, lean_object*); -lean_object* l_Lean_Elab_elabAttr___rarg___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Elab_elabAttr___rarg___lambda__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t); -lean_object* l_Lean_Elab_elabAttr___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Elab_elabAttr___rarg___lambda__11___closed__3; +lean_object* l_Lean_Elab_throwUnsupportedSyntax___rarg(lean_object*); +lean_object* l_Lean_Elab_elabAttr___rarg___lambda__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_push(lean_object*, lean_object*); lean_object* lean_array_get_size(lean_object*); +lean_object* l_Lean_Elab_elabAttr___rarg___lambda__11(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t); +lean_object* l_Lean_Elab_elabAttr___rarg___lambda__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_elabAttrs___spec__1___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Elab_elabAttr___rarg___lambda__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_USize_decLt(size_t, size_t); -lean_object* l_Lean_Elab_elabAttr___rarg___lambda__2(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Elab_elabAttr___rarg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_myMacro____x40_Init_NotationExtra___hyg_1127____closed__11; lean_object* l_Lean_Elab_toAttributeKind___rarg___lambda__1(lean_object*, lean_object*); -lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_elabAttrs___spec__1___rarg___lambda__2(lean_object*, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, lean_object*); +lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_elabAttrs___spec__1___rarg___lambda__2(lean_object*, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, lean_object*); extern lean_object* l_Lean_instToStringAttributeKind___closed__3; -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); -lean_object* l_Lean_Elab_elabAttrs___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Elab_elabAttrs___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Elab_elabAttr___rarg___lambda__10___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Elab_elabAttrs___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Elab_elabAttrs___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l___private_Lean_Elab_Util_0__Lean_Elab_expandMacro_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Elab_Attribute_kind___default; lean_object* l_Lean_Elab_instToFormatAttribute_match__1(lean_object*); extern lean_object* l_Lean_Format_join___closed__1; +lean_object* l_Lean_Elab_elabAttr___rarg___lambda__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*); lean_object* l_Lean_Elab_elabAttrs(lean_object*); +lean_object* l_Lean_Elab_elabAttr___rarg___lambda__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*); lean_object* l_Lean_Elab_elabAttr(lean_object*); lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_elabAttrs___spec__1(lean_object*); +lean_object* l_Lean_throwErrorAt___rarg(lean_object*, lean_object*, lean_object*, lean_object*); size_t lean_usize_of_nat(lean_object*); extern lean_object* l_Lean_myMacro____x40_Init_NotationExtra___hyg_1127____closed__1; lean_object* l_Lean_Elab_toAttributeKind___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_instInhabitedAttribute___closed__1; -lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_elabAttrs___spec__1___rarg___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Elab_elabDeclAttrs___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_elabAttrs___spec__1___rarg___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Elab_elabDeclAttrs___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_elabAttr_match__1(lean_object*); -lean_object* l_Lean_Elab_elabAttr___rarg___lambda__3___closed__3; +lean_object* l_Lean_Elab_elabAttr___rarg___lambda__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Syntax_isMissing(lean_object*); lean_object* l_Lean_Syntax_isIdOrAtom_x3f(lean_object*); +lean_object* l_Lean_Elab_elabAttr___rarg___lambda__11___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_ReaderT_instMonadReaderT___rarg___lambda__4___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_elabDeclAttrs(lean_object*); lean_object* l_Lean_Syntax_getSepArgs(lean_object*); uint8_t l_Lean_isAttribute(lean_object*, lean_object*); -lean_object* l_Lean_Syntax_getNumArgs(lean_object*); +lean_object* lean_environment_main_module(lean_object*); lean_object* l_Lean_Elab_instToFormatAttribute___closed__4; -lean_object* l_Lean_Elab_elabAttr___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Elab_elabAttr___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_elabAttrs___rarg___lambda__1(lean_object*, lean_object*); extern lean_object* l_Lean_Format_sbracket___closed__4; lean_object* l_Lean_Syntax_getKind(lean_object*); uint8_t l_Lean_Name_isAnonymous(lean_object*); lean_object* l_Lean_Elab_instToFormatAttribute___closed__5; lean_object* l_Lean_Elab_toAttributeKind___rarg___closed__1; +lean_object* l_Lean_Elab_elabAttr___rarg___lambda__11___closed__1; lean_object* l_Lean_Elab_instToFormatAttribute___closed__2; lean_object* l_Lean_Elab_instToFormatAttribute___closed__1; -lean_object* l_Lean_Elab_elabAttr___rarg___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_throwError___rarg(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Elab_elabAttr___rarg___lambda__7(lean_object*, uint8_t, lean_object*, lean_object*); lean_object* l_Lean_Elab_mkAttrKindGlobal___closed__1; uint8_t l_Lean_Syntax_isNone(lean_object*); lean_object* l_Lean_Elab_mkAttrKindGlobal___closed__2; lean_object* l_Lean_Elab_instToFormatAttribute___closed__3; +lean_object* l_Lean_expandMacros(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_fmt___at_Lean_Level_LevelToFormat_toResult___spec__1(lean_object*); extern lean_object* l_Lean_mkOptionalNode___closed__1; lean_object* l_Lean_Elab_instToFormatAttribute_match__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_toAttributeKind___rarg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Elab_elabAttr___rarg___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Elab_elabAttr___rarg___lambda__3___closed__1; -lean_object* l_Lean_Elab_elabAttr___rarg___lambda__3(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Elab_elabAttr___rarg___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Elab_elabAttr___rarg___lambda__11___closed__2; lean_object* l_Lean_Elab_mkAttrKindGlobal; lean_object* lean_string_length(lean_object*); lean_object* l_Lean_Syntax_getArg(lean_object*, lean_object*); @@ -95,21 +107,20 @@ lean_object* l_Lean_Elab_toAttributeKind(lean_object*); lean_object* l_Lean_Elab_instToFormatAttribute_match__1___rarg(uint8_t, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_toAttributeKind___rarg___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_toAttributeKind___rarg___lambda__2___closed__1; +lean_object* l_unsafeCast(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_toAttributeKind___rarg___lambda__1___boxed(lean_object*, lean_object*); -lean_object* l_Lean_Elab_elabAttr___rarg___lambda__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Elab_elabAttr___rarg___lambda__3___closed__2; -lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_elabAttrs___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*); -lean_object* l_Lean_Elab_elabAttr___rarg___lambda__1(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Elab_elabAttr___rarg___lambda__5___closed__2; +lean_object* l_Lean_Elab_elabAttr___rarg___lambda__9___closed__1; +lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_elabAttrs___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*); +lean_object* l_Lean_Elab_elabAttr___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_toAttributeKind___rarg___lambda__2___closed__2; lean_object* l_Lean_Elab_elabAttr_match__1___rarg(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Elab_elabAttr___rarg___lambda__5___closed__3; lean_object* lean_nat_to_int(lean_object*); lean_object* l_Lean_Syntax_formatStxAux(lean_object*, uint8_t, lean_object*, lean_object*); -lean_object* l_Lean_Elab_elabAttr___rarg___lambda__5___closed__1; lean_object* l_Lean_Elab_toAttributeKind___rarg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_forInUnsafe_loop___at_Array_findSomeM_x3f___spec__1___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Elab_elabDeclAttrs___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Elab_elabAttr___rarg___lambda__9___closed__2; +lean_object* l_Lean_Elab_elabAttr___rarg___lambda__9___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Elab_elabDeclAttrs___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static uint8_t _init_l_Lean_Elab_Attribute_kind___default() { _start: { @@ -603,77 +614,230 @@ x_2 = lean_alloc_closure((void*)(l_Lean_Elab_elabAttr_match__1___rarg), 3, 0); return x_2; } } -lean_object* l_Lean_Elab_elabAttr___rarg___lambda__1(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +lean_object* l_Lean_Elab_elabAttr___rarg___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { -lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; -x_6 = lean_ctor_get(x_1, 0); -lean_inc(x_6); -lean_dec(x_1); -x_7 = lean_ctor_get(x_6, 1); -lean_inc(x_7); -lean_dec(x_6); -x_8 = lean_alloc_ctor(0, 2, 1); -lean_ctor_set(x_8, 0, x_3); -lean_ctor_set(x_8, 1, x_4); -lean_ctor_set_uint8(x_8, sizeof(void*)*2, x_2); -x_9 = lean_apply_2(x_7, lean_box(0), x_8); -return x_9; -} -} -lean_object* l_Lean_Elab_elabAttr___rarg___lambda__2(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { -_start: +lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; +lean_inc(x_1); +x_12 = lean_alloc_closure((void*)(l___private_Lean_Elab_Util_0__Lean_Elab_expandMacro_x3f___boxed), 4, 1); +lean_closure_set(x_12, 0, x_1); +x_13 = x_12; +x_14 = lean_environment_main_module(x_1); +x_15 = lean_alloc_ctor(0, 6, 0); +lean_ctor_set(x_15, 0, x_13); +lean_ctor_set(x_15, 1, x_14); +lean_ctor_set(x_15, 2, x_2); +lean_ctor_set(x_15, 3, x_3); +lean_ctor_set(x_15, 4, x_4); +lean_ctor_set(x_15, 5, x_5); +x_16 = l_Lean_expandMacros(x_6, x_15, x_11); +if (lean_obj_tag(x_16) == 0) { -lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; uint8_t x_11; -x_7 = lean_unsigned_to_nat(2u); -x_8 = l_Lean_Syntax_getArg(x_1, x_7); -x_9 = l_Lean_Syntax_getNumArgs(x_8); -x_10 = lean_unsigned_to_nat(0u); -x_11 = lean_nat_dec_eq(x_9, x_10); -lean_dec(x_9); -if (x_11 == 0) -{ -lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; -x_12 = lean_ctor_get(x_2, 0); -lean_inc(x_12); -x_13 = lean_ctor_get(x_12, 1); -lean_inc(x_13); -lean_dec(x_12); -x_14 = lean_box(0); -x_15 = lean_apply_2(x_13, lean_box(0), x_14); -x_16 = lean_box(x_3); -x_17 = lean_alloc_closure((void*)(l_Lean_Elab_elabAttr___rarg___lambda__1___boxed), 5, 4); -lean_closure_set(x_17, 0, x_2); -lean_closure_set(x_17, 1, x_16); -lean_closure_set(x_17, 2, x_4); -lean_closure_set(x_17, 3, x_8); -x_18 = lean_apply_4(x_5, lean_box(0), lean_box(0), x_15, x_17); -return x_18; +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; +lean_dec(x_10); +x_17 = lean_ctor_get(x_16, 0); +lean_inc(x_17); +x_18 = lean_ctor_get(x_16, 1); +lean_inc(x_18); +lean_dec(x_16); +x_19 = lean_ctor_get(x_7, 2); +lean_inc(x_19); +lean_dec(x_7); +x_20 = lean_apply_1(x_19, x_18); +x_21 = lean_alloc_closure((void*)(l_ReaderT_instMonadReaderT___rarg___lambda__4___boxed), 3, 2); +lean_closure_set(x_21, 0, x_8); +lean_closure_set(x_21, 1, x_17); +x_22 = lean_apply_4(x_9, lean_box(0), lean_box(0), x_20, x_21); +return x_22; } else { -lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; +lean_object* x_23; +lean_dec(x_9); +lean_dec(x_7); +x_23 = lean_ctor_get(x_16, 0); +lean_inc(x_23); +lean_dec(x_16); +if (lean_obj_tag(x_23) == 0) +{ +lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_24 = lean_ctor_get(x_23, 0); +lean_inc(x_24); +x_25 = lean_ctor_get(x_23, 1); +lean_inc(x_25); +lean_dec(x_23); +x_26 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_26, 0, x_25); +x_27 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_27, 0, x_26); +x_28 = l_Lean_throwErrorAt___rarg(x_8, x_10, x_24, x_27); +return x_28; +} +else +{ +lean_object* x_29; lean_object* x_30; lean_dec(x_8); -x_19 = lean_ctor_get(x_2, 0); -lean_inc(x_19); -x_20 = lean_ctor_get(x_19, 1); -lean_inc(x_20); -lean_dec(x_19); -x_21 = lean_box(0); -x_22 = lean_apply_2(x_20, lean_box(0), x_21); -x_23 = lean_box(0); -x_24 = lean_box(x_3); -x_25 = lean_alloc_closure((void*)(l_Lean_Elab_elabAttr___rarg___lambda__1___boxed), 5, 4); -lean_closure_set(x_25, 0, x_2); -lean_closure_set(x_25, 1, x_24); -lean_closure_set(x_25, 2, x_4); -lean_closure_set(x_25, 3, x_23); -x_26 = lean_apply_4(x_5, lean_box(0), lean_box(0), x_22, x_25); -return x_26; +x_29 = lean_ctor_get(x_10, 0); +lean_inc(x_29); +lean_dec(x_10); +x_30 = l_Lean_Elab_throwUnsupportedSyntax___rarg(x_29); +return x_30; } } } -static lean_object* _init_l_Lean_Elab_elabAttr___rarg___lambda__3___closed__1() { +} +lean_object* l_Lean_Elab_elabAttr___rarg___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +_start: +{ +lean_object* x_11; lean_object* x_12; lean_object* x_13; +x_11 = lean_ctor_get(x_1, 1); +lean_inc(x_11); +lean_inc(x_8); +x_12 = lean_alloc_closure((void*)(l_Lean_Elab_elabAttr___rarg___lambda__1), 11, 10); +lean_closure_set(x_12, 0, x_2); +lean_closure_set(x_12, 1, x_3); +lean_closure_set(x_12, 2, x_4); +lean_closure_set(x_12, 3, x_10); +lean_closure_set(x_12, 4, x_5); +lean_closure_set(x_12, 5, x_6); +lean_closure_set(x_12, 6, x_1); +lean_closure_set(x_12, 7, x_7); +lean_closure_set(x_12, 8, x_8); +lean_closure_set(x_12, 9, x_9); +x_13 = lean_apply_4(x_8, lean_box(0), lean_box(0), x_11, x_12); +return x_13; +} +} +lean_object* l_Lean_Elab_elabAttr___rarg___lambda__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +_start: +{ +lean_object* x_11; lean_object* x_12; lean_object* x_13; +x_11 = lean_ctor_get(x_1, 2); +lean_inc(x_11); +lean_dec(x_1); +lean_inc(x_8); +x_12 = lean_alloc_closure((void*)(l_Lean_Elab_elabAttr___rarg___lambda__2), 10, 9); +lean_closure_set(x_12, 0, x_2); +lean_closure_set(x_12, 1, x_3); +lean_closure_set(x_12, 2, x_4); +lean_closure_set(x_12, 3, x_10); +lean_closure_set(x_12, 4, x_5); +lean_closure_set(x_12, 5, x_6); +lean_closure_set(x_12, 6, x_7); +lean_closure_set(x_12, 7, x_8); +lean_closure_set(x_12, 8, x_9); +x_13 = lean_apply_4(x_8, lean_box(0), lean_box(0), x_11, x_12); +return x_13; +} +} +lean_object* l_Lean_Elab_elabAttr___rarg___lambda__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +_start: +{ +lean_object* x_10; lean_object* x_11; lean_object* x_12; +x_10 = lean_ctor_get(x_1, 1); +lean_inc(x_10); +lean_inc(x_7); +x_11 = lean_alloc_closure((void*)(l_Lean_Elab_elabAttr___rarg___lambda__3), 10, 9); +lean_closure_set(x_11, 0, x_1); +lean_closure_set(x_11, 1, x_2); +lean_closure_set(x_11, 2, x_3); +lean_closure_set(x_11, 3, x_9); +lean_closure_set(x_11, 4, x_4); +lean_closure_set(x_11, 5, x_5); +lean_closure_set(x_11, 6, x_6); +lean_closure_set(x_11, 7, x_7); +lean_closure_set(x_11, 8, x_8); +x_12 = lean_apply_4(x_7, lean_box(0), lean_box(0), x_10, x_11); +return x_12; +} +} +lean_object* l_Lean_Elab_elabAttr___rarg___lambda__5(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +lean_object* x_9; lean_object* x_10; lean_object* x_11; +x_9 = lean_ctor_get(x_1, 0); +lean_inc(x_9); +lean_inc(x_6); +x_10 = lean_alloc_closure((void*)(l_Lean_Elab_elabAttr___rarg___lambda__4), 9, 8); +lean_closure_set(x_10, 0, x_2); +lean_closure_set(x_10, 1, x_1); +lean_closure_set(x_10, 2, x_3); +lean_closure_set(x_10, 3, x_8); +lean_closure_set(x_10, 4, x_4); +lean_closure_set(x_10, 5, x_5); +lean_closure_set(x_10, 6, x_6); +lean_closure_set(x_10, 7, x_7); +x_11 = lean_apply_4(x_6, lean_box(0), lean_box(0), x_9, x_10); +return x_11; +} +} +lean_object* l_Lean_Elab_elabAttr___rarg___lambda__6(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +_start: +{ +lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; +x_8 = lean_ctor_get(x_1, 1); +lean_inc(x_8); +x_9 = lean_ctor_get(x_8, 0); +lean_inc(x_9); +lean_dec(x_8); +lean_inc(x_6); +x_10 = lean_alloc_closure((void*)(l_Lean_Elab_elabAttr___rarg___lambda__5), 8, 7); +lean_closure_set(x_10, 0, x_2); +lean_closure_set(x_10, 1, x_3); +lean_closure_set(x_10, 2, x_7); +lean_closure_set(x_10, 3, x_4); +lean_closure_set(x_10, 4, x_5); +lean_closure_set(x_10, 5, x_6); +lean_closure_set(x_10, 6, x_1); +x_11 = lean_apply_4(x_6, lean_box(0), lean_box(0), x_9, x_10); +return x_11; +} +} +lean_object* l_Lean_Elab_elabAttr___rarg___lambda__7(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; +x_5 = lean_ctor_get(x_1, 0); +lean_inc(x_5); +lean_dec(x_1); +x_6 = lean_ctor_get(x_5, 1); +lean_inc(x_6); +lean_dec(x_5); +x_7 = lean_alloc_ctor(0, 2, 1); +lean_ctor_set(x_7, 0, x_3); +lean_ctor_set(x_7, 1, x_4); +lean_ctor_set_uint8(x_7, sizeof(void*)*2, x_2); +x_8 = lean_apply_2(x_6, lean_box(0), x_7); +return x_8; +} +} +lean_object* l_Lean_Elab_elabAttr___rarg___lambda__8(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, uint8_t x_8, lean_object* x_9, lean_object* x_10) { +_start: +{ +lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; +x_11 = lean_unsigned_to_nat(2u); +x_12 = l_Lean_Syntax_getArg(x_1, x_11); +lean_inc(x_6); +lean_inc(x_5); +x_13 = lean_alloc_closure((void*)(l_Lean_Elab_elabAttr___rarg___lambda__6), 7, 6); +lean_closure_set(x_13, 0, x_2); +lean_closure_set(x_13, 1, x_3); +lean_closure_set(x_13, 2, x_4); +lean_closure_set(x_13, 3, x_12); +lean_closure_set(x_13, 4, x_5); +lean_closure_set(x_13, 5, x_6); +lean_inc(x_6); +x_14 = lean_apply_4(x_6, lean_box(0), lean_box(0), x_7, x_13); +x_15 = lean_box(x_8); +x_16 = lean_alloc_closure((void*)(l_Lean_Elab_elabAttr___rarg___lambda__7___boxed), 4, 3); +lean_closure_set(x_16, 0, x_5); +lean_closure_set(x_16, 1, x_15); +lean_closure_set(x_16, 2, x_9); +x_17 = lean_apply_4(x_6, lean_box(0), lean_box(0), x_14, x_16); +return x_17; +} +} +static lean_object* _init_l_Lean_Elab_elabAttr___rarg___lambda__9___closed__1() { _start: { lean_object* x_1; @@ -681,16 +845,16 @@ x_1 = lean_mk_string("unknown attribute ["); return x_1; } } -static lean_object* _init_l_Lean_Elab_elabAttr___rarg___lambda__3___closed__2() { +static lean_object* _init_l_Lean_Elab_elabAttr___rarg___lambda__9___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Elab_elabAttr___rarg___lambda__3___closed__1; +x_1 = l_Lean_Elab_elabAttr___rarg___lambda__9___closed__1; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -static lean_object* _init_l_Lean_Elab_elabAttr___rarg___lambda__3___closed__3() { +static lean_object* _init_l_Lean_Elab_elabAttr___rarg___lambda__9___closed__3() { _start: { lean_object* x_1; lean_object* x_2; @@ -699,77 +863,86 @@ x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -lean_object* l_Lean_Elab_elabAttr___rarg___lambda__3(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +lean_object* l_Lean_Elab_elabAttr___rarg___lambda__9(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, uint8_t x_8, lean_object* x_9, lean_object* x_10) { _start: { -lean_object* x_8; lean_object* x_9; uint8_t x_10; -x_8 = lean_box(x_3); +lean_object* x_11; lean_object* x_12; uint8_t x_13; +x_11 = lean_box(x_8); +lean_inc(x_9); +lean_inc(x_6); lean_inc(x_5); -lean_inc(x_4); lean_inc(x_2); -x_9 = lean_alloc_closure((void*)(l_Lean_Elab_elabAttr___rarg___lambda__2___boxed), 6, 5); -lean_closure_set(x_9, 0, x_1); -lean_closure_set(x_9, 1, x_2); -lean_closure_set(x_9, 2, x_8); -lean_closure_set(x_9, 3, x_4); -lean_closure_set(x_9, 4, x_5); -x_10 = l_Lean_isAttribute(x_7, x_4); -if (x_10 == 0) +x_12 = lean_alloc_closure((void*)(l_Lean_Elab_elabAttr___rarg___lambda__8___boxed), 10, 9); +lean_closure_set(x_12, 0, x_1); +lean_closure_set(x_12, 1, x_2); +lean_closure_set(x_12, 2, x_3); +lean_closure_set(x_12, 3, x_4); +lean_closure_set(x_12, 4, x_5); +lean_closure_set(x_12, 5, x_6); +lean_closure_set(x_12, 6, x_7); +lean_closure_set(x_12, 7, x_11); +lean_closure_set(x_12, 8, x_9); +x_13 = l_Lean_isAttribute(x_10, x_9); +if (x_13 == 0) { -lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; -x_11 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_11, 0, x_4); -x_12 = l_Lean_Elab_elabAttr___rarg___lambda__3___closed__2; -x_13 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_13, 0, x_12); -lean_ctor_set(x_13, 1, x_11); -x_14 = l_Lean_Elab_elabAttr___rarg___lambda__3___closed__3; -x_15 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_15, 0, x_13); -lean_ctor_set(x_15, 1, x_14); -x_16 = l_Lean_throwError___rarg(x_2, x_6, x_15); -x_17 = lean_apply_4(x_5, lean_box(0), lean_box(0), x_16, x_9); -return x_17; +lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_14 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_14, 0, x_9); +x_15 = l_Lean_Elab_elabAttr___rarg___lambda__9___closed__2; +x_16 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_16, 0, x_15); +lean_ctor_set(x_16, 1, x_14); +x_17 = l_Lean_Elab_elabAttr___rarg___lambda__9___closed__3; +x_18 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_18, 0, x_16); +lean_ctor_set(x_18, 1, x_17); +x_19 = l_Lean_throwError___rarg(x_5, x_2, x_18); +x_20 = lean_apply_4(x_6, lean_box(0), lean_box(0), x_19, x_12); +return x_20; } else { -lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -lean_dec(x_6); -lean_dec(x_4); -x_18 = lean_ctor_get(x_2, 0); -lean_inc(x_18); +lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; +lean_dec(x_9); lean_dec(x_2); -x_19 = lean_ctor_get(x_18, 1); -lean_inc(x_19); -lean_dec(x_18); -x_20 = lean_box(0); -x_21 = lean_apply_2(x_19, lean_box(0), x_20); -x_22 = lean_apply_4(x_5, lean_box(0), lean_box(0), x_21, x_9); -return x_22; +x_21 = lean_ctor_get(x_5, 0); +lean_inc(x_21); +lean_dec(x_5); +x_22 = lean_ctor_get(x_21, 1); +lean_inc(x_22); +lean_dec(x_21); +x_23 = lean_box(0); +x_24 = lean_apply_2(x_22, lean_box(0), x_23); +x_25 = lean_apply_4(x_6, lean_box(0), lean_box(0), x_24, x_12); +return x_25; } } } -lean_object* l_Lean_Elab_elabAttr___rarg___lambda__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, uint8_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +lean_object* l_Lean_Elab_elabAttr___rarg___lambda__10(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, uint8_t x_8, lean_object* x_9) { _start: { -lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; -x_8 = lean_ctor_get(x_1, 0); -lean_inc(x_8); +lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; +x_10 = lean_ctor_get(x_1, 0); +lean_inc(x_10); lean_dec(x_1); -x_9 = lean_box(x_4); -lean_inc(x_5); -x_10 = lean_alloc_closure((void*)(l_Lean_Elab_elabAttr___rarg___lambda__3___boxed), 7, 6); -lean_closure_set(x_10, 0, x_2); -lean_closure_set(x_10, 1, x_3); -lean_closure_set(x_10, 2, x_9); -lean_closure_set(x_10, 3, x_7); -lean_closure_set(x_10, 4, x_5); -lean_closure_set(x_10, 5, x_6); -x_11 = lean_apply_4(x_5, lean_box(0), lean_box(0), x_8, x_10); -return x_11; +x_11 = lean_box(x_8); +lean_inc(x_10); +lean_inc(x_7); +x_12 = lean_alloc_closure((void*)(l_Lean_Elab_elabAttr___rarg___lambda__9___boxed), 10, 9); +lean_closure_set(x_12, 0, x_2); +lean_closure_set(x_12, 1, x_3); +lean_closure_set(x_12, 2, x_4); +lean_closure_set(x_12, 3, x_5); +lean_closure_set(x_12, 4, x_6); +lean_closure_set(x_12, 5, x_7); +lean_closure_set(x_12, 6, x_10); +lean_closure_set(x_12, 7, x_11); +lean_closure_set(x_12, 8, x_9); +x_13 = lean_apply_4(x_7, lean_box(0), lean_box(0), x_10, x_12); +return x_13; } } -static lean_object* _init_l_Lean_Elab_elabAttr___rarg___lambda__5___closed__1() { +static lean_object* _init_l_Lean_Elab_elabAttr___rarg___lambda__11___closed__1() { _start: { lean_object* x_1; @@ -777,167 +950,170 @@ x_1 = lean_mk_string("identifier expected"); return x_1; } } -static lean_object* _init_l_Lean_Elab_elabAttr___rarg___lambda__5___closed__2() { +static lean_object* _init_l_Lean_Elab_elabAttr___rarg___lambda__11___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Elab_elabAttr___rarg___lambda__5___closed__1; +x_1 = l_Lean_Elab_elabAttr___rarg___lambda__11___closed__1; x_2 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Elab_elabAttr___rarg___lambda__5___closed__3() { +static lean_object* _init_l_Lean_Elab_elabAttr___rarg___lambda__11___closed__3() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Elab_elabAttr___rarg___lambda__5___closed__2; +x_1 = l_Lean_Elab_elabAttr___rarg___lambda__11___closed__2; x_2 = lean_alloc_ctor(0, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -lean_object* l_Lean_Elab_elabAttr___rarg___lambda__5(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, uint8_t x_6) { +lean_object* l_Lean_Elab_elabAttr___rarg___lambda__11(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, uint8_t x_8) { _start: { -lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; -x_7 = lean_unsigned_to_nat(1u); -x_8 = l_Lean_Syntax_getArg(x_1, x_7); -x_9 = lean_box(x_6); -lean_inc(x_5); -lean_inc(x_4); +lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; +x_9 = lean_unsigned_to_nat(1u); +x_10 = l_Lean_Syntax_getArg(x_1, x_9); +x_11 = lean_box(x_8); +lean_inc(x_7); +lean_inc(x_6); lean_inc(x_3); -x_10 = lean_alloc_closure((void*)(l_Lean_Elab_elabAttr___rarg___lambda__4___boxed), 7, 6); -lean_closure_set(x_10, 0, x_2); -lean_closure_set(x_10, 1, x_1); -lean_closure_set(x_10, 2, x_3); -lean_closure_set(x_10, 3, x_9); -lean_closure_set(x_10, 4, x_4); -lean_closure_set(x_10, 5, x_5); -x_11 = l_Lean_Syntax_isIdOrAtom_x3f(x_8); -if (lean_obj_tag(x_11) == 0) +x_12 = lean_alloc_closure((void*)(l_Lean_Elab_elabAttr___rarg___lambda__10___boxed), 9, 8); +lean_closure_set(x_12, 0, x_2); +lean_closure_set(x_12, 1, x_1); +lean_closure_set(x_12, 2, x_3); +lean_closure_set(x_12, 3, x_4); +lean_closure_set(x_12, 4, x_5); +lean_closure_set(x_12, 5, x_6); +lean_closure_set(x_12, 6, x_7); +lean_closure_set(x_12, 7, x_11); +x_13 = l_Lean_Syntax_isIdOrAtom_x3f(x_10); +if (lean_obj_tag(x_13) == 0) { -lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; -x_12 = lean_ctor_get(x_5, 1); -lean_inc(x_12); -x_13 = l_Lean_Elab_elabAttr___rarg___lambda__5___closed__3; -x_14 = l_Lean_throwError___rarg(x_3, x_5, x_13); -x_15 = lean_ctor_get(x_12, 0); -lean_inc(x_15); -x_16 = lean_alloc_closure((void*)(l_Lean_withRef___rarg___lambda__1___boxed), 4, 3); -lean_closure_set(x_16, 0, x_8); -lean_closure_set(x_16, 1, x_12); -lean_closure_set(x_16, 2, x_14); -lean_inc(x_4); -x_17 = lean_apply_4(x_4, lean_box(0), lean_box(0), x_15, x_16); -x_18 = lean_apply_4(x_4, lean_box(0), lean_box(0), x_17, x_10); -return x_18; +lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_14 = lean_ctor_get(x_3, 1); +lean_inc(x_14); +x_15 = l_Lean_Elab_elabAttr___rarg___lambda__11___closed__3; +x_16 = l_Lean_throwError___rarg(x_6, x_3, x_15); +x_17 = lean_ctor_get(x_14, 0); +lean_inc(x_17); +x_18 = lean_alloc_closure((void*)(l_Lean_withRef___rarg___lambda__1___boxed), 4, 3); +lean_closure_set(x_18, 0, x_10); +lean_closure_set(x_18, 1, x_14); +lean_closure_set(x_18, 2, x_16); +lean_inc(x_7); +x_19 = lean_apply_4(x_7, lean_box(0), lean_box(0), x_17, x_18); +x_20 = lean_apply_4(x_7, lean_box(0), lean_box(0), x_19, x_12); +return x_20; } else { -lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; -lean_dec(x_8); -lean_dec(x_5); -x_19 = lean_ctor_get(x_11, 0); -lean_inc(x_19); -lean_dec(x_11); -x_20 = lean_ctor_get(x_3, 0); -lean_inc(x_20); +lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; +lean_dec(x_10); lean_dec(x_3); -x_21 = lean_ctor_get(x_20, 1); +x_21 = lean_ctor_get(x_13, 0); lean_inc(x_21); -lean_dec(x_20); -x_22 = lean_box(0); -x_23 = lean_name_mk_string(x_22, x_19); -x_24 = lean_apply_2(x_21, lean_box(0), x_23); -x_25 = lean_apply_4(x_4, lean_box(0), lean_box(0), x_24, x_10); -return x_25; +lean_dec(x_13); +x_22 = lean_ctor_get(x_6, 0); +lean_inc(x_22); +lean_dec(x_6); +x_23 = lean_ctor_get(x_22, 1); +lean_inc(x_23); +lean_dec(x_22); +x_24 = lean_box(0); +x_25 = lean_name_mk_string(x_24, x_21); +x_26 = lean_apply_2(x_23, lean_box(0), x_25); +x_27 = lean_apply_4(x_7, lean_box(0), lean_box(0), x_26, x_12); +return x_27; } } } -lean_object* l_Lean_Elab_elabAttr___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +lean_object* l_Lean_Elab_elabAttr___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { -lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; -x_6 = lean_ctor_get(x_1, 1); -lean_inc(x_6); -x_7 = lean_unsigned_to_nat(0u); -x_8 = l_Lean_Syntax_getArg(x_5, x_7); +lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; +x_8 = lean_ctor_get(x_1, 1); +lean_inc(x_8); +x_9 = lean_unsigned_to_nat(0u); +x_10 = l_Lean_Syntax_getArg(x_7, x_9); lean_inc(x_4); lean_inc(x_1); -x_9 = l_Lean_Elab_toAttributeKind___rarg(x_1, x_3, x_4, x_8); -lean_dec(x_8); -lean_inc(x_6); -x_10 = lean_alloc_closure((void*)(l_Lean_Elab_elabAttr___rarg___lambda__5___boxed), 6, 5); -lean_closure_set(x_10, 0, x_5); -lean_closure_set(x_10, 1, x_2); -lean_closure_set(x_10, 2, x_1); -lean_closure_set(x_10, 3, x_6); -lean_closure_set(x_10, 4, x_4); -x_11 = lean_apply_4(x_6, lean_box(0), lean_box(0), x_9, x_10); -return x_11; +x_11 = l_Lean_Elab_toAttributeKind___rarg(x_1, x_3, x_4, x_10); +lean_dec(x_10); +lean_inc(x_8); +x_12 = lean_alloc_closure((void*)(l_Lean_Elab_elabAttr___rarg___lambda__11___boxed), 8, 7); +lean_closure_set(x_12, 0, x_7); +lean_closure_set(x_12, 1, x_2); +lean_closure_set(x_12, 2, x_4); +lean_closure_set(x_12, 3, x_5); +lean_closure_set(x_12, 4, x_6); +lean_closure_set(x_12, 5, x_1); +lean_closure_set(x_12, 6, x_8); +x_13 = lean_apply_4(x_8, lean_box(0), lean_box(0), x_11, x_12); +return x_13; } } lean_object* l_Lean_Elab_elabAttr(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_Elab_elabAttr___rarg), 5, 0); +x_2 = lean_alloc_closure((void*)(l_Lean_Elab_elabAttr___rarg), 7, 0); return x_2; } } -lean_object* l_Lean_Elab_elabAttr___rarg___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +lean_object* l_Lean_Elab_elabAttr___rarg___lambda__7___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { -uint8_t x_6; lean_object* x_7; -x_6 = lean_unbox(x_2); +uint8_t x_5; lean_object* x_6; +x_5 = lean_unbox(x_2); lean_dec(x_2); -x_7 = l_Lean_Elab_elabAttr___rarg___lambda__1(x_1, x_6, x_3, x_4, x_5); -lean_dec(x_5); -return x_7; +x_6 = l_Lean_Elab_elabAttr___rarg___lambda__7(x_1, x_5, x_3, x_4); +return x_6; } } -lean_object* l_Lean_Elab_elabAttr___rarg___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +lean_object* l_Lean_Elab_elabAttr___rarg___lambda__8___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { -uint8_t x_7; lean_object* x_8; -x_7 = lean_unbox(x_3); -lean_dec(x_3); -x_8 = l_Lean_Elab_elabAttr___rarg___lambda__2(x_1, x_2, x_7, x_4, x_5, x_6); -lean_dec(x_6); +uint8_t x_11; lean_object* x_12; +x_11 = lean_unbox(x_8); +lean_dec(x_8); +x_12 = l_Lean_Elab_elabAttr___rarg___lambda__8(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_11, x_9, x_10); +lean_dec(x_10); lean_dec(x_1); -return x_8; +return x_12; } } -lean_object* l_Lean_Elab_elabAttr___rarg___lambda__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +lean_object* l_Lean_Elab_elabAttr___rarg___lambda__9___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { -uint8_t x_8; lean_object* x_9; -x_8 = lean_unbox(x_3); -lean_dec(x_3); -x_9 = l_Lean_Elab_elabAttr___rarg___lambda__3(x_1, x_2, x_8, x_4, x_5, x_6, x_7); -lean_dec(x_7); -return x_9; +uint8_t x_11; lean_object* x_12; +x_11 = lean_unbox(x_8); +lean_dec(x_8); +x_12 = l_Lean_Elab_elabAttr___rarg___lambda__9(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_11, x_9, x_10); +lean_dec(x_10); +return x_12; } } -lean_object* l_Lean_Elab_elabAttr___rarg___lambda__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +lean_object* l_Lean_Elab_elabAttr___rarg___lambda__10___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { -uint8_t x_8; lean_object* x_9; -x_8 = lean_unbox(x_4); -lean_dec(x_4); -x_9 = l_Lean_Elab_elabAttr___rarg___lambda__4(x_1, x_2, x_3, x_8, x_5, x_6, x_7); -return x_9; +uint8_t x_10; lean_object* x_11; +x_10 = lean_unbox(x_8); +lean_dec(x_8); +x_11 = l_Lean_Elab_elabAttr___rarg___lambda__10(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_10, x_9); +return x_11; } } -lean_object* l_Lean_Elab_elabAttr___rarg___lambda__5___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +lean_object* l_Lean_Elab_elabAttr___rarg___lambda__11___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { -uint8_t x_7; lean_object* x_8; -x_7 = lean_unbox(x_6); -lean_dec(x_6); -x_8 = l_Lean_Elab_elabAttr___rarg___lambda__5(x_1, x_2, x_3, x_4, x_5, x_7); -return x_8; +uint8_t x_9; lean_object* x_10; +x_9 = lean_unbox(x_8); +lean_dec(x_8); +x_10 = l_Lean_Elab_elabAttr___rarg___lambda__11(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_9); +return x_10; } } lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_elabAttrs___spec__1___rarg___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { @@ -961,96 +1137,104 @@ x_11 = lean_apply_4(x_3, lean_box(0), lean_box(0), x_9, x_10); return x_11; } } -lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_elabAttrs___spec__1___rarg___lambda__2(lean_object* x_1, size_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, size_t x_8, lean_object* x_9) { +lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_elabAttrs___spec__1___rarg___lambda__2(lean_object* x_1, size_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, size_t x_10, lean_object* x_11) { _start: { -if (lean_obj_tag(x_9) == 0) +if (lean_obj_tag(x_11) == 0) { -lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; +lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; +lean_dec(x_9); +lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_10 = lean_ctor_get(x_9, 0); -lean_inc(x_10); -lean_dec(x_9); -x_11 = lean_ctor_get(x_1, 0); -lean_inc(x_11); -lean_dec(x_1); -x_12 = lean_ctor_get(x_11, 1); +x_12 = lean_ctor_get(x_11, 0); lean_inc(x_12); lean_dec(x_11); -x_13 = lean_apply_2(x_12, lean_box(0), x_10); -return x_13; +x_13 = lean_ctor_get(x_1, 0); +lean_inc(x_13); +lean_dec(x_1); +x_14 = lean_ctor_get(x_13, 1); +lean_inc(x_14); +lean_dec(x_13); +x_15 = lean_apply_2(x_14, lean_box(0), x_12); +return x_15; } else { -lean_object* x_14; size_t x_15; size_t x_16; lean_object* x_17; -x_14 = lean_ctor_get(x_9, 0); -lean_inc(x_14); -lean_dec(x_9); -x_15 = 1; -x_16 = x_2 + x_15; -x_17 = l_Array_forInUnsafe_loop___at_Lean_Elab_elabAttrs___spec__1___rarg(x_1, x_3, x_4, x_5, x_6, x_7, x_8, x_16, x_14); -return x_17; +lean_object* x_16; size_t x_17; size_t x_18; lean_object* x_19; +x_16 = lean_ctor_get(x_11, 0); +lean_inc(x_16); +lean_dec(x_11); +x_17 = 1; +x_18 = x_2 + x_17; +x_19 = l_Array_forInUnsafe_loop___at_Lean_Elab_elabAttrs___spec__1___rarg(x_1, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_18, x_16); +return x_19; } } } -lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_elabAttrs___spec__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, size_t x_7, size_t x_8, lean_object* x_9) { +lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_elabAttrs___spec__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, size_t x_9, size_t x_10, lean_object* x_11) { _start: { -uint8_t x_10; -x_10 = x_8 < x_7; -if (x_10 == 0) +uint8_t x_12; +x_12 = x_10 < x_9; +if (x_12 == 0) { -lean_object* x_11; lean_object* x_12; lean_object* x_13; +lean_object* x_13; lean_object* x_14; lean_object* x_15; +lean_dec(x_8); +lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_11 = lean_ctor_get(x_1, 0); -lean_inc(x_11); +x_13 = lean_ctor_get(x_1, 0); +lean_inc(x_13); lean_dec(x_1); -x_12 = lean_ctor_get(x_11, 1); -lean_inc(x_12); -lean_dec(x_11); -x_13 = lean_apply_2(x_12, lean_box(0), x_9); -return x_13; +x_14 = lean_ctor_get(x_13, 1); +lean_inc(x_14); +lean_dec(x_13); +x_15 = lean_apply_2(x_14, lean_box(0), x_11); +return x_15; } else { -lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_14 = lean_array_uget(x_6, x_8); -x_15 = lean_ctor_get(x_1, 1); -lean_inc(x_15); +lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_16 = lean_array_uget(x_8, x_10); +x_17 = lean_ctor_get(x_1, 1); +lean_inc(x_17); +lean_inc(x_6); +lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); lean_inc(x_2); lean_inc(x_1); -x_16 = l_Lean_Elab_elabAttr___rarg(x_1, x_2, x_3, x_4, x_14); -lean_inc(x_5); +x_18 = l_Lean_Elab_elabAttr___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_16); +lean_inc(x_7); lean_inc(x_1); -x_17 = lean_alloc_closure((void*)(l_Array_forInUnsafe_loop___at_Lean_Elab_elabAttrs___spec__1___rarg___lambda__1), 4, 3); -lean_closure_set(x_17, 0, x_9); -lean_closure_set(x_17, 1, x_1); -lean_closure_set(x_17, 2, x_5); -lean_inc(x_5); -x_18 = lean_apply_4(x_5, lean_box(0), lean_box(0), x_16, x_17); -x_19 = lean_box_usize(x_8); -x_20 = lean_box_usize(x_7); -x_21 = lean_alloc_closure((void*)(l_Array_forInUnsafe_loop___at_Lean_Elab_elabAttrs___spec__1___rarg___lambda__2___boxed), 9, 8); -lean_closure_set(x_21, 0, x_1); -lean_closure_set(x_21, 1, x_19); -lean_closure_set(x_21, 2, x_2); -lean_closure_set(x_21, 3, x_3); -lean_closure_set(x_21, 4, x_4); -lean_closure_set(x_21, 5, x_5); -lean_closure_set(x_21, 6, x_6); -lean_closure_set(x_21, 7, x_20); -x_22 = lean_apply_4(x_15, lean_box(0), lean_box(0), x_18, x_21); -return x_22; +x_19 = lean_alloc_closure((void*)(l_Array_forInUnsafe_loop___at_Lean_Elab_elabAttrs___spec__1___rarg___lambda__1), 4, 3); +lean_closure_set(x_19, 0, x_11); +lean_closure_set(x_19, 1, x_1); +lean_closure_set(x_19, 2, x_7); +lean_inc(x_7); +x_20 = lean_apply_4(x_7, lean_box(0), lean_box(0), x_18, x_19); +x_21 = lean_box_usize(x_10); +x_22 = lean_box_usize(x_9); +x_23 = lean_alloc_closure((void*)(l_Array_forInUnsafe_loop___at_Lean_Elab_elabAttrs___spec__1___rarg___lambda__2___boxed), 11, 10); +lean_closure_set(x_23, 0, x_1); +lean_closure_set(x_23, 1, x_21); +lean_closure_set(x_23, 2, x_2); +lean_closure_set(x_23, 3, x_3); +lean_closure_set(x_23, 4, x_4); +lean_closure_set(x_23, 5, x_5); +lean_closure_set(x_23, 6, x_6); +lean_closure_set(x_23, 7, x_7); +lean_closure_set(x_23, 8, x_8); +lean_closure_set(x_23, 9, x_22); +x_24 = lean_apply_4(x_17, lean_box(0), lean_box(0), x_20, x_23); +return x_24; } } } @@ -1058,7 +1242,7 @@ lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_elabAttrs___spec__1(lean_ob _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Array_forInUnsafe_loop___at_Lean_Elab_elabAttrs___spec__1___rarg___boxed), 9, 0); +x_2 = lean_alloc_closure((void*)(l_Array_forInUnsafe_loop___at_Lean_Elab_elabAttrs___spec__1___rarg___boxed), 11, 0); return x_2; } } @@ -1076,100 +1260,101 @@ x_5 = lean_apply_2(x_4, lean_box(0), x_2); return x_5; } } -lean_object* l_Lean_Elab_elabAttrs___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +lean_object* l_Lean_Elab_elabAttrs___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { -lean_object* x_6; lean_object* x_7; lean_object* x_8; size_t x_9; size_t x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; -x_6 = lean_ctor_get(x_1, 1); -lean_inc(x_6); -x_7 = l_Lean_Syntax_getSepArgs(x_5); -x_8 = lean_array_get_size(x_7); -x_9 = lean_usize_of_nat(x_8); -lean_dec(x_8); -x_10 = 0; -x_11 = l_Array_empty___closed__1; -lean_inc(x_6); +lean_object* x_8; lean_object* x_9; lean_object* x_10; size_t x_11; size_t x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; +x_8 = lean_ctor_get(x_1, 1); +lean_inc(x_8); +x_9 = l_Lean_Syntax_getSepArgs(x_7); +x_10 = lean_array_get_size(x_9); +x_11 = lean_usize_of_nat(x_10); +lean_dec(x_10); +x_12 = 0; +x_13 = l_Array_empty___closed__1; +lean_inc(x_8); lean_inc(x_1); -x_12 = l_Array_forInUnsafe_loop___at_Lean_Elab_elabAttrs___spec__1___rarg(x_1, x_2, x_3, x_4, x_6, x_7, x_9, x_10, x_11); -x_13 = lean_alloc_closure((void*)(l_Lean_Elab_elabAttrs___rarg___lambda__1), 2, 1); -lean_closure_set(x_13, 0, x_1); -x_14 = lean_apply_4(x_6, lean_box(0), lean_box(0), x_12, x_13); -return x_14; +x_14 = l_Array_forInUnsafe_loop___at_Lean_Elab_elabAttrs___spec__1___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_8, x_9, x_11, x_12, x_13); +x_15 = lean_alloc_closure((void*)(l_Lean_Elab_elabAttrs___rarg___lambda__1), 2, 1); +lean_closure_set(x_15, 0, x_1); +x_16 = lean_apply_4(x_8, lean_box(0), lean_box(0), x_14, x_15); +return x_16; } } lean_object* l_Lean_Elab_elabAttrs(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_Elab_elabAttrs___rarg___boxed), 5, 0); +x_2 = lean_alloc_closure((void*)(l_Lean_Elab_elabAttrs___rarg___boxed), 7, 0); return x_2; } } -lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_elabAttrs___spec__1___rarg___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_elabAttrs___spec__1___rarg___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { -size_t x_10; size_t x_11; lean_object* x_12; -x_10 = lean_unbox_usize(x_2); +size_t x_12; size_t x_13; lean_object* x_14; +x_12 = lean_unbox_usize(x_2); lean_dec(x_2); -x_11 = lean_unbox_usize(x_8); -lean_dec(x_8); -x_12 = l_Array_forInUnsafe_loop___at_Lean_Elab_elabAttrs___spec__1___rarg___lambda__2(x_1, x_10, x_3, x_4, x_5, x_6, x_7, x_11, x_9); -return x_12; +x_13 = lean_unbox_usize(x_10); +lean_dec(x_10); +x_14 = l_Array_forInUnsafe_loop___at_Lean_Elab_elabAttrs___spec__1___rarg___lambda__2(x_1, x_12, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_13, x_11); +return x_14; } } -lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_elabAttrs___spec__1___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_elabAttrs___spec__1___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { -size_t x_10; size_t x_11; lean_object* x_12; -x_10 = lean_unbox_usize(x_7); -lean_dec(x_7); -x_11 = lean_unbox_usize(x_8); -lean_dec(x_8); -x_12 = l_Array_forInUnsafe_loop___at_Lean_Elab_elabAttrs___spec__1___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_10, x_11, x_9); -return x_12; +size_t x_12; size_t x_13; lean_object* x_14; +x_12 = lean_unbox_usize(x_9); +lean_dec(x_9); +x_13 = lean_unbox_usize(x_10); +lean_dec(x_10); +x_14 = l_Array_forInUnsafe_loop___at_Lean_Elab_elabAttrs___spec__1___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_12, x_13, x_11); +return x_14; } } -lean_object* l_Lean_Elab_elabAttrs___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +lean_object* l_Lean_Elab_elabAttrs___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { -lean_object* x_6; -x_6 = l_Lean_Elab_elabAttrs___rarg(x_1, x_2, x_3, x_4, x_5); -lean_dec(x_5); -return x_6; -} -} -lean_object* l_Lean_Elab_elabDeclAttrs___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { -_start: -{ -lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = lean_unsigned_to_nat(1u); -x_7 = l_Lean_Syntax_getArg(x_5, x_6); -x_8 = l_Lean_Elab_elabAttrs___rarg(x_1, x_2, x_3, x_4, x_7); +lean_object* x_8; +x_8 = l_Lean_Elab_elabAttrs___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7); lean_dec(x_7); return x_8; } } +lean_object* l_Lean_Elab_elabDeclAttrs___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +_start: +{ +lean_object* x_8; lean_object* x_9; lean_object* x_10; +x_8 = lean_unsigned_to_nat(1u); +x_9 = l_Lean_Syntax_getArg(x_7, x_8); +x_10 = l_Lean_Elab_elabAttrs___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_9); +lean_dec(x_9); +return x_10; +} +} lean_object* l_Lean_Elab_elabDeclAttrs(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_Elab_elabDeclAttrs___rarg___boxed), 5, 0); +x_2 = lean_alloc_closure((void*)(l_Lean_Elab_elabDeclAttrs___rarg___boxed), 7, 0); return x_2; } } -lean_object* l_Lean_Elab_elabDeclAttrs___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +lean_object* l_Lean_Elab_elabDeclAttrs___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { -lean_object* x_6; -x_6 = l_Lean_Elab_elabDeclAttrs___rarg(x_1, x_2, x_3, x_4, x_5); -lean_dec(x_5); -return x_6; +lean_object* x_8; +x_8 = l_Lean_Elab_elabDeclAttrs___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +lean_dec(x_7); +return x_8; } } lean_object* initialize_Init(lean_object*); lean_object* initialize_Lean_Parser_Basic(lean_object*); lean_object* initialize_Lean_Attributes(lean_object*); lean_object* initialize_Lean_MonadEnv(lean_object*); +lean_object* initialize_Lean_Elab_Util(lean_object*); static bool _G_initialized = false; lean_object* initialize_Lean_Elab_Attributes(lean_object* w) { lean_object * res; @@ -1187,6 +1372,9 @@ lean_dec_ref(res); res = initialize_Lean_MonadEnv(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); +res = initialize_Lean_Elab_Util(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); l_Lean_Elab_Attribute_kind___default = _init_l_Lean_Elab_Attribute_kind___default(); l_Lean_Elab_Attribute_args___default = _init_l_Lean_Elab_Attribute_args___default(); lean_mark_persistent(l_Lean_Elab_Attribute_args___default); @@ -1216,18 +1404,18 @@ l_Lean_Elab_mkAttrKindGlobal___closed__2 = _init_l_Lean_Elab_mkAttrKindGlobal___ lean_mark_persistent(l_Lean_Elab_mkAttrKindGlobal___closed__2); l_Lean_Elab_mkAttrKindGlobal = _init_l_Lean_Elab_mkAttrKindGlobal(); lean_mark_persistent(l_Lean_Elab_mkAttrKindGlobal); -l_Lean_Elab_elabAttr___rarg___lambda__3___closed__1 = _init_l_Lean_Elab_elabAttr___rarg___lambda__3___closed__1(); -lean_mark_persistent(l_Lean_Elab_elabAttr___rarg___lambda__3___closed__1); -l_Lean_Elab_elabAttr___rarg___lambda__3___closed__2 = _init_l_Lean_Elab_elabAttr___rarg___lambda__3___closed__2(); -lean_mark_persistent(l_Lean_Elab_elabAttr___rarg___lambda__3___closed__2); -l_Lean_Elab_elabAttr___rarg___lambda__3___closed__3 = _init_l_Lean_Elab_elabAttr___rarg___lambda__3___closed__3(); -lean_mark_persistent(l_Lean_Elab_elabAttr___rarg___lambda__3___closed__3); -l_Lean_Elab_elabAttr___rarg___lambda__5___closed__1 = _init_l_Lean_Elab_elabAttr___rarg___lambda__5___closed__1(); -lean_mark_persistent(l_Lean_Elab_elabAttr___rarg___lambda__5___closed__1); -l_Lean_Elab_elabAttr___rarg___lambda__5___closed__2 = _init_l_Lean_Elab_elabAttr___rarg___lambda__5___closed__2(); -lean_mark_persistent(l_Lean_Elab_elabAttr___rarg___lambda__5___closed__2); -l_Lean_Elab_elabAttr___rarg___lambda__5___closed__3 = _init_l_Lean_Elab_elabAttr___rarg___lambda__5___closed__3(); -lean_mark_persistent(l_Lean_Elab_elabAttr___rarg___lambda__5___closed__3); +l_Lean_Elab_elabAttr___rarg___lambda__9___closed__1 = _init_l_Lean_Elab_elabAttr___rarg___lambda__9___closed__1(); +lean_mark_persistent(l_Lean_Elab_elabAttr___rarg___lambda__9___closed__1); +l_Lean_Elab_elabAttr___rarg___lambda__9___closed__2 = _init_l_Lean_Elab_elabAttr___rarg___lambda__9___closed__2(); +lean_mark_persistent(l_Lean_Elab_elabAttr___rarg___lambda__9___closed__2); +l_Lean_Elab_elabAttr___rarg___lambda__9___closed__3 = _init_l_Lean_Elab_elabAttr___rarg___lambda__9___closed__3(); +lean_mark_persistent(l_Lean_Elab_elabAttr___rarg___lambda__9___closed__3); +l_Lean_Elab_elabAttr___rarg___lambda__11___closed__1 = _init_l_Lean_Elab_elabAttr___rarg___lambda__11___closed__1(); +lean_mark_persistent(l_Lean_Elab_elabAttr___rarg___lambda__11___closed__1); +l_Lean_Elab_elabAttr___rarg___lambda__11___closed__2 = _init_l_Lean_Elab_elabAttr___rarg___lambda__11___closed__2(); +lean_mark_persistent(l_Lean_Elab_elabAttr___rarg___lambda__11___closed__2); +l_Lean_Elab_elabAttr___rarg___lambda__11___closed__3 = _init_l_Lean_Elab_elabAttr___rarg___lambda__11___closed__3(); +lean_mark_persistent(l_Lean_Elab_elabAttr___rarg___lambda__11___closed__3); return lean_io_result_mk_ok(lean_box(0)); } #ifdef __cplusplus diff --git a/stage0/stdlib/Lean/Elab/DeclModifiers.c b/stage0/stdlib/Lean/Elab/DeclModifiers.c index b96cfe7da4..5d9421c6f7 100644 --- a/stage0/stdlib/Lean/Elab/DeclModifiers.c +++ b/stage0/stdlib/Lean/Elab/DeclModifiers.c @@ -60,7 +60,7 @@ lean_object* lean_string_utf8_extract(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_applyVisibility___rarg___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_string_utf8_byte_size(lean_object*); lean_object* l_Lean_Elab_instToStringVisibility(uint8_t); -lean_object* l_Lean_Elab_elabModifiers___rarg___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Elab_elabModifiers___rarg___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_applyVisibility_match__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_instToFormatModifiers___closed__8; lean_object* l_Lean_Elab_checkNotAlreadyDeclared_match__2___rarg(lean_object*, lean_object*, lean_object*); @@ -76,8 +76,8 @@ lean_object* l_Lean_Elab_instToFormatModifiers___closed__21; lean_object* l_Lean_Elab_instToFormatModifiers___closed__13; lean_object* l_Lean_Elab_applyVisibility_match__1___rarg(uint8_t, lean_object*, lean_object*, lean_object*); lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_expandDeclId___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Elab_elabModifiers___rarg___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Elab_elabModifiers___rarg___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Elab_elabModifiers___rarg___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Elab_elabModifiers___rarg___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_instToStringVisibility_match__1___rarg(uint8_t, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_instToStringVisibility_match__1(lean_object*); lean_object* l_Lean_Elab_elabModifiers___rarg___lambda__3___closed__1; @@ -123,9 +123,9 @@ lean_object* l_Lean_Elab_expandDeclId_match__1___rarg(lean_object*, lean_object* lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_expandDeclId___spec__1___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PersistentEnvExtension_addEntry___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_instToFormatModifiers___closed__19; -lean_object* l_Lean_Elab_elabDeclAttrs___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Elab_elabDeclAttrs___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_instToStringModifiers; -lean_object* l_Lean_Elab_elabModifiers___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Elab_elabModifiers___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_elabModifiers(lean_object*); lean_object* l_Lean_Elab_mkDeclName___rarg___lambda__1(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Syntax_isMissing(lean_object*); @@ -185,7 +185,7 @@ lean_object* l_Lean_Elab_instToFormatModifiers___closed__7; lean_object* l_Lean_Elab_applyVisibility___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_instToStringVisibility_match__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_string_length(lean_object*); -lean_object* l_Lean_Elab_elabModifiers___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Elab_elabModifiers___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Elab_Modifiers_isUnsafe___default; lean_object* l_Lean_Elab_elabModifiers___rarg___closed__1; extern lean_object* l_Lean_myMacro____x40_Init_NotationExtra___hyg_1127____closed__3; @@ -214,7 +214,7 @@ extern lean_object* l_addParenHeuristic___closed__1; lean_object* l_Lean_Elab_expandDeclId___rarg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_checkNotAlreadyDeclared___rarg___lambda__1___closed__2; lean_object* l_Lean_Elab_mkDeclName_match__2(lean_object*); -lean_object* l_Lean_Elab_elabModifiers___rarg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t); +lean_object* l_Lean_Elab_elabModifiers___rarg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t); lean_object* l_Lean_Elab_instToStringVisibility___boxed(lean_object*); lean_object* l_Lean_Elab_mkDeclName___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_nat_dec_lt(lean_object*, lean_object*); @@ -2130,51 +2130,53 @@ return x_42; } } } -lean_object* l_Lean_Elab_elabModifiers___rarg___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, uint8_t x_10) { +lean_object* l_Lean_Elab_elabModifiers___rarg___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, uint8_t x_12) { _start: { -lean_object* x_11; lean_object* x_12; lean_object* x_13; -x_11 = lean_box(x_10); +lean_object* x_13; lean_object* x_14; lean_object* x_15; +x_13 = lean_box(x_12); lean_inc(x_1); -x_12 = lean_alloc_closure((void*)(l_Lean_Elab_elabModifiers___rarg___lambda__1___boxed), 7, 6); -lean_closure_set(x_12, 0, x_1); -lean_closure_set(x_12, 1, x_2); -lean_closure_set(x_12, 2, x_3); -lean_closure_set(x_12, 3, x_4); -lean_closure_set(x_12, 4, x_5); -lean_closure_set(x_12, 5, x_11); -x_13 = l_Lean_Syntax_getOptional_x3f(x_6); -if (lean_obj_tag(x_13) == 0) +x_14 = lean_alloc_closure((void*)(l_Lean_Elab_elabModifiers___rarg___lambda__1___boxed), 7, 6); +lean_closure_set(x_14, 0, x_1); +lean_closure_set(x_14, 1, x_2); +lean_closure_set(x_14, 2, x_3); +lean_closure_set(x_14, 3, x_4); +lean_closure_set(x_14, 4, x_5); +lean_closure_set(x_14, 5, x_13); +x_15 = l_Lean_Syntax_getOptional_x3f(x_6); +if (lean_obj_tag(x_15) == 0) { -lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; +lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; +lean_dec(x_11); +lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); -x_14 = lean_ctor_get(x_1, 1); -lean_inc(x_14); -x_15 = lean_ctor_get(x_1, 0); -lean_inc(x_15); -lean_dec(x_1); -x_16 = lean_ctor_get(x_15, 1); +x_16 = lean_ctor_get(x_1, 1); lean_inc(x_16); -lean_dec(x_15); -x_17 = l_Array_empty___closed__1; -x_18 = lean_apply_2(x_16, lean_box(0), x_17); -x_19 = lean_apply_4(x_14, lean_box(0), lean_box(0), x_18, x_12); -return x_19; +x_17 = lean_ctor_get(x_1, 0); +lean_inc(x_17); +lean_dec(x_1); +x_18 = lean_ctor_get(x_17, 1); +lean_inc(x_18); +lean_dec(x_17); +x_19 = l_Array_empty___closed__1; +x_20 = lean_apply_2(x_18, lean_box(0), x_19); +x_21 = lean_apply_4(x_16, lean_box(0), lean_box(0), x_20, x_14); +return x_21; } else { -lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; -x_20 = lean_ctor_get(x_13, 0); -lean_inc(x_20); -lean_dec(x_13); -x_21 = lean_ctor_get(x_1, 1); -lean_inc(x_21); -x_22 = l_Lean_Elab_elabDeclAttrs___rarg(x_1, x_7, x_8, x_9, x_20); -lean_dec(x_20); -x_23 = lean_apply_4(x_21, lean_box(0), lean_box(0), x_22, x_12); -return x_23; +lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; +x_22 = lean_ctor_get(x_15, 0); +lean_inc(x_22); +lean_dec(x_15); +x_23 = lean_ctor_get(x_1, 1); +lean_inc(x_23); +x_24 = l_Lean_Elab_elabDeclAttrs___rarg(x_1, x_7, x_8, x_9, x_10, x_11, x_22); +lean_dec(x_22); +x_25 = lean_apply_4(x_23, lean_box(0), lean_box(0), x_24, x_14); +return x_25; } } } @@ -2226,106 +2228,108 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -lean_object* l_Lean_Elab_elabModifiers___rarg___lambda__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +lean_object* l_Lean_Elab_elabModifiers___rarg___lambda__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { _start: { -lean_object* x_11; lean_object* x_12; +lean_object* x_13; lean_object* x_14; lean_inc(x_8); lean_inc(x_1); -x_11 = lean_alloc_closure((void*)(l_Lean_Elab_elabModifiers___rarg___lambda__2___boxed), 10, 9); -lean_closure_set(x_11, 0, x_1); -lean_closure_set(x_11, 1, x_2); -lean_closure_set(x_11, 2, x_3); -lean_closure_set(x_11, 3, x_4); -lean_closure_set(x_11, 4, x_10); -lean_closure_set(x_11, 5, x_5); -lean_closure_set(x_11, 6, x_6); -lean_closure_set(x_11, 7, x_7); -lean_closure_set(x_11, 8, x_8); -x_12 = l_Lean_Syntax_getOptional_x3f(x_9); -if (lean_obj_tag(x_12) == 0) +x_13 = lean_alloc_closure((void*)(l_Lean_Elab_elabModifiers___rarg___lambda__2___boxed), 12, 11); +lean_closure_set(x_13, 0, x_1); +lean_closure_set(x_13, 1, x_2); +lean_closure_set(x_13, 2, x_3); +lean_closure_set(x_13, 3, x_4); +lean_closure_set(x_13, 4, x_12); +lean_closure_set(x_13, 5, x_5); +lean_closure_set(x_13, 6, x_6); +lean_closure_set(x_13, 7, x_7); +lean_closure_set(x_13, 8, x_8); +lean_closure_set(x_13, 9, x_9); +lean_closure_set(x_13, 10, x_10); +x_14 = l_Lean_Syntax_getOptional_x3f(x_11); +if (lean_obj_tag(x_14) == 0) { -lean_object* x_13; lean_object* x_14; lean_object* x_15; uint8_t x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; +lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_dec(x_8); -x_13 = lean_ctor_get(x_1, 1); -lean_inc(x_13); -x_14 = lean_ctor_get(x_1, 0); -lean_inc(x_14); -lean_dec(x_1); -x_15 = lean_ctor_get(x_14, 1); +x_15 = lean_ctor_get(x_1, 1); lean_inc(x_15); -lean_dec(x_14); -x_16 = 0; -x_17 = lean_box(x_16); -x_18 = lean_apply_2(x_15, lean_box(0), x_17); -x_19 = lean_apply_4(x_13, lean_box(0), lean_box(0), x_18, x_11); -return x_19; +x_16 = lean_ctor_get(x_1, 0); +lean_inc(x_16); +lean_dec(x_1); +x_17 = lean_ctor_get(x_16, 1); +lean_inc(x_17); +lean_dec(x_16); +x_18 = 0; +x_19 = lean_box(x_18); +x_20 = lean_apply_2(x_17, lean_box(0), x_19); +x_21 = lean_apply_4(x_15, lean_box(0), lean_box(0), x_20, x_13); +return x_21; } else { -lean_object* x_20; lean_object* x_21; lean_object* x_22; uint8_t x_23; -x_20 = lean_ctor_get(x_12, 0); -lean_inc(x_20); -lean_dec(x_12); -lean_inc(x_20); -x_21 = l_Lean_Syntax_getKind(x_20); -x_22 = l_Lean_Elab_elabModifiers___rarg___lambda__3___closed__1; -x_23 = lean_name_eq(x_21, x_22); -if (x_23 == 0) -{ -lean_object* x_24; uint8_t x_25; -x_24 = l_Lean_Elab_elabModifiers___rarg___lambda__3___closed__2; -x_25 = lean_name_eq(x_21, x_24); -lean_dec(x_21); +lean_object* x_22; lean_object* x_23; lean_object* x_24; uint8_t x_25; +x_22 = lean_ctor_get(x_14, 0); +lean_inc(x_22); +lean_dec(x_14); +lean_inc(x_22); +x_23 = l_Lean_Syntax_getKind(x_22); +x_24 = l_Lean_Elab_elabModifiers___rarg___lambda__3___closed__1; +x_25 = lean_name_eq(x_23, x_24); if (x_25 == 0) { -lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; -x_26 = lean_ctor_get(x_1, 1); -lean_inc(x_26); -x_27 = l_Lean_Elab_elabModifiers___rarg___lambda__3___closed__5; -x_28 = l_Lean_throwErrorAt___rarg(x_1, x_8, x_20, x_27); -x_29 = lean_apply_4(x_26, lean_box(0), lean_box(0), x_28, x_11); -return x_29; +lean_object* x_26; uint8_t x_27; +x_26 = l_Lean_Elab_elabModifiers___rarg___lambda__3___closed__2; +x_27 = lean_name_eq(x_23, x_26); +lean_dec(x_23); +if (x_27 == 0) +{ +lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; +x_28 = lean_ctor_get(x_1, 1); +lean_inc(x_28); +x_29 = l_Lean_Elab_elabModifiers___rarg___lambda__3___closed__5; +x_30 = l_Lean_throwErrorAt___rarg(x_1, x_8, x_22, x_29); +x_31 = lean_apply_4(x_28, lean_box(0), lean_box(0), x_30, x_13); +return x_31; } else { -lean_object* x_30; lean_object* x_31; lean_object* x_32; uint8_t x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; -lean_dec(x_20); +lean_object* x_32; lean_object* x_33; lean_object* x_34; uint8_t x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; +lean_dec(x_22); lean_dec(x_8); -x_30 = lean_ctor_get(x_1, 1); -lean_inc(x_30); -x_31 = lean_ctor_get(x_1, 0); -lean_inc(x_31); -lean_dec(x_1); -x_32 = lean_ctor_get(x_31, 1); +x_32 = lean_ctor_get(x_1, 1); lean_inc(x_32); -lean_dec(x_31); -x_33 = 1; -x_34 = lean_box(x_33); -x_35 = lean_apply_2(x_32, lean_box(0), x_34); -x_36 = lean_apply_4(x_30, lean_box(0), lean_box(0), x_35, x_11); -return x_36; +x_33 = lean_ctor_get(x_1, 0); +lean_inc(x_33); +lean_dec(x_1); +x_34 = lean_ctor_get(x_33, 1); +lean_inc(x_34); +lean_dec(x_33); +x_35 = 1; +x_36 = lean_box(x_35); +x_37 = lean_apply_2(x_34, lean_box(0), x_36); +x_38 = lean_apply_4(x_32, lean_box(0), lean_box(0), x_37, x_13); +return x_38; } } else { -lean_object* x_37; lean_object* x_38; lean_object* x_39; uint8_t x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; -lean_dec(x_21); -lean_dec(x_20); +lean_object* x_39; lean_object* x_40; lean_object* x_41; uint8_t x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; +lean_dec(x_23); +lean_dec(x_22); lean_dec(x_8); -x_37 = lean_ctor_get(x_1, 1); -lean_inc(x_37); -x_38 = lean_ctor_get(x_1, 0); -lean_inc(x_38); -lean_dec(x_1); -x_39 = lean_ctor_get(x_38, 1); +x_39 = lean_ctor_get(x_1, 1); lean_inc(x_39); -lean_dec(x_38); -x_40 = 2; -x_41 = lean_box(x_40); -x_42 = lean_apply_2(x_39, lean_box(0), x_41); -x_43 = lean_apply_4(x_37, lean_box(0), lean_box(0), x_42, x_11); -return x_43; +x_40 = lean_ctor_get(x_1, 0); +lean_inc(x_40); +lean_dec(x_1); +x_41 = lean_ctor_get(x_40, 1); +lean_inc(x_41); +lean_dec(x_40); +x_42 = 2; +x_43 = lean_box(x_42); +x_44 = lean_apply_2(x_41, lean_box(0), x_43); +x_45 = lean_apply_4(x_39, lean_box(0), lean_box(0), x_44, x_13); +return x_45; } } } @@ -2347,163 +2351,165 @@ x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -lean_object* l_Lean_Elab_elabModifiers___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +lean_object* l_Lean_Elab_elabModifiers___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { -lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; -x_6 = lean_unsigned_to_nat(0u); -x_7 = l_Lean_Syntax_getArg(x_5, x_6); -x_8 = lean_unsigned_to_nat(1u); -x_9 = l_Lean_Syntax_getArg(x_5, x_8); -x_10 = lean_unsigned_to_nat(2u); -x_11 = l_Lean_Syntax_getArg(x_5, x_10); -x_12 = lean_unsigned_to_nat(3u); -x_13 = l_Lean_Syntax_getArg(x_5, x_12); -x_14 = lean_unsigned_to_nat(4u); -x_15 = l_Lean_Syntax_getArg(x_5, x_14); -x_16 = lean_unsigned_to_nat(5u); -x_17 = l_Lean_Syntax_getArg(x_5, x_16); +lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_8 = lean_unsigned_to_nat(0u); +x_9 = l_Lean_Syntax_getArg(x_7, x_8); +x_10 = lean_unsigned_to_nat(1u); +x_11 = l_Lean_Syntax_getArg(x_7, x_10); +x_12 = lean_unsigned_to_nat(2u); +x_13 = l_Lean_Syntax_getArg(x_7, x_12); +x_14 = lean_unsigned_to_nat(3u); +x_15 = l_Lean_Syntax_getArg(x_7, x_14); +x_16 = lean_unsigned_to_nat(4u); +x_17 = l_Lean_Syntax_getArg(x_7, x_16); +x_18 = lean_unsigned_to_nat(5u); +x_19 = l_Lean_Syntax_getArg(x_7, x_18); lean_inc(x_4); lean_inc(x_1); -x_18 = lean_alloc_closure((void*)(l_Lean_Elab_elabModifiers___rarg___lambda__3___boxed), 10, 9); -lean_closure_set(x_18, 0, x_1); -lean_closure_set(x_18, 1, x_13); -lean_closure_set(x_18, 2, x_17); -lean_closure_set(x_18, 3, x_15); -lean_closure_set(x_18, 4, x_9); -lean_closure_set(x_18, 5, x_2); -lean_closure_set(x_18, 6, x_3); -lean_closure_set(x_18, 7, x_4); -lean_closure_set(x_18, 8, x_11); -x_19 = l_Lean_Syntax_getOptional_x3f(x_7); -lean_dec(x_7); -if (lean_obj_tag(x_19) == 0) +x_20 = lean_alloc_closure((void*)(l_Lean_Elab_elabModifiers___rarg___lambda__3___boxed), 12, 11); +lean_closure_set(x_20, 0, x_1); +lean_closure_set(x_20, 1, x_15); +lean_closure_set(x_20, 2, x_19); +lean_closure_set(x_20, 3, x_17); +lean_closure_set(x_20, 4, x_11); +lean_closure_set(x_20, 5, x_2); +lean_closure_set(x_20, 6, x_3); +lean_closure_set(x_20, 7, x_4); +lean_closure_set(x_20, 8, x_5); +lean_closure_set(x_20, 9, x_6); +lean_closure_set(x_20, 10, x_13); +x_21 = l_Lean_Syntax_getOptional_x3f(x_9); +lean_dec(x_9); +if (lean_obj_tag(x_21) == 0) { -lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; +lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_dec(x_4); -x_20 = lean_ctor_get(x_1, 1); -lean_inc(x_20); -x_21 = lean_ctor_get(x_1, 0); -lean_inc(x_21); -lean_dec(x_1); -x_22 = lean_ctor_get(x_21, 1); +x_22 = lean_ctor_get(x_1, 1); lean_inc(x_22); -lean_dec(x_21); -x_23 = lean_box(0); -x_24 = lean_apply_2(x_22, lean_box(0), x_23); -x_25 = lean_apply_4(x_20, lean_box(0), lean_box(0), x_24, x_18); -return x_25; +x_23 = lean_ctor_get(x_1, 0); +lean_inc(x_23); +lean_dec(x_1); +x_24 = lean_ctor_get(x_23, 1); +lean_inc(x_24); +lean_dec(x_23); +x_25 = lean_box(0); +x_26 = lean_apply_2(x_24, lean_box(0), x_25); +x_27 = lean_apply_4(x_22, lean_box(0), lean_box(0), x_26, x_20); +return x_27; } else { -uint8_t x_26; -x_26 = !lean_is_exclusive(x_19); -if (x_26 == 0) +uint8_t x_28; +x_28 = !lean_is_exclusive(x_21); +if (x_28 == 0) { -lean_object* x_27; lean_object* x_28; -x_27 = lean_ctor_get(x_19, 0); -x_28 = l_Lean_Syntax_getArg(x_27, x_8); -if (lean_obj_tag(x_28) == 2) +lean_object* x_29; lean_object* x_30; +x_29 = lean_ctor_get(x_21, 0); +x_30 = l_Lean_Syntax_getArg(x_29, x_10); +if (lean_obj_tag(x_30) == 2) { -lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; -lean_dec(x_27); -lean_dec(x_4); -x_29 = lean_ctor_get(x_28, 1); -lean_inc(x_29); -lean_dec(x_28); -x_30 = lean_ctor_get(x_1, 1); -lean_inc(x_30); -x_31 = lean_ctor_get(x_1, 0); -lean_inc(x_31); -lean_dec(x_1); -x_32 = lean_ctor_get(x_31, 1); -lean_inc(x_32); -lean_dec(x_31); -x_33 = lean_string_utf8_byte_size(x_29); -x_34 = lean_nat_sub(x_33, x_10); -lean_dec(x_33); -x_35 = lean_string_utf8_extract(x_29, x_6, x_34); -lean_dec(x_34); +lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_dec(x_29); -lean_ctor_set(x_19, 0, x_35); -x_36 = lean_apply_2(x_32, lean_box(0), x_19); -x_37 = lean_apply_4(x_30, lean_box(0), lean_box(0), x_36, x_18); -return x_37; -} -else -{ -lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; -lean_free_object(x_19); -x_38 = lean_ctor_get(x_1, 1); -lean_inc(x_38); -x_39 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_39, 0, x_28); -x_40 = l_Lean_Elab_elabModifiers___rarg___closed__2; -x_41 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_41, 0, x_40); -lean_ctor_set(x_41, 1, x_39); -x_42 = l_Lean_KernelException_toMessageData___closed__15; -x_43 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_43, 0, x_41); -lean_ctor_set(x_43, 1, x_42); -x_44 = l_Lean_throwErrorAt___rarg(x_1, x_4, x_27, x_43); -x_45 = lean_apply_4(x_38, lean_box(0), lean_box(0), x_44, x_18); -return x_45; -} -} -else -{ -lean_object* x_46; lean_object* x_47; -x_46 = lean_ctor_get(x_19, 0); -lean_inc(x_46); -lean_dec(x_19); -x_47 = l_Lean_Syntax_getArg(x_46, x_8); -if (lean_obj_tag(x_47) == 2) -{ -lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; -lean_dec(x_46); lean_dec(x_4); -x_48 = lean_ctor_get(x_47, 1); -lean_inc(x_48); -lean_dec(x_47); -x_49 = lean_ctor_get(x_1, 1); -lean_inc(x_49); -x_50 = lean_ctor_get(x_1, 0); -lean_inc(x_50); +x_31 = lean_ctor_get(x_30, 1); +lean_inc(x_31); +lean_dec(x_30); +x_32 = lean_ctor_get(x_1, 1); +lean_inc(x_32); +x_33 = lean_ctor_get(x_1, 0); +lean_inc(x_33); lean_dec(x_1); -x_51 = lean_ctor_get(x_50, 1); -lean_inc(x_51); -lean_dec(x_50); -x_52 = lean_string_utf8_byte_size(x_48); -x_53 = lean_nat_sub(x_52, x_10); -lean_dec(x_52); -x_54 = lean_string_utf8_extract(x_48, x_6, x_53); -lean_dec(x_53); -lean_dec(x_48); -x_55 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_55, 0, x_54); -x_56 = lean_apply_2(x_51, lean_box(0), x_55); -x_57 = lean_apply_4(x_49, lean_box(0), lean_box(0), x_56, x_18); -return x_57; +x_34 = lean_ctor_get(x_33, 1); +lean_inc(x_34); +lean_dec(x_33); +x_35 = lean_string_utf8_byte_size(x_31); +x_36 = lean_nat_sub(x_35, x_12); +lean_dec(x_35); +x_37 = lean_string_utf8_extract(x_31, x_8, x_36); +lean_dec(x_36); +lean_dec(x_31); +lean_ctor_set(x_21, 0, x_37); +x_38 = lean_apply_2(x_34, lean_box(0), x_21); +x_39 = lean_apply_4(x_32, lean_box(0), lean_box(0), x_38, x_20); +return x_39; } else { -lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; -x_58 = lean_ctor_get(x_1, 1); -lean_inc(x_58); -x_59 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_59, 0, x_47); -x_60 = l_Lean_Elab_elabModifiers___rarg___closed__2; -x_61 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_61, 0, x_60); -lean_ctor_set(x_61, 1, x_59); -x_62 = l_Lean_KernelException_toMessageData___closed__15; +lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; +lean_free_object(x_21); +x_40 = lean_ctor_get(x_1, 1); +lean_inc(x_40); +x_41 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_41, 0, x_30); +x_42 = l_Lean_Elab_elabModifiers___rarg___closed__2; +x_43 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_43, 0, x_42); +lean_ctor_set(x_43, 1, x_41); +x_44 = l_Lean_KernelException_toMessageData___closed__15; +x_45 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_45, 0, x_43); +lean_ctor_set(x_45, 1, x_44); +x_46 = l_Lean_throwErrorAt___rarg(x_1, x_4, x_29, x_45); +x_47 = lean_apply_4(x_40, lean_box(0), lean_box(0), x_46, x_20); +return x_47; +} +} +else +{ +lean_object* x_48; lean_object* x_49; +x_48 = lean_ctor_get(x_21, 0); +lean_inc(x_48); +lean_dec(x_21); +x_49 = l_Lean_Syntax_getArg(x_48, x_10); +if (lean_obj_tag(x_49) == 2) +{ +lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; +lean_dec(x_48); +lean_dec(x_4); +x_50 = lean_ctor_get(x_49, 1); +lean_inc(x_50); +lean_dec(x_49); +x_51 = lean_ctor_get(x_1, 1); +lean_inc(x_51); +x_52 = lean_ctor_get(x_1, 0); +lean_inc(x_52); +lean_dec(x_1); +x_53 = lean_ctor_get(x_52, 1); +lean_inc(x_53); +lean_dec(x_52); +x_54 = lean_string_utf8_byte_size(x_50); +x_55 = lean_nat_sub(x_54, x_12); +lean_dec(x_54); +x_56 = lean_string_utf8_extract(x_50, x_8, x_55); +lean_dec(x_55); +lean_dec(x_50); +x_57 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_57, 0, x_56); +x_58 = lean_apply_2(x_53, lean_box(0), x_57); +x_59 = lean_apply_4(x_51, lean_box(0), lean_box(0), x_58, x_20); +return x_59; +} +else +{ +lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; +x_60 = lean_ctor_get(x_1, 1); +lean_inc(x_60); +x_61 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_61, 0, x_49); +x_62 = l_Lean_Elab_elabModifiers___rarg___closed__2; x_63 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_63, 0, x_61); -lean_ctor_set(x_63, 1, x_62); -x_64 = l_Lean_throwErrorAt___rarg(x_1, x_4, x_46, x_63); -x_65 = lean_apply_4(x_58, lean_box(0), lean_box(0), x_64, x_18); -return x_65; +lean_ctor_set(x_63, 0, x_62); +lean_ctor_set(x_63, 1, x_61); +x_64 = l_Lean_KernelException_toMessageData___closed__15; +x_65 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_65, 0, x_63); +lean_ctor_set(x_65, 1, x_64); +x_66 = l_Lean_throwErrorAt___rarg(x_1, x_4, x_48, x_65); +x_67 = lean_apply_4(x_60, lean_box(0), lean_box(0), x_66, x_20); +return x_67; } } } @@ -2513,7 +2519,7 @@ lean_object* l_Lean_Elab_elabModifiers(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_Elab_elabModifiers___rarg___boxed), 5, 0); +x_2 = lean_alloc_closure((void*)(l_Lean_Elab_elabModifiers___rarg___boxed), 7, 0); return x_2; } } @@ -2530,33 +2536,33 @@ lean_dec(x_2); return x_9; } } -lean_object* l_Lean_Elab_elabModifiers___rarg___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +lean_object* l_Lean_Elab_elabModifiers___rarg___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { _start: { -uint8_t x_11; lean_object* x_12; -x_11 = lean_unbox(x_10); -lean_dec(x_10); -x_12 = l_Lean_Elab_elabModifiers___rarg___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_11); +uint8_t x_13; lean_object* x_14; +x_13 = lean_unbox(x_12); +lean_dec(x_12); +x_14 = l_Lean_Elab_elabModifiers___rarg___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_13); lean_dec(x_6); -return x_12; +return x_14; } } -lean_object* l_Lean_Elab_elabModifiers___rarg___lambda__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +lean_object* l_Lean_Elab_elabModifiers___rarg___lambda__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { _start: { -lean_object* x_11; -x_11 = l_Lean_Elab_elabModifiers___rarg___lambda__3(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); -lean_dec(x_9); -return x_11; +lean_object* x_13; +x_13 = l_Lean_Elab_elabModifiers___rarg___lambda__3(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +lean_dec(x_11); +return x_13; } } -lean_object* l_Lean_Elab_elabModifiers___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +lean_object* l_Lean_Elab_elabModifiers___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { -lean_object* x_6; -x_6 = l_Lean_Elab_elabModifiers___rarg(x_1, x_2, x_3, x_4, x_5); -lean_dec(x_5); -return x_6; +lean_object* x_8; +x_8 = l_Lean_Elab_elabModifiers___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +lean_dec(x_7); +return x_8; } } lean_object* l_Lean_Elab_applyVisibility_match__1___rarg(uint8_t x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { diff --git a/stage0/stdlib/Lean/Elab/Declaration.c b/stage0/stdlib/Lean/Elab/Declaration.c index 79924c68bd..a52a898553 100644 --- a/stage0/stdlib/Lean/Elab/Declaration.c +++ b/stage0/stdlib/Lean/Elab/Declaration.c @@ -173,7 +173,6 @@ lean_object* l_Lean_Elab_Term_synthesizeSyntheticMVars_loop(uint8_t, lean_object lean_object* l_Lean_throwError___at_Lean_Elab_Command_elabCommand___spec__12(lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Parser_Command_namespace___elambda__1___closed__1; lean_object* l_Lean_addMessageContextPartial___at_Lean_Elab_Command_instAddMessageContextCommandElabM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); -extern lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_519____closed__2; lean_object* l_Lean_Elab_Command_expandInitialize___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Macro_throwErrorAt___rarg(lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Environment_contains(lean_object*, lean_object*); @@ -202,6 +201,7 @@ lean_object* l___private_Lean_Elab_Declaration_0__Lean_Elab_Command_isMutualIndu lean_object* l_Lean_Elab_Command_elabMutual___closed__2; lean_object* l_Lean_Elab_Command_elabAxiom_match__2___rarg(lean_object*, lean_object*); lean_object* l_ReaderT_bind___at_Lean_Elab_Term_instMonadLogTermElabM___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +extern lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_510____closed__2; extern lean_object* l_Lean_KernelException_toMessageData___closed__3; size_t lean_usize_of_nat(lean_object*); lean_object* l_Lean_Elab_Command_elabAxiom___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -220,8 +220,8 @@ lean_object* l_Lean_PersistentEnvExtension_addEntry___rarg(lean_object*, lean_ob lean_object* l_Lean_Elab_Term_elabBinders___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Declaration_0__Lean_Elab_Command_inductiveSyntaxToView___spec__6___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_nullKind___closed__2; +extern lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_526____closed__2; extern lean_object* l_Lean_myMacro____x40_Init_Notation___hyg_13380____closed__11; -extern lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_535____closed__2; lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Declaration_0__Lean_Elab_Command_inductiveSyntaxToView___spec__6___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Command_expandMutualElement(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_checkNotAlreadyDeclared___at___private_Lean_Elab_Declaration_0__Lean_Elab_Command_inductiveSyntaxToView___spec__4(lean_object*, lean_object*, lean_object*, lean_object*); @@ -7212,14 +7212,14 @@ x_9 = l_Lean_Syntax_isNone(x_6); if (x_1 == 0) { lean_object* x_196; -x_196 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_519____closed__2; +x_196 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_510____closed__2; x_10 = x_196; goto block_195; } else { lean_object* x_197; -x_197 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_535____closed__2; +x_197 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_526____closed__2; x_10 = x_197; goto block_195; } diff --git a/stage0/stdlib/Lean/Elab/LetRec.c b/stage0/stdlib/Lean/Elab/LetRec.c index 487d6b8e01..7ad813a59e 100644 --- a/stage0/stdlib/Lean/Elab/LetRec.c +++ b/stage0/stdlib/Lean/Elab/LetRec.c @@ -13,6 +13,7 @@ #ifdef __cplusplus extern "C" { #endif +extern lean_object* l_Lean_Elab_elabAttr___rarg___lambda__9___closed__3; lean_object* l_Lean_Elab_checkNotAlreadyDeclared___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_mapIdxM_map___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_registerLetRecsToLift___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_elabLetRec(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -47,6 +48,7 @@ lean_object* l_List_append___rarg(lean_object*, lean_object*); uint8_t lean_name_eq(lean_object*, lean_object*); lean_object* l_Lean_throwError___at_Lean_Elab_Term_mkAuxName___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_private_to_user_name(lean_object*); +extern lean_object* l_Lean_Elab_elabAttr___rarg___lambda__11___closed__3; extern lean_object* l_Lean_Meta_withoutPostponingUniverseConstraintsImp___rarg___closed__3; extern lean_object* l_Lean_Elab_throwAlreadyDeclaredUniverseLevel___rarg___closed__3; lean_object* lean_array_push(lean_object*, lean_object*); @@ -87,7 +89,7 @@ lean_object* lean_nat_sub(lean_object*, lean_object*); lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__14___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_checkNotAlreadyDeclared___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_LetRec_0__Lean_Elab_Term_abortIfContainsSyntheticSorry___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__11___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__11___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_checkNotAlreadyDeclared___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_LetRec_0__Lean_Elab_Term_withAuxLocalDecls___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_checkNotAlreadyDeclared___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__1___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -104,7 +106,7 @@ lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_T extern lean_object* l_Lean_Elab_Term_mkLetRec___closed__1; lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_forallTelescopeReducingAux___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_throwError___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__11___lambda__2(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__11___lambda__2(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_getId(lean_object*); lean_object* l_Lean_Elab_addMacroStack___at_Lean_Elab_Term_instAddErrorMessageContextTermElabM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -119,29 +121,26 @@ lean_object* l_Lean_Elab_Term_expandOptType(lean_object*, lean_object*); extern lean_object* l_Lean_instInhabitedExpr; lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__6___rarg(lean_object*); lean_object* l_Lean_Meta_getLocalInstances(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__11___lambda__3(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_LetRec_0__Lean_Elab_Term_elabLetRecDeclValues___boxed__const__1; lean_object* l_ReaderT_bind___at_Lean_Elab_Term_instMonadLogTermElabM___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_elabTermEnsuringType___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_KernelException_toMessageData___closed__3; size_t lean_usize_of_nat(lean_object*); lean_object* l___private_Lean_Elab_LetRec_0__Lean_Elab_Term_withAuxLocalDecls_loop___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___spec__3___rarg(lean_object*); extern lean_object* l_Lean_Elab_Term_termElabAttribute; lean_object* l___private_Lean_Elab_LetRec_0__Lean_Elab_Term_registerLetRecsToLift(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_throwAbort___at_Lean_Elab_Term_ensureNoUnassignedMVars___spec__1___rarg(lean_object*); lean_object* l_Lean_Elab_checkNotAlreadyDeclared___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__1___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -extern lean_object* l_Lean_Elab_elabAttr___rarg___lambda__3___closed__3; lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_isIdOrAtom_x3f(lean_object*); lean_object* l_Lean_throwError___at_Lean_Elab_Term_elabLetDeclAux___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__13(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__11___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__14___lambda__1___closed__2; lean_object* l_Lean_Syntax_getSepArgs(lean_object*); uint8_t l_Lean_isAttribute(lean_object*, lean_object*); -lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__11___lambda__1(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__11___lambda__1(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_LetRec_0__Lean_Elab_Term_registerLetRecsToLift___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Syntax_getNumArgs(lean_object*); lean_object* lean_environment_main_module(lean_object*); lean_object* l___regBuiltin_Lean_Elab_Term_elabLetRec(lean_object*); lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_elabLetRecDeclValues___spec__2___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -167,10 +166,12 @@ lean_object* l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMe extern lean_object* l_Lean_Meta_withoutPostponingUniverseConstraintsImp___rarg___closed__1; uint8_t l_Lean_Syntax_isNone(lean_object*); lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__14___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_expandMacros(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_mkFreshExprMVarImpl(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_toAttributeKind___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_instantiateMVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Syntax_isOfKind(lean_object*, lean_object*); +lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___regBuiltin_Lean_Elab_Term_elabLetRec___closed__1; lean_object* l_Lean_Elab_Term_elabBinders___rarg(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__14___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -186,7 +187,6 @@ lean_object* l_List_foldr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_regi lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_elabDeclAttrs___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_elabLetRec___spec__1(size_t, size_t, lean_object*); -extern lean_object* l_Lean_Elab_elabAttr___rarg___lambda__3___closed__2; lean_object* l_Lean_throwError___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__14___lambda__5(size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Elab_toAttributeKind___rarg___lambda__2___closed__2; @@ -194,12 +194,12 @@ lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_LetRec_0__Lean_Elab lean_object* l_Lean_Elab_elabAttrs___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__10___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_LetRec_0__Lean_Elab_Term_elabLetRecDeclValues(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_throwError___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -extern lean_object* l_Lean_Elab_elabAttr___rarg___lambda__5___closed__3; extern lean_object* l_Lean_Elab_checkNotAlreadyDeclared___rarg___lambda__2___closed__2; lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_registerLetRecsToLift___spec__2(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Elab_checkNotAlreadyDeclared___rarg___lambda__1___closed__2; lean_object* l_Lean_Elab_Term_expandMatchAltsIntoMatch(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*); +extern lean_object* l_Lean_Elab_elabAttr___rarg___lambda__9___closed__2; lean_object* l_Lean_Elab_getBetterRef(lean_object*, lean_object*); lean_object* l_Lean_Elab_toAttributeKind___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__12___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_nat_dec_lt(lean_object*, lean_object*); @@ -824,49 +824,217 @@ return x_32; } } } -lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__11___lambda__1(uint8_t x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__11___lambda__1(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { -lean_object* x_12; lean_object* x_13; -x_12 = lean_alloc_ctor(0, 2, 1); -lean_ctor_set(x_12, 0, x_2); -lean_ctor_set(x_12, 1, x_3); -lean_ctor_set_uint8(x_12, sizeof(void*)*2, x_1); -x_13 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_13, 0, x_12); -lean_ctor_set(x_13, 1, x_11); -return x_13; -} -} -lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__11___lambda__2(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { -_start: -{ -lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; uint8_t x_16; +lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; x_12 = lean_unsigned_to_nat(2u); x_13 = l_Lean_Syntax_getArg(x_1, x_12); -x_14 = l_Lean_Syntax_getNumArgs(x_13); -x_15 = lean_unsigned_to_nat(0u); -x_16 = lean_nat_dec_eq(x_14, x_15); +x_14 = lean_st_ref_get(x_10, x_11); +x_15 = lean_ctor_get(x_14, 0); +lean_inc(x_15); +x_16 = lean_ctor_get(x_14, 1); +lean_inc(x_16); lean_dec(x_14); -if (x_16 == 0) +x_17 = lean_ctor_get(x_15, 0); +lean_inc(x_17); +lean_dec(x_15); +x_18 = lean_ctor_get(x_9, 3); +lean_inc(x_18); +x_19 = l_Lean_Elab_Term_getCurrMacroScope(x_5, x_6, x_7, x_8, x_9, x_10, x_16); +x_20 = lean_ctor_get(x_19, 0); +lean_inc(x_20); +x_21 = lean_ctor_get(x_19, 1); +lean_inc(x_21); +lean_dec(x_19); +x_22 = lean_ctor_get(x_9, 1); +lean_inc(x_22); +x_23 = lean_ctor_get(x_9, 2); +lean_inc(x_23); +x_24 = lean_st_ref_get(x_10, x_21); +x_25 = lean_ctor_get(x_24, 0); +lean_inc(x_25); +x_26 = lean_ctor_get(x_24, 1); +lean_inc(x_26); +lean_dec(x_24); +x_27 = lean_ctor_get(x_25, 1); +lean_inc(x_27); +lean_dec(x_25); +lean_inc(x_17); +x_28 = lean_alloc_closure((void*)(l___private_Lean_Elab_Util_0__Lean_Elab_expandMacro_x3f___boxed), 4, 1); +lean_closure_set(x_28, 0, x_17); +x_29 = x_28; +x_30 = lean_environment_main_module(x_17); +x_31 = lean_alloc_ctor(0, 6, 0); +lean_ctor_set(x_31, 0, x_29); +lean_ctor_set(x_31, 1, x_30); +lean_ctor_set(x_31, 2, x_20); +lean_ctor_set(x_31, 3, x_22); +lean_ctor_set(x_31, 4, x_23); +lean_ctor_set(x_31, 5, x_18); +x_32 = l_Lean_expandMacros(x_13, x_31, x_27); +if (lean_obj_tag(x_32) == 0) { -lean_object* x_17; lean_object* x_18; -x_17 = lean_box(0); -x_18 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__11___lambda__1(x_2, x_3, x_13, x_17, x_5, x_6, x_7, x_8, x_9, x_10, x_11); -return x_18; +lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; uint8_t x_38; +lean_dec(x_9); +lean_dec(x_5); +x_33 = lean_ctor_get(x_32, 0); +lean_inc(x_33); +x_34 = lean_ctor_get(x_32, 1); +lean_inc(x_34); +lean_dec(x_32); +x_35 = lean_st_ref_take(x_10, x_26); +x_36 = lean_ctor_get(x_35, 0); +lean_inc(x_36); +x_37 = lean_ctor_get(x_35, 1); +lean_inc(x_37); +lean_dec(x_35); +x_38 = !lean_is_exclusive(x_36); +if (x_38 == 0) +{ +lean_object* x_39; lean_object* x_40; uint8_t x_41; +x_39 = lean_ctor_get(x_36, 1); +lean_dec(x_39); +lean_ctor_set(x_36, 1, x_34); +x_40 = lean_st_ref_set(x_10, x_36, x_37); +x_41 = !lean_is_exclusive(x_40); +if (x_41 == 0) +{ +lean_object* x_42; lean_object* x_43; +x_42 = lean_ctor_get(x_40, 0); +lean_dec(x_42); +x_43 = lean_alloc_ctor(0, 2, 1); +lean_ctor_set(x_43, 0, x_3); +lean_ctor_set(x_43, 1, x_33); +lean_ctor_set_uint8(x_43, sizeof(void*)*2, x_2); +lean_ctor_set(x_40, 0, x_43); +return x_40; } else { -lean_object* x_19; lean_object* x_20; lean_object* x_21; -lean_dec(x_13); -x_19 = lean_box(0); -x_20 = lean_box(0); -x_21 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__11___lambda__1(x_2, x_3, x_19, x_20, x_5, x_6, x_7, x_8, x_9, x_10, x_11); -return x_21; +lean_object* x_44; lean_object* x_45; lean_object* x_46; +x_44 = lean_ctor_get(x_40, 1); +lean_inc(x_44); +lean_dec(x_40); +x_45 = lean_alloc_ctor(0, 2, 1); +lean_ctor_set(x_45, 0, x_3); +lean_ctor_set(x_45, 1, x_33); +lean_ctor_set_uint8(x_45, sizeof(void*)*2, x_2); +x_46 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_46, 0, x_45); +lean_ctor_set(x_46, 1, x_44); +return x_46; +} +} +else +{ +lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; +x_47 = lean_ctor_get(x_36, 0); +x_48 = lean_ctor_get(x_36, 2); +x_49 = lean_ctor_get(x_36, 3); +lean_inc(x_49); +lean_inc(x_48); +lean_inc(x_47); +lean_dec(x_36); +x_50 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_50, 0, x_47); +lean_ctor_set(x_50, 1, x_34); +lean_ctor_set(x_50, 2, x_48); +lean_ctor_set(x_50, 3, x_49); +x_51 = lean_st_ref_set(x_10, x_50, x_37); +x_52 = lean_ctor_get(x_51, 1); +lean_inc(x_52); +if (lean_is_exclusive(x_51)) { + lean_ctor_release(x_51, 0); + lean_ctor_release(x_51, 1); + x_53 = x_51; +} else { + lean_dec_ref(x_51); + x_53 = lean_box(0); +} +x_54 = lean_alloc_ctor(0, 2, 1); +lean_ctor_set(x_54, 0, x_3); +lean_ctor_set(x_54, 1, x_33); +lean_ctor_set_uint8(x_54, sizeof(void*)*2, x_2); +if (lean_is_scalar(x_53)) { + x_55 = lean_alloc_ctor(0, 2, 0); +} else { + x_55 = x_53; +} +lean_ctor_set(x_55, 0, x_54); +lean_ctor_set(x_55, 1, x_52); +return x_55; +} +} +else +{ +lean_object* x_56; +lean_dec(x_3); +x_56 = lean_ctor_get(x_32, 0); +lean_inc(x_56); +lean_dec(x_32); +if (lean_obj_tag(x_56) == 0) +{ +lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; uint8_t x_62; +x_57 = lean_ctor_get(x_56, 0); +lean_inc(x_57); +x_58 = lean_ctor_get(x_56, 1); +lean_inc(x_58); +lean_dec(x_56); +x_59 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_59, 0, x_58); +x_60 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_60, 0, x_59); +x_61 = l_Lean_throwErrorAt___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___spec__1(x_57, x_60, x_5, x_6, x_7, x_8, x_9, x_10, x_26); +lean_dec(x_57); +x_62 = !lean_is_exclusive(x_61); +if (x_62 == 0) +{ +return x_61; +} +else +{ +lean_object* x_63; lean_object* x_64; lean_object* x_65; +x_63 = lean_ctor_get(x_61, 0); +x_64 = lean_ctor_get(x_61, 1); +lean_inc(x_64); +lean_inc(x_63); +lean_dec(x_61); +x_65 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_65, 0, x_63); +lean_ctor_set(x_65, 1, x_64); +return x_65; +} +} +else +{ +lean_object* x_66; uint8_t x_67; +lean_dec(x_9); +lean_dec(x_5); +x_66 = l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___spec__3___rarg(x_26); +x_67 = !lean_is_exclusive(x_66); +if (x_67 == 0) +{ +return x_66; +} +else +{ +lean_object* x_68; lean_object* x_69; lean_object* x_70; +x_68 = lean_ctor_get(x_66, 0); +x_69 = lean_ctor_get(x_66, 1); +lean_inc(x_69); +lean_inc(x_68); +lean_dec(x_66); +x_70 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_70, 0, x_68); +lean_ctor_set(x_70, 1, x_69); +return x_70; } } } -lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__11___lambda__3(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +} +} +lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__11___lambda__2(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; uint8_t x_15; @@ -886,15 +1054,16 @@ if (x_15 == 0) lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; uint8_t x_22; x_16 = lean_alloc_ctor(4, 1, 0); lean_ctor_set(x_16, 0, x_3); -x_17 = l_Lean_Elab_elabAttr___rarg___lambda__3___closed__2; +x_17 = l_Lean_Elab_elabAttr___rarg___lambda__9___closed__2; x_18 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_18, 0, x_17); lean_ctor_set(x_18, 1, x_16); -x_19 = l_Lean_Elab_elabAttr___rarg___lambda__3___closed__3; +x_19 = l_Lean_Elab_elabAttr___rarg___lambda__9___closed__3; x_20 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_20, 0, x_18); lean_ctor_set(x_20, 1, x_19); x_21 = l_Lean_throwError___at___private_Lean_Elab_Term_0__Lean_Elab_Term_applyAttributesCore___spec__1(x_20, x_4, x_5, x_6, x_7, x_8, x_9, x_13); +lean_dec(x_8); x_22 = !lean_is_exclusive(x_21); if (x_22 == 0) { @@ -918,8 +1087,7 @@ else { lean_object* x_26; lean_object* x_27; x_26 = lean_box(0); -x_27 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__11___lambda__2(x_1, x_2, x_3, x_26, x_4, x_5, x_6, x_7, x_8, x_9, x_13); -lean_dec(x_4); +x_27 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__11___lambda__1(x_1, x_2, x_3, x_26, x_4, x_5, x_6, x_7, x_8, x_9, x_13); return x_27; } } @@ -962,7 +1130,7 @@ x_19 = l_Lean_replaceRef(x_15, x_18); lean_dec(x_18); lean_dec(x_15); lean_ctor_set(x_6, 3, x_19); -x_20 = l_Lean_Elab_elabAttr___rarg___lambda__5___closed__3; +x_20 = l_Lean_Elab_elabAttr___rarg___lambda__11___closed__3; x_21 = l_Lean_throwError___at_Lean_Elab_Term_mkAuxName___spec__1(x_20, x_2, x_3, x_4, x_5, x_6, x_7, x_13); lean_dec(x_7); lean_dec(x_6); @@ -1014,7 +1182,7 @@ lean_ctor_set(x_33, 2, x_28); lean_ctor_set(x_33, 3, x_32); lean_ctor_set(x_33, 4, x_30); lean_ctor_set(x_33, 5, x_31); -x_34 = l_Lean_Elab_elabAttr___rarg___lambda__5___closed__3; +x_34 = l_Lean_Elab_elabAttr___rarg___lambda__11___closed__3; x_35 = l_Lean_throwError___at_Lean_Elab_Term_mkAuxName___spec__1(x_34, x_2, x_3, x_4, x_5, x_33, x_7, x_13); lean_dec(x_7); lean_dec(x_33); @@ -1054,9 +1222,8 @@ x_41 = lean_box(0); x_42 = lean_name_mk_string(x_41, x_40); x_43 = lean_unbox(x_12); lean_dec(x_12); -x_44 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__11___lambda__3(x_1, x_43, x_42, x_2, x_3, x_4, x_5, x_6, x_7, x_13); +x_44 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__11___lambda__2(x_1, x_43, x_42, x_2, x_3, x_4, x_5, x_6, x_7, x_13); lean_dec(x_7); -lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); @@ -2225,46 +2392,26 @@ lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_T _start: { uint8_t x_12; lean_object* x_13; -x_12 = lean_unbox(x_1); -lean_dec(x_1); -x_13 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__11___lambda__1(x_12, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -return x_13; -} -} -lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__11___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { -_start: -{ -uint8_t x_12; lean_object* x_13; x_12 = lean_unbox(x_2); lean_dec(x_2); -x_13 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__11___lambda__2(x_1, x_12, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +x_13 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__11___lambda__1(x_1, x_12, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); lean_dec(x_10); -lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); -lean_dec(x_5); lean_dec(x_4); lean_dec(x_1); return x_13; } } -lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__11___lambda__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__11___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { uint8_t x_11; lean_object* x_12; x_11 = lean_unbox(x_2); lean_dec(x_2); -x_12 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__11___lambda__3(x_1, x_11, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_12 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_LetRec_0__Lean_Elab_Term_mkLetRecDeclView___spec__11___lambda__2(x_1, x_11, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); lean_dec(x_9); -lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); diff --git a/stage0/stdlib/Lean/Elab/Match.c b/stage0/stdlib/Lean/Elab/Match.c index 0eb80eb266..8ba82ec15a 100644 --- a/stage0/stdlib/Lean/Elab/Match.c +++ b/stage0/stdlib/Lean/Elab/Match.c @@ -164,6 +164,7 @@ lean_object* l_Lean_Elab_Term_elabMatchAltView___lambda__1___boxed(lean_object*, lean_object* l_Lean_Elab_Term_elabMatchAltView___lambda__1___closed__1; lean_object* l_Lean_annotation_x3f(lean_object*, lean_object*); lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__9___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +extern lean_object* l_Lean_Elab_elabAttr___rarg___lambda__11___closed__3; lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_throwAmbiguous___rarg___closed__2; lean_object* l_Lean_Elab_Term_elabMatch_match__5(lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_waitExpectedType___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -880,7 +881,6 @@ lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_ge extern lean_object* l_Lean_Elab_Term_expandFunBinders_loop___closed__4; lean_object* l_Lean_Elab_Term_instToStringPatternVar___closed__1; lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_waitExpectedTypeAndDiscrs_match__1___rarg(lean_object*, lean_object*, lean_object*); -extern lean_object* l_Lean_Elab_elabAttr___rarg___lambda__5___closed__3; lean_object* l_Lean_Elab_Term_ToDepElimPattern_main___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_map___at_Lean_Elab_Term_CollectPatternVars_resolveId_x3f___spec__3(lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_withElaboratedLHS___rarg___boxed__const__1; @@ -5489,7 +5489,7 @@ else { lean_object* x_20; lean_object* x_21; lean_dec(x_1); -x_20 = l_Lean_Elab_elabAttr___rarg___lambda__5___closed__3; +x_20 = l_Lean_Elab_elabAttr___rarg___lambda__11___closed__3; x_21 = l_Lean_throwError___at_Lean_Elab_Term_CollectPatternVars_resolveId_x3f___spec__1(x_20, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); lean_dec(x_8); lean_dec(x_7); @@ -7936,7 +7936,7 @@ lean_dec(x_14); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_19 = l_Lean_Elab_elabAttr___rarg___lambda__5___closed__3; +x_19 = l_Lean_Elab_elabAttr___rarg___lambda__11___closed__3; x_20 = l_Lean_throwError___at_Lean_Elab_Term_CollectPatternVars_CtorApp_processCtorApp___spec__5(x_19, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); lean_dec(x_12); lean_dec(x_11); @@ -7979,7 +7979,7 @@ lean_dec(x_26); lean_dec(x_14); lean_dec(x_3); lean_dec(x_1); -x_28 = l_Lean_Elab_elabAttr___rarg___lambda__5___closed__3; +x_28 = l_Lean_Elab_elabAttr___rarg___lambda__11___closed__3; x_29 = l_Lean_throwError___at_Lean_Elab_Term_CollectPatternVars_CtorApp_processCtorApp___spec__5(x_28, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); lean_dec(x_12); lean_dec(x_11); @@ -8617,7 +8617,7 @@ x_10 = l_Lean_Syntax_isIdent(x_1); if (x_10 == 0) { lean_object* x_11; lean_object* x_12; uint8_t x_13; -x_11 = l_Lean_Elab_elabAttr___rarg___lambda__5___closed__3; +x_11 = l_Lean_Elab_elabAttr___rarg___lambda__11___closed__3; x_12 = l_Lean_throwErrorAt___at___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_processVar___spec__2(x_1, x_11, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); lean_dec(x_1); x_13 = !lean_is_exclusive(x_12); diff --git a/stage0/stdlib/Lean/Elab/MutualDef.c b/stage0/stdlib/Lean/Elab/MutualDef.c index ec209ac2ea..be24e8db3c 100644 --- a/stage0/stdlib/Lean/Elab/MutualDef.c +++ b/stage0/stdlib/Lean/Elab/MutualDef.c @@ -16,6 +16,7 @@ extern "C" { lean_object* l_Lean_Elab_elabModifiers___at_Lean_Elab_Command_elabMutualDef___spec__1___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabFunType_match__1(lean_object*); lean_object* lean_expr_update_forall(lean_object*, uint8_t, lean_object*, lean_object*); +lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Command_elabCommand___spec__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereDeclsAsStructInst___spec__1___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_removeUnused(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_extractMacroScopes(lean_object*); @@ -133,6 +134,7 @@ lean_object* l_Lean_Elab_Term_expandLetEqnsDecl(lean_object*, lean_object*, lean lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_check___lambda__2___closed__4; lean_object* l_Lean_Elab_expandDeclId___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Parser_Command_declValEqns___elambda__1___closed__2; +lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Command_elabCommand___spec__9___rarg(lean_object*); extern lean_object* l_Array_getEvenElems___rarg___closed__1; lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_check___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabFunValues(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -241,7 +243,7 @@ lean_object* l_Lean_Elab_Term_MutualClosure_getModifiersForLetRecs(lean_object*) lean_object* l_Lean_Elab_Term_isAutoImplicit(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_nat_sub(lean_object*, lean_object*); lean_object* l_Std_PersistentArray_anyMAux___at_Lean_Elab_Term_isAutoImplicit___spec__2___boxed(lean_object*, lean_object*); -lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_Term_MutualClosure_getKindForLetRecs___spec__1___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureForAux___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_MutualClosure_pushLetRecs(lean_object*, lean_object*, uint8_t, lean_object*); @@ -344,7 +346,6 @@ lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_check___lambda__6 lean_object* lean_array_to_list(lean_object*, lean_object*); uint8_t l_Lean_Name_isAtomic(lean_object*); lean_object* l_Lean_Macro_throwErrorAt___rarg(lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Environment_contains(lean_object*, lean_object*); extern lean_object* l_Lean_protectedExt; extern lean_object* l_myMacro____x40_Init_Notation___hyg_651____closed__8; @@ -403,7 +404,7 @@ extern lean_object* l_Lean_NameSet_empty; lean_object* l_Lean_Elab_expandDeclIdCore(lean_object*); lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_isExample___spec__1___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_MutualClosure_Replacement_apply_match__1___rarg(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__1(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__1(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Syntax_mkAntiquotSpliceNode___closed__5; lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__1(lean_object*, size_t, size_t, lean_object*); lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_Term_isAutoImplicit___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*); @@ -459,7 +460,6 @@ uint8_t l_Lean_isAttribute(lean_object*, lean_object*); lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_collectUsed___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_forM___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_collectUsed___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Syntax_getNumArgs(lean_object*); lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_pickMaxFVar_x3f___boxed(lean_object*, lean_object*); lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_revert___spec__1(size_t, size_t, lean_object*); lean_object* l_Lean_mkHole(lean_object*); @@ -478,11 +478,11 @@ lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_Term_MutualClosure_getModifie uint8_t lean_nat_dec_le(lean_object*, lean_object*); lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_withFunLocalDecls_loop___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_foldl___at_Lean_Elab_Term_MutualClosure_insertReplacementForLetRecs___spec__1(lean_object*, lean_object*); +lean_object* l_Lean_Elab_Command_getCurrMacroScope(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_isExample___boxed(lean_object*); lean_object* l_Lean_mkPrivateName(lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_elabMutualDef___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_elabModifiers___at_Lean_Elab_Command_elabMutualDef___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__3(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Elab_instInhabitedModifiers___closed__1; lean_object* l_Std_PersistentArray_toArray___rarg(lean_object*); lean_object* l_Lean_Syntax_getArgs(lean_object*); @@ -546,6 +546,7 @@ uint8_t l_Lean_Syntax_isNone(lean_object*); lean_object* l_Lean_setEnv___at_Lean_Elab_Term_declareTacticSyntax___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureForAux___spec__2(lean_object*, lean_object*, size_t, size_t, lean_object*); lean_object* l_Lean_Elab_Term_MutualClosure_Replacement_apply_match__2(lean_object*); +lean_object* l_Lean_expandMacros(lean_object*, lean_object*, lean_object*); lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabFunValues___spec__2___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_mkOptionalNode___closed__1; lean_object* l_Array_erase___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureForAux___spec__1___boxed(lean_object*, lean_object*); @@ -593,7 +594,7 @@ lean_object* l_Lean_Elab_Term_addAutoBoundImplicits(lean_object*, lean_object*, lean_object* l_Lean_Elab_Term_withAutoBoundImplicitLocal___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureForAux_match__1(lean_object*); lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereDeclsAsStructInst___boxed__const__1; -lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__2(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__2(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_getArg(lean_object*, lean_object*); uint8_t l_List_foldr___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_typeHasRecFun___spec__1(lean_object*, uint8_t, lean_object*); extern lean_object* l_Lean_CollectFVars_instInhabitedState___closed__1; @@ -627,7 +628,6 @@ lean_object* l_List_forIn_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_T lean_object* lean_expr_update_app(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_check___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabFunValues___boxed__const__1; -extern lean_object* l_Lean_Elab_elabAttr___rarg___lambda__3___closed__2; uint8_t l_List_beq___at_Lean_OpenDecl_instToStringOpenDecl___spec__1(lean_object*, lean_object*); lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_check___lambda__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__2(lean_object*, lean_object*, size_t, size_t, lean_object*); @@ -673,6 +673,7 @@ lean_object* l_Lean_Meta_check(lean_object*, lean_object*, lean_object*, lean_ob lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosureFor(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_throwError___at_Lean_Elab_Command_elabEvalUnsafe___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Expr_ReplaceImpl_initCache; +extern lean_object* l_Lean_Elab_elabAttr___rarg___lambda__9___closed__2; lean_object* l_Lean_Elab_getBetterRef(lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_MutualClosure_Replacement_apply(lean_object*, lean_object*); lean_object* l_Lean_Meta_findLocalDecl_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -17330,49 +17331,235 @@ lean_dec(x_2); return x_14; } } -lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__1(uint8_t x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__1(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { -lean_object* x_8; lean_object* x_9; -x_8 = lean_alloc_ctor(0, 2, 1); -lean_ctor_set(x_8, 0, x_2); -lean_ctor_set(x_8, 1, x_3); -lean_ctor_set_uint8(x_8, sizeof(void*)*2, x_1); -x_9 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_9, 0, x_8); -lean_ctor_set(x_9, 1, x_7); -return x_9; -} -} -lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__2(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { -_start: -{ -lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; uint8_t x_12; +lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; x_8 = lean_unsigned_to_nat(2u); x_9 = l_Lean_Syntax_getArg(x_1, x_8); -x_10 = l_Lean_Syntax_getNumArgs(x_9); -x_11 = lean_unsigned_to_nat(0u); -x_12 = lean_nat_dec_eq(x_10, x_11); +x_10 = lean_st_ref_get(x_6, x_7); +x_11 = lean_ctor_get(x_10, 0); +lean_inc(x_11); +x_12 = lean_ctor_get(x_10, 1); +lean_inc(x_12); lean_dec(x_10); -if (x_12 == 0) +x_13 = lean_ctor_get(x_11, 0); +lean_inc(x_13); +lean_dec(x_11); +x_14 = l_Lean_Elab_Command_getRef(x_5, x_6, x_12); +x_15 = lean_ctor_get(x_14, 0); +lean_inc(x_15); +x_16 = lean_ctor_get(x_14, 1); +lean_inc(x_16); +lean_dec(x_14); +x_17 = l_Lean_Elab_Command_getCurrMacroScope(x_5, x_6, x_16); +x_18 = lean_ctor_get(x_17, 0); +lean_inc(x_18); +x_19 = lean_ctor_get(x_17, 1); +lean_inc(x_19); +lean_dec(x_17); +x_20 = lean_ctor_get(x_5, 2); +lean_inc(x_20); +x_21 = lean_st_ref_get(x_6, x_19); +x_22 = lean_ctor_get(x_21, 0); +lean_inc(x_22); +x_23 = lean_ctor_get(x_21, 1); +lean_inc(x_23); +lean_dec(x_21); +x_24 = lean_ctor_get(x_22, 4); +lean_inc(x_24); +lean_dec(x_22); +x_25 = lean_st_ref_get(x_6, x_23); +x_26 = lean_ctor_get(x_25, 0); +lean_inc(x_26); +x_27 = lean_ctor_get(x_25, 1); +lean_inc(x_27); +lean_dec(x_25); +x_28 = lean_ctor_get(x_26, 3); +lean_inc(x_28); +lean_dec(x_26); +lean_inc(x_13); +x_29 = lean_alloc_closure((void*)(l___private_Lean_Elab_Util_0__Lean_Elab_expandMacro_x3f___boxed), 4, 1); +lean_closure_set(x_29, 0, x_13); +x_30 = x_29; +x_31 = lean_environment_main_module(x_13); +x_32 = lean_alloc_ctor(0, 6, 0); +lean_ctor_set(x_32, 0, x_30); +lean_ctor_set(x_32, 1, x_31); +lean_ctor_set(x_32, 2, x_18); +lean_ctor_set(x_32, 3, x_20); +lean_ctor_set(x_32, 4, x_24); +lean_ctor_set(x_32, 5, x_15); +x_33 = l_Lean_expandMacros(x_9, x_32, x_28); +if (lean_obj_tag(x_33) == 0) { -lean_object* x_13; lean_object* x_14; -x_13 = lean_box(0); -x_14 = l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__1(x_2, x_3, x_9, x_13, x_5, x_6, x_7); -return x_14; +lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; uint8_t x_39; +lean_dec(x_5); +x_34 = lean_ctor_get(x_33, 0); +lean_inc(x_34); +x_35 = lean_ctor_get(x_33, 1); +lean_inc(x_35); +lean_dec(x_33); +x_36 = lean_st_ref_take(x_6, x_27); +x_37 = lean_ctor_get(x_36, 0); +lean_inc(x_37); +x_38 = lean_ctor_get(x_36, 1); +lean_inc(x_38); +lean_dec(x_36); +x_39 = !lean_is_exclusive(x_37); +if (x_39 == 0) +{ +lean_object* x_40; lean_object* x_41; uint8_t x_42; +x_40 = lean_ctor_get(x_37, 3); +lean_dec(x_40); +lean_ctor_set(x_37, 3, x_35); +x_41 = lean_st_ref_set(x_6, x_37, x_38); +x_42 = !lean_is_exclusive(x_41); +if (x_42 == 0) +{ +lean_object* x_43; lean_object* x_44; +x_43 = lean_ctor_get(x_41, 0); +lean_dec(x_43); +x_44 = lean_alloc_ctor(0, 2, 1); +lean_ctor_set(x_44, 0, x_3); +lean_ctor_set(x_44, 1, x_34); +lean_ctor_set_uint8(x_44, sizeof(void*)*2, x_2); +lean_ctor_set(x_41, 0, x_44); +return x_41; } else { -lean_object* x_15; lean_object* x_16; lean_object* x_17; -lean_dec(x_9); -x_15 = lean_box(0); -x_16 = lean_box(0); -x_17 = l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__1(x_2, x_3, x_15, x_16, x_5, x_6, x_7); -return x_17; +lean_object* x_45; lean_object* x_46; lean_object* x_47; +x_45 = lean_ctor_get(x_41, 1); +lean_inc(x_45); +lean_dec(x_41); +x_46 = lean_alloc_ctor(0, 2, 1); +lean_ctor_set(x_46, 0, x_3); +lean_ctor_set(x_46, 1, x_34); +lean_ctor_set_uint8(x_46, sizeof(void*)*2, x_2); +x_47 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_47, 0, x_46); +lean_ctor_set(x_47, 1, x_45); +return x_47; +} +} +else +{ +lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; +x_48 = lean_ctor_get(x_37, 0); +x_49 = lean_ctor_get(x_37, 1); +x_50 = lean_ctor_get(x_37, 2); +x_51 = lean_ctor_get(x_37, 4); +x_52 = lean_ctor_get(x_37, 5); +x_53 = lean_ctor_get(x_37, 6); +lean_inc(x_53); +lean_inc(x_52); +lean_inc(x_51); +lean_inc(x_50); +lean_inc(x_49); +lean_inc(x_48); +lean_dec(x_37); +x_54 = lean_alloc_ctor(0, 7, 0); +lean_ctor_set(x_54, 0, x_48); +lean_ctor_set(x_54, 1, x_49); +lean_ctor_set(x_54, 2, x_50); +lean_ctor_set(x_54, 3, x_35); +lean_ctor_set(x_54, 4, x_51); +lean_ctor_set(x_54, 5, x_52); +lean_ctor_set(x_54, 6, x_53); +x_55 = lean_st_ref_set(x_6, x_54, x_38); +x_56 = lean_ctor_get(x_55, 1); +lean_inc(x_56); +if (lean_is_exclusive(x_55)) { + lean_ctor_release(x_55, 0); + lean_ctor_release(x_55, 1); + x_57 = x_55; +} else { + lean_dec_ref(x_55); + x_57 = lean_box(0); +} +x_58 = lean_alloc_ctor(0, 2, 1); +lean_ctor_set(x_58, 0, x_3); +lean_ctor_set(x_58, 1, x_34); +lean_ctor_set_uint8(x_58, sizeof(void*)*2, x_2); +if (lean_is_scalar(x_57)) { + x_59 = lean_alloc_ctor(0, 2, 0); +} else { + x_59 = x_57; +} +lean_ctor_set(x_59, 0, x_58); +lean_ctor_set(x_59, 1, x_56); +return x_59; +} +} +else +{ +lean_object* x_60; +lean_dec(x_3); +x_60 = lean_ctor_get(x_33, 0); +lean_inc(x_60); +lean_dec(x_33); +if (lean_obj_tag(x_60) == 0) +{ +lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; uint8_t x_66; +x_61 = lean_ctor_get(x_60, 0); +lean_inc(x_61); +x_62 = lean_ctor_get(x_60, 1); +lean_inc(x_62); +lean_dec(x_60); +x_63 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_63, 0, x_62); +x_64 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_64, 0, x_63); +x_65 = l_Lean_throwErrorAt___at_Lean_Elab_Command_elabCommand___spec__7(x_61, x_64, x_5, x_6, x_27); +lean_dec(x_61); +x_66 = !lean_is_exclusive(x_65); +if (x_66 == 0) +{ +return x_65; +} +else +{ +lean_object* x_67; lean_object* x_68; lean_object* x_69; +x_67 = lean_ctor_get(x_65, 0); +x_68 = lean_ctor_get(x_65, 1); +lean_inc(x_68); +lean_inc(x_67); +lean_dec(x_65); +x_69 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_69, 0, x_67); +lean_ctor_set(x_69, 1, x_68); +return x_69; +} +} +else +{ +lean_object* x_70; uint8_t x_71; +lean_dec(x_5); +x_70 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Command_elabCommand___spec__9___rarg(x_27); +x_71 = !lean_is_exclusive(x_70); +if (x_71 == 0) +{ +return x_70; +} +else +{ +lean_object* x_72; lean_object* x_73; lean_object* x_74; +x_72 = lean_ctor_get(x_70, 0); +x_73 = lean_ctor_get(x_70, 1); +lean_inc(x_73); +lean_inc(x_72); +lean_dec(x_70); +x_74 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_74, 0, x_72); +lean_ctor_set(x_74, 1, x_73); +return x_74; } } } -lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__3(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +} +} +lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__2(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; uint8_t x_11; @@ -17392,7 +17579,7 @@ if (x_11 == 0) lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18; x_12 = lean_alloc_ctor(4, 1, 0); lean_ctor_set(x_12, 0, x_3); -x_13 = l_Lean_Elab_elabAttr___rarg___lambda__3___closed__2; +x_13 = l_Lean_Elab_elabAttr___rarg___lambda__9___closed__2; x_14 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_14, 0, x_13); lean_ctor_set(x_14, 1, x_12); @@ -17424,8 +17611,7 @@ else { lean_object* x_22; lean_object* x_23; x_22 = lean_box(0); -x_23 = l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__2(x_1, x_2, x_3, x_22, x_4, x_5, x_9); -lean_dec(x_4); +x_23 = l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__1(x_1, x_2, x_3, x_22, x_4, x_5, x_9); return x_23; } } @@ -17573,7 +17759,7 @@ x_39 = lean_box(0); x_40 = lean_name_mk_string(x_39, x_38); x_41 = lean_unbox(x_8); lean_dec(x_8); -x_42 = l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__3(x_1, x_41, x_40, x_2, x_3, x_9); +x_42 = l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__2(x_1, x_41, x_40, x_2, x_3, x_9); lean_dec(x_3); return x_42; } @@ -18692,36 +18878,22 @@ lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4 _start: { uint8_t x_8; lean_object* x_9; -x_8 = lean_unbox(x_1); -lean_dec(x_1); -x_9 = l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__1(x_8, x_2, x_3, x_4, x_5, x_6, x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -return x_9; -} -} -lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { -_start: -{ -uint8_t x_8; lean_object* x_9; x_8 = lean_unbox(x_2); lean_dec(x_2); -x_9 = l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__2(x_1, x_8, x_3, x_4, x_5, x_6, x_7); +x_9 = l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__1(x_1, x_8, x_3, x_4, x_5, x_6, x_7); lean_dec(x_6); -lean_dec(x_5); lean_dec(x_4); lean_dec(x_1); return x_9; } } -lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { uint8_t x_7; lean_object* x_8; x_7 = lean_unbox(x_2); lean_dec(x_2); -x_8 = l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__3(x_1, x_7, x_3, x_4, x_5, x_6); +x_8 = l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__2(x_1, x_7, x_3, x_4, x_5, x_6); lean_dec(x_5); lean_dec(x_1); return x_8; diff --git a/stage0/stdlib/Lean/Elab/Structure.c b/stage0/stdlib/Lean/Elab/Structure.c index 4ffd9c4a89..ba035e51c4 100644 --- a/stage0/stdlib/Lean/Elab/Structure.c +++ b/stage0/stdlib/Lean/Elab/Structure.c @@ -18,15 +18,18 @@ extern lean_object* l_Lean_Elab_Command_checkValidInductiveModifier___rarg___clo lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_collectLevelParamsInFVar___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Command_instInhabitedStructFieldInfo; +extern lean_object* l_Lean_Elab_elabAttr___rarg___lambda__9___closed__3; extern lean_object* l_myMacro____x40_Init_NotationExtra___hyg_3453____closed__21; lean_object* l_List_map___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView___spec__7(lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields___rarg___closed__12; +lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Command_elabStructure___lambda__1___boxed(lean_object**); lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_removeUnused(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_getResultUniverse___closed__1; lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_levelMVarToParam(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_extractMacroScopes(lean_object*); +lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields_match__1(lean_object*); size_t l_USize_add(size_t, size_t); extern lean_object* l_myMacro____x40_Init_Notation___hyg_12520____closed__14; @@ -36,6 +39,7 @@ lean_object* l_Lean_Elab_expandOptDeclSig(lean_object*); lean_object* l_Lean_Elab_elabAttrs___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Syntax_strLitToAtom___closed__3; lean_object* l_Lean_registerTraceClass(lean_object*, lean_object*); +lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___rarg(lean_object*); lean_object* lean_erase_macro_scopes(lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_processSubfields_loop___rarg___closed__4; lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -64,6 +68,7 @@ lean_object* lean_name_mk_string(lean_object*, lean_object*); lean_object* l_Lean_Syntax_getOptional_x3f(lean_object*); lean_object* l_Lean_Elab_Command_checkValidFieldModifier___lambda__4___closed__1; uint8_t l_USize_decEq(size_t, size_t); +lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__4___closed__2; lean_object* lean_array_uget(lean_object*, size_t); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withUsed___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Command_checkValidFieldModifier___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -78,19 +83,23 @@ lean_object* l_Lean_Elab_throwAlreadyDeclaredUniverseLevel___at_Lean_Elab_Comman lean_object* l_Lean_throwError___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_getResultingUniverse___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabFieldTypeValue_match__2___rarg(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withParents___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +extern lean_object* l_Lean_Elab_throwUnsupportedSyntax___rarg___closed__1; lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_levelMVarToParamFVars___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_elabDeclAttrs___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__4___closed__2; lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields___rarg___closed__11; +lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__12___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields___rarg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__4___closed__3; lean_object* l_Lean_Elab_Command_checkValidFieldModifier___closed__3; lean_object* lean_array_uset(lean_object*, size_t, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields_match__5___rarg(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_collectUniversesFromFields___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_addDefaults(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_checkNotAlreadyDeclared___at_Lean_Elab_Command_elabStructure___spec__7___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__4___closed__1; +lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withLocalDeclImp___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Elab_instInhabitedAttribute; extern lean_object* l_Lean_initFn____x40_Lean_Class___hyg_627____closed__1; @@ -102,6 +111,7 @@ lean_object* l_Lean_Elab_Command_checkValidFieldModifier___lambda__2___closed__1 lean_object* l_Lean_Elab_Command_checkValidFieldModifier___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_st_ref_get(lean_object*, lean_object*); lean_object* l_Lean_Elab_Command_checkValidFieldModifier___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__4___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Elab_elabModifiers___rarg___closed__2; lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withParents___rarg___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Command_elabStructure_match__1(lean_object*); @@ -115,13 +125,12 @@ lean_object* lean_private_to_user_name(lean_object*); lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields___spec__3___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Command_checkValidFieldModifier___lambda__1___closed__1; lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields___rarg___closed__9; +extern lean_object* l_Lean_Elab_elabAttr___rarg___lambda__11___closed__3; lean_object* l_Lean_Elab_Term_ensureNoUnassignedMVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_getResultUniverse_match__1___rarg(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__13(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_elabModifiers___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__1___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__4___closed__1; lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Term_quoteAutoTactic___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_elabModifiers___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__1___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Elab_throwAlreadyDeclaredUniverseLevel___rarg___closed__3; lean_object* lean_expr_instantiate1(lean_object*, lean_object*); @@ -135,7 +144,6 @@ lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_levelMVarToPar lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabImplicitLambda___spec__1___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_mkDeclName___at_Lean_Elab_Command_elabStructure___spec__5___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Array_getEvenElems___rarg___closed__1; -lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields___spec__2___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_checkParentIsStructure___closed__3; lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields_match__4___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); @@ -160,7 +168,7 @@ lean_object* l_Lean_Elab_Command_checkValidFieldModifier___lambda__2___closed__2 lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_collectUsed_match__1(lean_object*); lean_object* l_Lean_Elab_Term_withLevelNames___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withParents___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__3___closed__3; +lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__2; uint8_t l_USize_decLt(size_t, size_t); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView___closed__2; @@ -168,37 +176,39 @@ lean_object* l_Lean_Elab_applyVisibility___at___private_Lean_Elab_Structure_0__L lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_findFieldInfo_x3f___spec__1(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*); lean_object* l_Lean_Elab_Command_checkValidFieldModifier___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_addCtorFields___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__12(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields___rarg___closed__2; extern lean_object* l_Lean_Elab_Command_checkValidCtorModifier___rarg___closed__3; lean_object* l_Lean_throwError___at_Lean_Elab_Command_elabStructure___spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Command_checkValidFieldModifier___lambda__3___closed__1; lean_object* lean_nat_add(lean_object*, lean_object*); lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_Command_elabStructure___spec__12(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_mkAuxDefinition(lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_checkNotAlreadyDeclared___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__13___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_addProjections___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_addDefaults_match__1___rarg(lean_object*, lean_object*); +lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__18___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Command_checkValidFieldModifier___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Command_0__Lean_Elab_Command_getVarDecls(lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_checkParentIsStructure(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__2___closed__1; lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields___rarg___closed__4; lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_getResultUniverse(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Command_checkValidFieldModifier___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__1(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Command_elabStructure___lambda__1(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_levelMVarToParamAux(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_throwError___at_Lean_Elab_Term_throwErrorIfErrors___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_validStructType___boxed(lean_object*); lean_object* l_Lean_Elab_Command_StructFieldInfo_isFromParent___boxed(lean_object*); +lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__15___closed__3; lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_updateResultingUniverse_match__1(lean_object*); lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_checkParentIsStructure___closed__2; uint8_t l_Lean_Elab_Command_StructFieldInfo_inferMod___default; lean_object* l_Lean_mkAppN(lean_object*, lean_object*); -lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__2(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_elabModifiers___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields___rarg___closed__8; lean_object* l_Lean_throwError___at___private_Lean_Elab_Term_0__Lean_Elab_Term_applyAttributesCore___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -211,6 +221,7 @@ lean_object* l_Lean_Elab_elabModifiers___at___private_Lean_Elab_Structure_0__Lea lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_removeUnused_match__1___rarg(lean_object*, lean_object*); lean_object* l_Lean_Elab_elabAttrs___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_LocalDecl_value(lean_object*); +lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__11(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_levelMVarToParamAux___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_updateResultingUniverse(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -245,7 +256,6 @@ lean_object* l_Lean_Meta_mkProjection___at___private_Lean_Elab_Structure_0__Lean lean_object* l_Lean_Elab_Command_elabStructure___lambda__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView___spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView___lambda__1___boxed__const__1; -lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__11(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkProjections___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_removeUnused_match__1(lean_object*); lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView___spec__9___boxed(lean_object*, lean_object*, lean_object*, lean_object*); @@ -257,44 +267,41 @@ lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkAuxConstruct lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_defaultCtorName; lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withUsed_match__1(lean_object*); lean_object* l_Lean_getStructureFieldsFlattened(lean_object*, lean_object*); +lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__10(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__2___closed__3; lean_object* l_Lean_Elab_getOptDerivingClasses___at_Lean_Elab_Command_elabStructure___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_elabTerm(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Elab_Command_checkValidCtorModifier___rarg___lambda__3___closed__3; lean_object* l_Lean_Elab_Command_checkValidCtorModifier___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__11___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__12___closed__3; lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_checkParentIsStructure_match__1(lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_toAttributeKind___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__4___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__4___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_getFVarLocalDecl_x21(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_replaceRef(lean_object*, lean_object*); lean_object* lean_array_get(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withUsed(lean_object*); +lean_object* l___private_Lean_Elab_Util_0__Lean_Elab_expandMacro_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_mkLambdaFVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Command_elabStructure___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_fvarId_x21(lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields_match__3(lean_object*); -lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__3___closed__2; -lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__12___lambda__1___boxed(lean_object**); lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Elab_elabModifiers___rarg___lambda__3___closed__1; -lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__4___lambda__3(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_getOptDerivingClasses___at_Lean_Elab_Command_elabStructure___spec__2___boxed__const__1; lean_object* l_Lean_Elab_expandDeclId___at_Lean_Elab_Command_elabStructure___spec__4___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields_match__2___rarg(lean_object*, lean_object*); -lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_mkProjection___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_processSubfields_loop___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__4___lambda__2(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_Command_elabStructure___spec__12___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Command_elabStructure___lambda__3(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkIdImp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Command_StructFieldInfo_value_x3f___default; -lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__3___closed__1; uint8_t l_Lean_LocalDecl_binderInfo(lean_object*); lean_object* l_Lean_Elab_checkNotAlreadyDeclared___at_Lean_Elab_Command_elabStructure___spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Elab_elabModifiers___rarg___lambda__3___closed__2; @@ -308,7 +315,6 @@ lean_object* l_Lean_Syntax_getId(lean_object*); lean_object* l_Lean_Elab_addMacroStack___at_Lean_Elab_Term_instAddErrorMessageContextTermElabM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView___spec__4(lean_object*, size_t, size_t, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_processSubfields_loop___rarg___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__10___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___closed__2; lean_object* l_Lean_mkRecOn___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkAuxConstructions___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Command_checkValidFieldModifier___lambda__1___closed__3; @@ -316,32 +322,29 @@ lean_object* l_Lean_Elab_Term_synthesizeSyntheticMVars_loop(uint8_t, lean_object lean_object* l_Lean_throwError___at_Lean_Elab_Command_elabCommand___spec__12(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_collectLevelParamsInFVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_checkParentIsStructure___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__12(lean_object*, uint8_t, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_addInstance(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabFieldTypeValue_match__2(lean_object*); lean_object* l_Lean_Elab_expandDeclId___at_Lean_Elab_Command_elabStructure___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__10___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Elab_Command_checkValidInductiveModifier___rarg___lambda__1___closed__3; lean_object* l_Lean_Elab_Command_elabStructure___lambda__2___boxed(lean_object**); lean_object* l_Lean_Elab_Command_StructFieldInfo_isSubobject___boxed(lean_object*); lean_object* l_Lean_Elab_Command_checkValidCtorModifier___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__11___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_mkDeclName___at_Lean_Elab_Command_elabStructure___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Elab_Term_getCurrMacroScope(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_withParents___spec__1___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_to_list(lean_object*, lean_object*); -lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__2___closed__2; uint8_t l_Lean_Name_isAtomic(lean_object*); uint8_t l_Lean_Environment_contains(lean_object*, lean_object*); lean_object* l_Lean_Elab_checkNotAlreadyDeclared___at_Lean_Elab_Command_elabStructure___spec__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__4___lambda__2(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__4___lambda__2(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_protectedExt; lean_object* l_Lean_Elab_Command_elabStructure___lambda__5(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Command_checkValidCtorModifier___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__11___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_CollectLevelParams_main(lean_object*, lean_object*); -lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__12___boxed(lean_object**); -lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__15(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__15(lean_object*, uint8_t, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__16(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__9___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Command_checkValidFieldModifier___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withParents___rarg___closed__1; @@ -351,29 +354,33 @@ lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_addCtorFields_ extern lean_object* l_Lean_instInhabitedExpr; lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_collectUniversesFromFields___spec__1(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__15___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_checkNotAlreadyDeclared___at_Lean_Elab_Command_elabStructure___spec__7___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_addDefaults_match__1(lean_object*); lean_object* l_Lean_Elab_elabModifiers___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_collectLevelParamsInFVars___spec__1(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView_match__1(lean_object*); +lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Init_Util_0__mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_assignLevelMVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_KernelException_toMessageData___closed__15; uint8_t l_Array_isEmpty___rarg(lean_object*); -lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__12___closed__2; -lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_throwAlreadyDeclaredUniverseLevel___at_Lean_Elab_Command_elabStructure___spec__9___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabFieldTypeValue_match__3___rarg(lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_instInhabitedSyntax; +lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__13___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_toAttributeKind___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_getLocalInstances(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields___rarg___closed__5; +lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__2___closed__2; lean_object* l_Lean_Meta_withLetDecl___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_processSubfields_loop___spec__2(lean_object*); lean_object* l_ReaderT_pure___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_addDefaults___spec__3(lean_object*); lean_object* l_Lean_Elab_expandDeclId___at_Lean_Elab_Command_elabStructure___spec__4___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__3___closed__2; lean_object* l_Lean_Elab_sortDeclLevelParams(lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__2; +lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields___spec__1(lean_object*); lean_object* l_Lean_Meta_withLCtx___at_Lean_Elab_Term_elabSyntheticHole___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields_match__1___rarg(lean_object*, lean_object*); @@ -383,7 +390,6 @@ uint8_t l_Lean_BinderInfo_isInstImplicit(uint8_t); lean_object* l_Lean_Meta_whnf(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_processSubfields_loop___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView___closed__3; -lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__12___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_processSubfields(lean_object*); lean_object* l_Lean_setReducibilityStatus___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_addDefaults___spec__2(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Command_checkValidCtorModifier___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__11___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -394,9 +400,7 @@ lean_object* l_Lean_Elab_expandDeclIdCore(lean_object*); lean_object* l_Lean_addTrace___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_LocalContext_updateBinderInfo(lean_object*, lean_object*, uint8_t); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_collectLevelParamsInStructure___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__2___closed__3; lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_addProjections(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__12___closed__1; lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withParents(lean_object*); lean_object* l_Lean_PersistentEnvExtension_addEntry___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_elabBinders___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -406,6 +410,7 @@ extern lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_877____closed lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_elabModifiers___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_addCtorFields_match__1___rarg(uint8_t, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___spec__3___rarg(lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields(lean_object*); lean_object* l_Lean_Elab_DerivingClassView_applyHandlers(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields___rarg___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -415,7 +420,6 @@ lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabFieldTypeV lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_processSubfields_loop___rarg___closed__1; lean_object* l_Lean_mkAtomFrom(lean_object*, lean_object*); -extern lean_object* l_Lean_Elab_elabAttr___rarg___lambda__3___closed__3; lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_levelMVarToParamAux___boxed__const__1; lean_object* l_Lean_Elab_elabDeclAttrs___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_LocalDecl_type(lean_object*); @@ -428,11 +432,14 @@ lean_object* l_Lean_throwError___at_Lean_Elab_Command_elabStructure___spec__10__ lean_object* l_Lean_Elab_Term_resetMessageLog(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_toAttributeKind___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_List_elem___at_Lean_NameHashSet_insert___spec__2(lean_object*, lean_object*); +lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__2___closed__1; extern lean_object* l_Option_get_x21___rarg___closed__4; lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields___spec__2(lean_object*); lean_object* l_Lean_Name_getString_x21(lean_object*); lean_object* l_Lean_Elab_toAttributeKind___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__5___closed__1; lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__18(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_collectLevelParamsInStructure___spec__1(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_ReaderT_pure___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_addDefaults___spec__3___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -445,56 +452,59 @@ lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_collectLevelPa lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView___spec__3(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Command_checkValidInductiveModifier___at_Lean_Elab_Command_elabStructure___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Syntax_getNumArgs(lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__4___closed__3; extern lean_object* l_Lean_CollectLevelParams_instInhabitedState___closed__1; extern lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkAuxConstructions___closed__2; lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Command_elabStructure___spec__3(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_addDefaults___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* lean_environment_main_module(lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_addDefaults___boxed__const__1; -lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_nat_dec_le(lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_processSubfields_loop___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__4___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__4___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_collectLevelParamsInStructure(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields_match__4(lean_object*); lean_object* l_Lean_Elab_Command_getCurrMacroScope(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_mkPrivateName(lean_object*, lean_object*); lean_object* l_Lean_Elab_elabAttrs___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___closed__1; lean_object* l_Lean_Elab_Command_checkValidCtorModifier___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__11___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Elab_instInhabitedModifiers___closed__1; lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView___spec__5(lean_object*, size_t, size_t, lean_object*); lean_object* l_Lean_Syntax_getArgs(lean_object*); lean_object* l_Lean_Name_append(lean_object*, lean_object*); -lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__4___lambda__1(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__4___lambda__1(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__15___closed__1; lean_object* l_Lean_Syntax_getKind(lean_object*); lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__6(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withParents___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__15___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__15___boxed(lean_object**); lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_levelMVarToParamAux___spec__1(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__11___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Name_isAnonymous(lean_object*); -lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__4___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_processSubfields_loop___rarg___closed__2; lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_collectLevelParamsInFVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_toAttributeKind___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__5___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__13___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_panic_fn(lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_containsFieldName___boxed(lean_object*, lean_object*); lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabImplicitLambda___spec__1___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___closed__2; lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_removeUnused(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_setReducibilityStatus___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_addDefaults___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__15___closed__2; lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields_match__3___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_elabModifiers___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__1___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Elab_toAttributeKind___rarg___closed__1; +lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkAuxConstructions___lambda__1(uint8_t, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Command_elabStructure___closed__1; extern lean_object* l_Lean_Elab_sortDeclLevelParams___closed__1; lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields___rarg___lambda__3___boxed(lean_object**); extern lean_object* l_Lean_instInhabitedExpr___closed__1; +lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__3___closed__1; lean_object* l_Lean_Elab_Term_withDeclName___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Command_checkValidFieldModifier___lambda__3___closed__3; lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -508,6 +518,7 @@ lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lea lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields___rarg___closed__6; lean_object* l_Lean_Elab_Command_getMainModule___rarg(lean_object*, lean_object*); lean_object* l_Lean_Elab_Command_elabStructure(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__11___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Command_StructFieldInfo_isFromParent_match__1___rarg___boxed(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_collectUsed_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Command_checkValidFieldModifier___lambda__4___closed__2; @@ -516,12 +527,11 @@ extern lean_object* l_Lean_Elab_throwAlreadyDeclaredUniverseLevel___rarg___close lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withUsed___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_getLevel(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields_match__1(lean_object*); -lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__3___closed__3; lean_object* l_Lean_Elab_expandDeclSig(lean_object*); lean_object* l_Lean_Elab_Command_checkValidFieldModifier___closed__2; lean_object* l_Lean_Elab_checkNotAlreadyDeclared___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__13(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Command_StructFieldInfo_isSubobject_match__1___rarg(uint8_t, lean_object*, lean_object*); -lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__10(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Command_checkValidFieldModifier___lambda__2___closed__3; extern lean_object* l_Lean_Elab_Command_checkValidInductiveModifier___rarg___lambda__2___closed__3; lean_object* l_Lean_Elab_Term_elabType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -529,15 +539,19 @@ lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_setEnv___at_Lean_Elab_Command_elabEvalUnsafe___spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__9___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_elabModifiers___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__1___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__13(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_forM___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_mkForall(lean_object*, uint8_t, lean_object*, lean_object*); lean_object* l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__15___lambda__1___boxed(lean_object**); lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_withParents___spec__1(lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_processSubfields___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Syntax_isNone(lean_object*); lean_object* l_Lean_setEnv___at_Lean_Elab_Term_declareTacticSyntax___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Level_getLevelOffset(lean_object*); lean_object* l_Lean_Meta_inferType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_expandMacros(lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Elab_Command_StructFieldInfo_isFromParent(lean_object*); lean_object* l_Lean_Elab_Modifiers_addAttribute(lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_collectUniversesFromFields___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -546,6 +560,7 @@ lean_object* lean_set_reducibility_status(lean_object*, lean_object*, uint8_t); lean_object* l_Lean_Elab_Command_checkValidInductiveModifier___at_Lean_Elab_Command_elabStructure___spec__1___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Command_StructFieldInfo_isFromParent_match__1___rarg(uint8_t, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_collectUsed___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__2(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields___rarg___closed__10; lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_Command_elabStructure___spec__11(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_checkNotAlreadyDeclared___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__13___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -557,6 +572,7 @@ uint8_t l___private_Lean_Expr_0__Lean_beqBinderInfo____x40_Lean_Expr___hyg_206_( lean_object* l_Lean_throwError___at___private_Lean_Elab_Command_0__Lean_Elab_Command_elabCommandUsing___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_expr_abstract(lean_object*, lean_object*); lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_ReaderT_pure___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_addDefaults___spec__3___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Command_checkValidInductiveModifier___at_Lean_Elab_Command_elabStructure___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); @@ -566,6 +582,7 @@ lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_addProjections lean_object* l_Lean_Elab_applyVisibility___at_Lean_Elab_Command_elabStructure___spec__6(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_validStructType_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCtor(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_prec_x28___x29___closed__7; lean_object* l_Lean_mkCasesOn___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkAuxConstructions___spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_getLevelNames___boxed(lean_object*); @@ -580,12 +597,13 @@ lean_object* l_Lean_Elab_Command_checkValidFieldModifier___boxed(lean_object*, l lean_object* l_Lean_Elab_Command_checkValidFieldModifier___closed__1; uint8_t l_Lean_Elab_Modifiers_isPrivate(lean_object*); lean_object* l_Lean_Elab_toAttributeKind___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__5___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__4___lambda__1(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__4___lambda__1(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_toAttributeKind___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_prec_x28___x29___closed__3; lean_object* l_Lean_Elab_Term_addAutoBoundImplicits(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_withAutoBoundImplicitLocal___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_findFieldInfo_x3f___boxed(lean_object*, lean_object*); +lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__16___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields___rarg___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_withParents___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_getArg(lean_object*, lean_object*); @@ -615,14 +633,10 @@ uint8_t l_Lean_Elab_isFreshInstanceName(lean_object*); extern lean_object* l_Lean_myMacro____x40_Init_NotationExtra___hyg_1127____closed__40; lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_levelMVarToParamFVars___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withLetDeclImp___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__7(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__2; lean_object* l_Lean_Elab_checkNotAlreadyDeclared___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__13___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView___spec__8(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___lambda__2___closed__1; -extern lean_object* l_Lean_Elab_elabAttr___rarg___lambda__3___closed__2; -lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___closed__1; lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabFieldTypeValue___closed__1; lean_object* l_Lean_Elab_Command_checkValidFieldModifier___lambda__4___closed__3; lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__10(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -641,9 +655,7 @@ lean_object* l_Lean_mkConst(lean_object*, lean_object*); lean_object* l_Lean_Elab_elabModifiers___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Elab_Command_instInhabitedStructFieldKind; lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_processSubfields_loop___rarg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__1(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Elab_Command_checkValidCtorModifier___rarg___lambda__2___closed__3; -extern lean_object* l_Lean_Elab_elabAttr___rarg___lambda__5___closed__3; lean_object* l_Lean_Elab_Command_elabStructure___lambda__4(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_collectUniversesFromFields(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_findFieldInfo_x3f___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -668,6 +680,7 @@ lean_object* l_Lean_Elab_applyVisibility___at___private_Lean_Elab_Structure_0__L lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields___rarg___closed__7; lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_levelMVarToParam___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_throwError___at_Lean_Elab_Command_elabEvalUnsafe___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +extern lean_object* l_Lean_Elab_elabAttr___rarg___lambda__9___closed__2; lean_object* l_Lean_Elab_getBetterRef(lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields_match__4___rarg(uint8_t, lean_object*, lean_object*, lean_object*); uint8_t lean_nat_dec_lt(lean_object*, lean_object*); @@ -999,49 +1012,217 @@ return x_32; } } } -lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__4___lambda__1(uint8_t x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__4___lambda__1(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { -lean_object* x_12; lean_object* x_13; -x_12 = lean_alloc_ctor(0, 2, 1); -lean_ctor_set(x_12, 0, x_2); -lean_ctor_set(x_12, 1, x_3); -lean_ctor_set_uint8(x_12, sizeof(void*)*2, x_1); -x_13 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_13, 0, x_12); -lean_ctor_set(x_13, 1, x_11); -return x_13; -} -} -lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__4___lambda__2(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { -_start: -{ -lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; uint8_t x_16; +lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; x_12 = lean_unsigned_to_nat(2u); x_13 = l_Lean_Syntax_getArg(x_1, x_12); -x_14 = l_Lean_Syntax_getNumArgs(x_13); -x_15 = lean_unsigned_to_nat(0u); -x_16 = lean_nat_dec_eq(x_14, x_15); +x_14 = lean_st_ref_get(x_10, x_11); +x_15 = lean_ctor_get(x_14, 0); +lean_inc(x_15); +x_16 = lean_ctor_get(x_14, 1); +lean_inc(x_16); lean_dec(x_14); -if (x_16 == 0) +x_17 = lean_ctor_get(x_15, 0); +lean_inc(x_17); +lean_dec(x_15); +x_18 = lean_ctor_get(x_9, 3); +lean_inc(x_18); +x_19 = l_Lean_Elab_Term_getCurrMacroScope(x_5, x_6, x_7, x_8, x_9, x_10, x_16); +x_20 = lean_ctor_get(x_19, 0); +lean_inc(x_20); +x_21 = lean_ctor_get(x_19, 1); +lean_inc(x_21); +lean_dec(x_19); +x_22 = lean_ctor_get(x_9, 1); +lean_inc(x_22); +x_23 = lean_ctor_get(x_9, 2); +lean_inc(x_23); +x_24 = lean_st_ref_get(x_10, x_21); +x_25 = lean_ctor_get(x_24, 0); +lean_inc(x_25); +x_26 = lean_ctor_get(x_24, 1); +lean_inc(x_26); +lean_dec(x_24); +x_27 = lean_ctor_get(x_25, 1); +lean_inc(x_27); +lean_dec(x_25); +lean_inc(x_17); +x_28 = lean_alloc_closure((void*)(l___private_Lean_Elab_Util_0__Lean_Elab_expandMacro_x3f___boxed), 4, 1); +lean_closure_set(x_28, 0, x_17); +x_29 = x_28; +x_30 = lean_environment_main_module(x_17); +x_31 = lean_alloc_ctor(0, 6, 0); +lean_ctor_set(x_31, 0, x_29); +lean_ctor_set(x_31, 1, x_30); +lean_ctor_set(x_31, 2, x_20); +lean_ctor_set(x_31, 3, x_22); +lean_ctor_set(x_31, 4, x_23); +lean_ctor_set(x_31, 5, x_18); +x_32 = l_Lean_expandMacros(x_13, x_31, x_27); +if (lean_obj_tag(x_32) == 0) { -lean_object* x_17; lean_object* x_18; -x_17 = lean_box(0); -x_18 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__4___lambda__1(x_2, x_3, x_13, x_17, x_5, x_6, x_7, x_8, x_9, x_10, x_11); -return x_18; +lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; uint8_t x_38; +lean_dec(x_9); +lean_dec(x_5); +x_33 = lean_ctor_get(x_32, 0); +lean_inc(x_33); +x_34 = lean_ctor_get(x_32, 1); +lean_inc(x_34); +lean_dec(x_32); +x_35 = lean_st_ref_take(x_10, x_26); +x_36 = lean_ctor_get(x_35, 0); +lean_inc(x_36); +x_37 = lean_ctor_get(x_35, 1); +lean_inc(x_37); +lean_dec(x_35); +x_38 = !lean_is_exclusive(x_36); +if (x_38 == 0) +{ +lean_object* x_39; lean_object* x_40; uint8_t x_41; +x_39 = lean_ctor_get(x_36, 1); +lean_dec(x_39); +lean_ctor_set(x_36, 1, x_34); +x_40 = lean_st_ref_set(x_10, x_36, x_37); +x_41 = !lean_is_exclusive(x_40); +if (x_41 == 0) +{ +lean_object* x_42; lean_object* x_43; +x_42 = lean_ctor_get(x_40, 0); +lean_dec(x_42); +x_43 = lean_alloc_ctor(0, 2, 1); +lean_ctor_set(x_43, 0, x_3); +lean_ctor_set(x_43, 1, x_33); +lean_ctor_set_uint8(x_43, sizeof(void*)*2, x_2); +lean_ctor_set(x_40, 0, x_43); +return x_40; } else { -lean_object* x_19; lean_object* x_20; lean_object* x_21; -lean_dec(x_13); -x_19 = lean_box(0); -x_20 = lean_box(0); -x_21 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__4___lambda__1(x_2, x_3, x_19, x_20, x_5, x_6, x_7, x_8, x_9, x_10, x_11); -return x_21; +lean_object* x_44; lean_object* x_45; lean_object* x_46; +x_44 = lean_ctor_get(x_40, 1); +lean_inc(x_44); +lean_dec(x_40); +x_45 = lean_alloc_ctor(0, 2, 1); +lean_ctor_set(x_45, 0, x_3); +lean_ctor_set(x_45, 1, x_33); +lean_ctor_set_uint8(x_45, sizeof(void*)*2, x_2); +x_46 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_46, 0, x_45); +lean_ctor_set(x_46, 1, x_44); +return x_46; +} +} +else +{ +lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; +x_47 = lean_ctor_get(x_36, 0); +x_48 = lean_ctor_get(x_36, 2); +x_49 = lean_ctor_get(x_36, 3); +lean_inc(x_49); +lean_inc(x_48); +lean_inc(x_47); +lean_dec(x_36); +x_50 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_50, 0, x_47); +lean_ctor_set(x_50, 1, x_34); +lean_ctor_set(x_50, 2, x_48); +lean_ctor_set(x_50, 3, x_49); +x_51 = lean_st_ref_set(x_10, x_50, x_37); +x_52 = lean_ctor_get(x_51, 1); +lean_inc(x_52); +if (lean_is_exclusive(x_51)) { + lean_ctor_release(x_51, 0); + lean_ctor_release(x_51, 1); + x_53 = x_51; +} else { + lean_dec_ref(x_51); + x_53 = lean_box(0); +} +x_54 = lean_alloc_ctor(0, 2, 1); +lean_ctor_set(x_54, 0, x_3); +lean_ctor_set(x_54, 1, x_33); +lean_ctor_set_uint8(x_54, sizeof(void*)*2, x_2); +if (lean_is_scalar(x_53)) { + x_55 = lean_alloc_ctor(0, 2, 0); +} else { + x_55 = x_53; +} +lean_ctor_set(x_55, 0, x_54); +lean_ctor_set(x_55, 1, x_52); +return x_55; +} +} +else +{ +lean_object* x_56; +lean_dec(x_3); +x_56 = lean_ctor_get(x_32, 0); +lean_inc(x_56); +lean_dec(x_32); +if (lean_obj_tag(x_56) == 0) +{ +lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; uint8_t x_62; +x_57 = lean_ctor_get(x_56, 0); +lean_inc(x_57); +x_58 = lean_ctor_get(x_56, 1); +lean_inc(x_58); +lean_dec(x_56); +x_59 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_59, 0, x_58); +x_60 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_60, 0, x_59); +x_61 = l_Lean_throwErrorAt___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___spec__1(x_57, x_60, x_5, x_6, x_7, x_8, x_9, x_10, x_26); +lean_dec(x_57); +x_62 = !lean_is_exclusive(x_61); +if (x_62 == 0) +{ +return x_61; +} +else +{ +lean_object* x_63; lean_object* x_64; lean_object* x_65; +x_63 = lean_ctor_get(x_61, 0); +x_64 = lean_ctor_get(x_61, 1); +lean_inc(x_64); +lean_inc(x_63); +lean_dec(x_61); +x_65 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_65, 0, x_63); +lean_ctor_set(x_65, 1, x_64); +return x_65; +} +} +else +{ +lean_object* x_66; uint8_t x_67; +lean_dec(x_9); +lean_dec(x_5); +x_66 = l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___spec__3___rarg(x_26); +x_67 = !lean_is_exclusive(x_66); +if (x_67 == 0) +{ +return x_66; +} +else +{ +lean_object* x_68; lean_object* x_69; lean_object* x_70; +x_68 = lean_ctor_get(x_66, 0); +x_69 = lean_ctor_get(x_66, 1); +lean_inc(x_69); +lean_inc(x_68); +lean_dec(x_66); +x_70 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_70, 0, x_68); +lean_ctor_set(x_70, 1, x_69); +return x_70; } } } -lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__4___lambda__3(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +} +} +lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__4___lambda__2(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; uint8_t x_15; @@ -1061,15 +1242,16 @@ if (x_15 == 0) lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; uint8_t x_22; x_16 = lean_alloc_ctor(4, 1, 0); lean_ctor_set(x_16, 0, x_3); -x_17 = l_Lean_Elab_elabAttr___rarg___lambda__3___closed__2; +x_17 = l_Lean_Elab_elabAttr___rarg___lambda__9___closed__2; x_18 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_18, 0, x_17); lean_ctor_set(x_18, 1, x_16); -x_19 = l_Lean_Elab_elabAttr___rarg___lambda__3___closed__3; +x_19 = l_Lean_Elab_elabAttr___rarg___lambda__9___closed__3; x_20 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_20, 0, x_18); lean_ctor_set(x_20, 1, x_19); x_21 = l_Lean_throwError___at___private_Lean_Elab_Term_0__Lean_Elab_Term_applyAttributesCore___spec__1(x_20, x_4, x_5, x_6, x_7, x_8, x_9, x_13); +lean_dec(x_8); x_22 = !lean_is_exclusive(x_21); if (x_22 == 0) { @@ -1093,8 +1275,7 @@ else { lean_object* x_26; lean_object* x_27; x_26 = lean_box(0); -x_27 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__4___lambda__2(x_1, x_2, x_3, x_26, x_4, x_5, x_6, x_7, x_8, x_9, x_13); -lean_dec(x_4); +x_27 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__4___lambda__1(x_1, x_2, x_3, x_26, x_4, x_5, x_6, x_7, x_8, x_9, x_13); return x_27; } } @@ -1137,7 +1318,7 @@ x_19 = l_Lean_replaceRef(x_15, x_18); lean_dec(x_18); lean_dec(x_15); lean_ctor_set(x_6, 3, x_19); -x_20 = l_Lean_Elab_elabAttr___rarg___lambda__5___closed__3; +x_20 = l_Lean_Elab_elabAttr___rarg___lambda__11___closed__3; x_21 = l_Lean_throwError___at_Lean_Elab_Term_mkAuxName___spec__1(x_20, x_2, x_3, x_4, x_5, x_6, x_7, x_13); lean_dec(x_7); lean_dec(x_6); @@ -1189,7 +1370,7 @@ lean_ctor_set(x_33, 2, x_28); lean_ctor_set(x_33, 3, x_32); lean_ctor_set(x_33, 4, x_30); lean_ctor_set(x_33, 5, x_31); -x_34 = l_Lean_Elab_elabAttr___rarg___lambda__5___closed__3; +x_34 = l_Lean_Elab_elabAttr___rarg___lambda__11___closed__3; x_35 = l_Lean_throwError___at_Lean_Elab_Term_mkAuxName___spec__1(x_34, x_2, x_3, x_4, x_5, x_33, x_7, x_13); lean_dec(x_7); lean_dec(x_33); @@ -1229,9 +1410,8 @@ x_41 = lean_box(0); x_42 = lean_name_mk_string(x_41, x_40); x_43 = lean_unbox(x_12); lean_dec(x_12); -x_44 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__4___lambda__3(x_1, x_43, x_42, x_2, x_3, x_4, x_5, x_6, x_7, x_13); +x_44 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__4___lambda__2(x_1, x_43, x_42, x_2, x_3, x_4, x_5, x_6, x_7, x_13); lean_dec(x_7); -lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); @@ -3345,46 +3525,26 @@ lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Ela _start: { uint8_t x_12; lean_object* x_13; -x_12 = lean_unbox(x_1); -lean_dec(x_1); -x_13 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__4___lambda__1(x_12, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -return x_13; -} -} -lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__4___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { -_start: -{ -uint8_t x_12; lean_object* x_13; x_12 = lean_unbox(x_2); lean_dec(x_2); -x_13 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__4___lambda__2(x_1, x_12, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +x_13 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__4___lambda__1(x_1, x_12, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); lean_dec(x_10); -lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); -lean_dec(x_5); lean_dec(x_4); lean_dec(x_1); return x_13; } } -lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__4___lambda__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__4___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { uint8_t x_11; lean_object* x_12; x_11 = lean_unbox(x_2); lean_dec(x_2); -x_12 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__4___lambda__3(x_1, x_11, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_12 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__4___lambda__2(x_1, x_11, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); lean_dec(x_9); -lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); @@ -4214,7 +4374,7 @@ return x_32; } } } -lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__6(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__7(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; uint8_t x_16; @@ -4262,7 +4422,331 @@ return x_22; } } } -lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__4___lambda__1(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__6(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +_start: +{ +uint8_t x_10; +x_10 = !lean_is_exclusive(x_7); +if (x_10 == 0) +{ +lean_object* x_11; lean_object* x_12; lean_object* x_13; +x_11 = lean_ctor_get(x_7, 3); +x_12 = l_Lean_replaceRef(x_1, x_11); +lean_dec(x_11); +lean_ctor_set(x_7, 3, x_12); +x_13 = l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__7(x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +lean_dec(x_7); +return x_13; +} +else +{ +lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_14 = lean_ctor_get(x_7, 0); +x_15 = lean_ctor_get(x_7, 1); +x_16 = lean_ctor_get(x_7, 2); +x_17 = lean_ctor_get(x_7, 3); +x_18 = lean_ctor_get(x_7, 4); +x_19 = lean_ctor_get(x_7, 5); +lean_inc(x_19); +lean_inc(x_18); +lean_inc(x_17); +lean_inc(x_16); +lean_inc(x_15); +lean_inc(x_14); +lean_dec(x_7); +x_20 = l_Lean_replaceRef(x_1, x_17); +lean_dec(x_17); +x_21 = lean_alloc_ctor(0, 6, 0); +lean_ctor_set(x_21, 0, x_14); +lean_ctor_set(x_21, 1, x_15); +lean_ctor_set(x_21, 2, x_16); +lean_ctor_set(x_21, 3, x_20); +lean_ctor_set(x_21, 4, x_18); +lean_ctor_set(x_21, 5, x_19); +x_22 = l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__7(x_2, x_3, x_4, x_5, x_6, x_21, x_8, x_9); +lean_dec(x_21); +return x_22; +} +} +} +lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___rarg(lean_object* x_1) { +_start: +{ +lean_object* x_2; lean_object* x_3; +x_2 = l_Lean_Elab_throwUnsupportedSyntax___rarg___closed__1; +x_3 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_3, 0, x_2); +lean_ctor_set(x_3, 1, x_1); +return x_3; +} +} +lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +lean_object* x_7; +x_7 = lean_alloc_closure((void*)(l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___rarg), 1, 0); +return x_7; +} +} +lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__9(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; uint8_t x_16; +x_9 = lean_ctor_get(x_6, 3); +x_10 = lean_ctor_get(x_2, 3); +lean_inc(x_10); +lean_inc(x_10); +x_11 = l_Lean_Elab_getBetterRef(x_9, x_10); +x_12 = l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(x_1, x_4, x_5, x_6, x_7, x_8); +x_13 = lean_ctor_get(x_12, 0); +lean_inc(x_13); +x_14 = lean_ctor_get(x_12, 1); +lean_inc(x_14); +lean_dec(x_12); +x_15 = l_Lean_Elab_addMacroStack___at_Lean_Elab_Term_instAddErrorMessageContextTermElabM___spec__1(x_13, x_10, x_2, x_3, x_4, x_5, x_6, x_7, x_14); +lean_dec(x_2); +lean_dec(x_10); +x_16 = !lean_is_exclusive(x_15); +if (x_16 == 0) +{ +lean_object* x_17; lean_object* x_18; +x_17 = lean_ctor_get(x_15, 0); +x_18 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_18, 0, x_11); +lean_ctor_set(x_18, 1, x_17); +lean_ctor_set_tag(x_15, 1); +lean_ctor_set(x_15, 0, x_18); +return x_15; +} +else +{ +lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_19 = lean_ctor_get(x_15, 0); +x_20 = lean_ctor_get(x_15, 1); +lean_inc(x_20); +lean_inc(x_19); +lean_dec(x_15); +x_21 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_21, 0, x_11); +lean_ctor_set(x_21, 1, x_19); +x_22 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_22, 0, x_21); +lean_ctor_set(x_22, 1, x_20); +return x_22; +} +} +} +lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__4___lambda__1(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +_start: +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; +x_12 = lean_unsigned_to_nat(2u); +x_13 = l_Lean_Syntax_getArg(x_1, x_12); +x_14 = lean_st_ref_get(x_10, x_11); +x_15 = lean_ctor_get(x_14, 0); +lean_inc(x_15); +x_16 = lean_ctor_get(x_14, 1); +lean_inc(x_16); +lean_dec(x_14); +x_17 = lean_ctor_get(x_15, 0); +lean_inc(x_17); +lean_dec(x_15); +x_18 = lean_ctor_get(x_9, 3); +lean_inc(x_18); +x_19 = l_Lean_Elab_Term_getCurrMacroScope(x_5, x_6, x_7, x_8, x_9, x_10, x_16); +x_20 = lean_ctor_get(x_19, 0); +lean_inc(x_20); +x_21 = lean_ctor_get(x_19, 1); +lean_inc(x_21); +lean_dec(x_19); +x_22 = lean_ctor_get(x_9, 1); +lean_inc(x_22); +x_23 = lean_ctor_get(x_9, 2); +lean_inc(x_23); +x_24 = lean_st_ref_get(x_10, x_21); +x_25 = lean_ctor_get(x_24, 0); +lean_inc(x_25); +x_26 = lean_ctor_get(x_24, 1); +lean_inc(x_26); +lean_dec(x_24); +x_27 = lean_ctor_get(x_25, 1); +lean_inc(x_27); +lean_dec(x_25); +lean_inc(x_17); +x_28 = lean_alloc_closure((void*)(l___private_Lean_Elab_Util_0__Lean_Elab_expandMacro_x3f___boxed), 4, 1); +lean_closure_set(x_28, 0, x_17); +x_29 = x_28; +x_30 = lean_environment_main_module(x_17); +x_31 = lean_alloc_ctor(0, 6, 0); +lean_ctor_set(x_31, 0, x_29); +lean_ctor_set(x_31, 1, x_30); +lean_ctor_set(x_31, 2, x_20); +lean_ctor_set(x_31, 3, x_22); +lean_ctor_set(x_31, 4, x_23); +lean_ctor_set(x_31, 5, x_18); +x_32 = l_Lean_expandMacros(x_13, x_31, x_27); +if (lean_obj_tag(x_32) == 0) +{ +lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; uint8_t x_38; +lean_dec(x_9); +lean_dec(x_5); +x_33 = lean_ctor_get(x_32, 0); +lean_inc(x_33); +x_34 = lean_ctor_get(x_32, 1); +lean_inc(x_34); +lean_dec(x_32); +x_35 = lean_st_ref_take(x_10, x_26); +x_36 = lean_ctor_get(x_35, 0); +lean_inc(x_36); +x_37 = lean_ctor_get(x_35, 1); +lean_inc(x_37); +lean_dec(x_35); +x_38 = !lean_is_exclusive(x_36); +if (x_38 == 0) +{ +lean_object* x_39; lean_object* x_40; uint8_t x_41; +x_39 = lean_ctor_get(x_36, 1); +lean_dec(x_39); +lean_ctor_set(x_36, 1, x_34); +x_40 = lean_st_ref_set(x_10, x_36, x_37); +x_41 = !lean_is_exclusive(x_40); +if (x_41 == 0) +{ +lean_object* x_42; lean_object* x_43; +x_42 = lean_ctor_get(x_40, 0); +lean_dec(x_42); +x_43 = lean_alloc_ctor(0, 2, 1); +lean_ctor_set(x_43, 0, x_3); +lean_ctor_set(x_43, 1, x_33); +lean_ctor_set_uint8(x_43, sizeof(void*)*2, x_2); +lean_ctor_set(x_40, 0, x_43); +return x_40; +} +else +{ +lean_object* x_44; lean_object* x_45; lean_object* x_46; +x_44 = lean_ctor_get(x_40, 1); +lean_inc(x_44); +lean_dec(x_40); +x_45 = lean_alloc_ctor(0, 2, 1); +lean_ctor_set(x_45, 0, x_3); +lean_ctor_set(x_45, 1, x_33); +lean_ctor_set_uint8(x_45, sizeof(void*)*2, x_2); +x_46 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_46, 0, x_45); +lean_ctor_set(x_46, 1, x_44); +return x_46; +} +} +else +{ +lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; +x_47 = lean_ctor_get(x_36, 0); +x_48 = lean_ctor_get(x_36, 2); +x_49 = lean_ctor_get(x_36, 3); +lean_inc(x_49); +lean_inc(x_48); +lean_inc(x_47); +lean_dec(x_36); +x_50 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_50, 0, x_47); +lean_ctor_set(x_50, 1, x_34); +lean_ctor_set(x_50, 2, x_48); +lean_ctor_set(x_50, 3, x_49); +x_51 = lean_st_ref_set(x_10, x_50, x_37); +x_52 = lean_ctor_get(x_51, 1); +lean_inc(x_52); +if (lean_is_exclusive(x_51)) { + lean_ctor_release(x_51, 0); + lean_ctor_release(x_51, 1); + x_53 = x_51; +} else { + lean_dec_ref(x_51); + x_53 = lean_box(0); +} +x_54 = lean_alloc_ctor(0, 2, 1); +lean_ctor_set(x_54, 0, x_3); +lean_ctor_set(x_54, 1, x_33); +lean_ctor_set_uint8(x_54, sizeof(void*)*2, x_2); +if (lean_is_scalar(x_53)) { + x_55 = lean_alloc_ctor(0, 2, 0); +} else { + x_55 = x_53; +} +lean_ctor_set(x_55, 0, x_54); +lean_ctor_set(x_55, 1, x_52); +return x_55; +} +} +else +{ +lean_object* x_56; +lean_dec(x_3); +x_56 = lean_ctor_get(x_32, 0); +lean_inc(x_56); +lean_dec(x_32); +if (lean_obj_tag(x_56) == 0) +{ +lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; uint8_t x_62; +x_57 = lean_ctor_get(x_56, 0); +lean_inc(x_57); +x_58 = lean_ctor_get(x_56, 1); +lean_inc(x_58); +lean_dec(x_56); +x_59 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_59, 0, x_58); +x_60 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_60, 0, x_59); +x_61 = l_Lean_throwErrorAt___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__6(x_57, x_60, x_5, x_6, x_7, x_8, x_9, x_10, x_26); +lean_dec(x_57); +x_62 = !lean_is_exclusive(x_61); +if (x_62 == 0) +{ +return x_61; +} +else +{ +lean_object* x_63; lean_object* x_64; lean_object* x_65; +x_63 = lean_ctor_get(x_61, 0); +x_64 = lean_ctor_get(x_61, 1); +lean_inc(x_64); +lean_inc(x_63); +lean_dec(x_61); +x_65 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_65, 0, x_63); +lean_ctor_set(x_65, 1, x_64); +return x_65; +} +} +else +{ +lean_object* x_66; uint8_t x_67; +lean_dec(x_9); +lean_dec(x_5); +x_66 = l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___rarg(x_26); +x_67 = !lean_is_exclusive(x_66); +if (x_67 == 0) +{ +return x_66; +} +else +{ +lean_object* x_68; lean_object* x_69; lean_object* x_70; +x_68 = lean_ctor_get(x_66, 0); +x_69 = lean_ctor_get(x_66, 1); +lean_inc(x_69); +lean_inc(x_68); +lean_dec(x_66); +x_70 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_70, 0, x_68); +lean_ctor_set(x_70, 1, x_69); +return x_70; +} +} +} +} +} +lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__4___lambda__2(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; uint8_t x_15; @@ -4282,15 +4766,16 @@ if (x_15 == 0) lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; uint8_t x_22; x_16 = lean_alloc_ctor(4, 1, 0); lean_ctor_set(x_16, 0, x_3); -x_17 = l_Lean_Elab_elabAttr___rarg___lambda__3___closed__2; +x_17 = l_Lean_Elab_elabAttr___rarg___lambda__9___closed__2; x_18 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_18, 0, x_17); lean_ctor_set(x_18, 1, x_16); -x_19 = l_Lean_Elab_elabAttr___rarg___lambda__3___closed__3; +x_19 = l_Lean_Elab_elabAttr___rarg___lambda__9___closed__3; x_20 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_20, 0, x_18); lean_ctor_set(x_20, 1, x_19); x_21 = l_Lean_throwError___at_Lean_Elab_Term_elabLetDeclAux___spec__1(x_20, x_4, x_5, x_6, x_7, x_8, x_9, x_13); +lean_dec(x_8); x_22 = !lean_is_exclusive(x_21); if (x_22 == 0) { @@ -4314,8 +4799,7 @@ else { lean_object* x_26; lean_object* x_27; x_26 = lean_box(0); -x_27 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__4___lambda__2(x_1, x_2, x_3, x_26, x_4, x_5, x_6, x_7, x_8, x_9, x_13); -lean_dec(x_4); +x_27 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__4___lambda__1(x_1, x_2, x_3, x_26, x_4, x_5, x_6, x_7, x_8, x_9, x_13); return x_27; } } @@ -4353,8 +4837,8 @@ x_19 = l_Lean_replaceRef(x_15, x_18); lean_dec(x_18); lean_dec(x_15); lean_ctor_set(x_6, 3, x_19); -x_20 = l_Lean_Elab_elabAttr___rarg___lambda__5___closed__3; -x_21 = l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__6(x_20, x_2, x_3, x_4, x_5, x_6, x_7, x_13); +x_20 = l_Lean_Elab_elabAttr___rarg___lambda__11___closed__3; +x_21 = l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__9(x_20, x_2, x_3, x_4, x_5, x_6, x_7, x_13); lean_dec(x_6); x_22 = !lean_is_exclusive(x_21); if (x_22 == 0) @@ -4401,8 +4885,8 @@ lean_ctor_set(x_33, 2, x_28); lean_ctor_set(x_33, 3, x_32); lean_ctor_set(x_33, 4, x_30); lean_ctor_set(x_33, 5, x_31); -x_34 = l_Lean_Elab_elabAttr___rarg___lambda__5___closed__3; -x_35 = l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__6(x_34, x_2, x_3, x_4, x_5, x_33, x_7, x_13); +x_34 = l_Lean_Elab_elabAttr___rarg___lambda__11___closed__3; +x_35 = l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__9(x_34, x_2, x_3, x_4, x_5, x_33, x_7, x_13); lean_dec(x_33); x_36 = lean_ctor_get(x_35, 0); lean_inc(x_36); @@ -4437,8 +4921,7 @@ x_41 = lean_box(0); x_42 = lean_name_mk_string(x_41, x_40); x_43 = lean_unbox(x_12); lean_dec(x_12); -x_44 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__4___lambda__1(x_1, x_43, x_42, x_2, x_3, x_4, x_5, x_6, x_7, x_13); -lean_dec(x_6); +x_44 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__4___lambda__2(x_1, x_43, x_42, x_2, x_3, x_4, x_5, x_6, x_7, x_13); return x_44; } } @@ -4468,7 +4951,7 @@ return x_48; } } } -lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__7(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__10(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { uint8_t x_12; @@ -4545,7 +5028,7 @@ x_11 = lean_usize_of_nat(x_10); lean_dec(x_10); x_12 = 0; x_13 = l_Array_empty___closed__1; -x_14 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__7(x_9, x_11, x_12, x_13, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +x_14 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__10(x_9, x_11, x_12, x_13, x_2, x_3, x_4, x_5, x_6, x_7, x_8); lean_dec(x_9); if (lean_obj_tag(x_14) == 0) { @@ -4604,7 +5087,7 @@ lean_dec(x_10); return x_11; } } -lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__9(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__12(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; uint8_t x_16; @@ -4652,7 +5135,7 @@ return x_22; } } } -lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__11(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { uint8_t x_10; @@ -4664,7 +5147,7 @@ x_11 = lean_ctor_get(x_7, 3); x_12 = l_Lean_replaceRef(x_1, x_11); lean_dec(x_11); lean_ctor_set(x_7, 3, x_12); -x_13 = l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__9(x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +x_13 = l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__12(x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); lean_dec(x_7); return x_13; } @@ -4693,13 +5176,13 @@ lean_ctor_set(x_21, 2, x_16); lean_ctor_set(x_21, 3, x_20); lean_ctor_set(x_21, 4, x_18); lean_ctor_set(x_21, 5, x_19); -x_22 = l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__9(x_2, x_3, x_4, x_5, x_6, x_21, x_8, x_9); +x_22 = l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__12(x_2, x_3, x_4, x_5, x_6, x_21, x_8, x_9); lean_dec(x_21); return x_22; } } } -lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__11(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; uint8_t x_16; @@ -4747,7 +5230,7 @@ return x_22; } } } -lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__10(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__13(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { uint8_t x_10; @@ -4759,7 +5242,7 @@ x_11 = lean_ctor_get(x_7, 3); x_12 = l_Lean_replaceRef(x_1, x_11); lean_dec(x_11); lean_ctor_set(x_7, 3, x_12); -x_13 = l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__11(x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +x_13 = l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14(x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); lean_dec(x_7); return x_13; } @@ -4788,7 +5271,7 @@ lean_ctor_set(x_21, 2, x_16); lean_ctor_set(x_21, 3, x_20); lean_ctor_set(x_21, 4, x_18); lean_ctor_set(x_21, 5, x_19); -x_22 = l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__11(x_2, x_3, x_4, x_5, x_6, x_21, x_8, x_9); +x_22 = l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14(x_2, x_3, x_4, x_5, x_6, x_21, x_8, x_9); lean_dec(x_21); return x_22; } @@ -4892,7 +5375,7 @@ if (x_22 == 0) lean_object* x_23; lean_object* x_24; uint8_t x_25; lean_dec(x_6); x_23 = l_Lean_Elab_elabModifiers___rarg___lambda__3___closed__5; -x_24 = l_Lean_throwErrorAt___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8(x_17, x_23, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +x_24 = l_Lean_throwErrorAt___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__11(x_17, x_23, x_7, x_8, x_9, x_10, x_11, x_12, x_13); lean_dec(x_17); x_25 = !lean_is_exclusive(x_24); if (x_25 == 0) @@ -5014,7 +5497,7 @@ x_35 = l_Lean_KernelException_toMessageData___closed__15; x_36 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_36, 0, x_34); lean_ctor_set(x_36, 1, x_35); -x_37 = l_Lean_throwErrorAt___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__10(x_25, x_36, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +x_37 = l_Lean_throwErrorAt___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__13(x_25, x_36, x_2, x_3, x_4, x_5, x_6, x_7, x_8); lean_dec(x_25); x_38 = !lean_is_exclusive(x_37); if (x_38 == 0) @@ -5084,7 +5567,7 @@ x_53 = l_Lean_KernelException_toMessageData___closed__15; x_54 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_54, 0, x_52); lean_ctor_set(x_54, 1, x_53); -x_55 = l_Lean_throwErrorAt___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__10(x_42, x_54, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +x_55 = l_Lean_throwErrorAt___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__13(x_42, x_54, x_2, x_3, x_4, x_5, x_6, x_7, x_8); lean_dec(x_42); x_56 = lean_ctor_get(x_55, 0); lean_inc(x_56); @@ -5111,7 +5594,7 @@ return x_59; } } } -lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__12___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, uint8_t x_5, uint8_t x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16, lean_object* x_17, lean_object* x_18) { +lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__15___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, uint8_t x_5, uint8_t x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16, lean_object* x_17, lean_object* x_18) { _start: { lean_object* x_19; uint8_t x_20; lean_object* x_21; @@ -5197,7 +5680,7 @@ return x_34; } } } -static lean_object* _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__12___closed__1() { +static lean_object* _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__15___closed__1() { _start: { lean_object* x_1; lean_object* x_2; @@ -5206,7 +5689,7 @@ x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -static lean_object* _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__12___closed__2() { +static lean_object* _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__15___closed__2() { _start: { lean_object* x_1; @@ -5214,16 +5697,16 @@ x_1 = lean_mk_string("', identifiers starting with '_' are reserved to the syste return x_1; } } -static lean_object* _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__12___closed__3() { +static lean_object* _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__15___closed__3() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__12___closed__2; +x_1 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__15___closed__2; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__12(lean_object* x_1, uint8_t x_2, lean_object* x_3, uint8_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, size_t x_9, size_t x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16, lean_object* x_17, lean_object* x_18) { +lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__15(lean_object* x_1, uint8_t x_2, lean_object* x_3, uint8_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, size_t x_9, size_t x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16, lean_object* x_17, lean_object* x_18) { _start: { uint8_t x_19; @@ -5262,7 +5745,7 @@ lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_3); -x_32 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__12___lambda__1(x_1, x_21, x_3, x_20, x_2, x_4, x_5, x_6, x_7, x_11, x_31, x_12, x_13, x_14, x_15, x_30, x_17, x_18); +x_32 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__15___lambda__1(x_1, x_21, x_3, x_20, x_2, x_4, x_5, x_6, x_7, x_11, x_31, x_12, x_13, x_14, x_15, x_30, x_17, x_18); lean_dec(x_30); if (lean_obj_tag(x_32) == 0) { @@ -5318,11 +5801,11 @@ lean_dec(x_5); lean_dec(x_3); x_42 = lean_alloc_ctor(4, 1, 0); lean_ctor_set(x_42, 0, x_21); -x_43 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__12___closed__1; +x_43 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__15___closed__1; x_44 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_44, 0, x_43); lean_ctor_set(x_44, 1, x_42); -x_45 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__12___closed__3; +x_45 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__15___closed__3; x_46 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_46, 0, x_44); lean_ctor_set(x_46, 1, x_45); @@ -5363,7 +5846,7 @@ return x_52; } } } -lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__13(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__16(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; uint8_t x_16; @@ -5411,7 +5894,7 @@ return x_22; } } } -lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__1(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__1(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { _start: { lean_object* x_14; lean_object* x_15; uint8_t x_16; uint8_t x_17; uint8_t x_18; uint8_t x_19; @@ -5575,7 +6058,7 @@ size_t x_33; size_t x_34; lean_object* x_35; x_33 = 0; x_34 = lean_usize_of_nat(x_26); lean_dec(x_26); -x_35 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__12(x_4, x_2, x_5, x_19, x_21, x_22, x_29, x_25, x_33, x_34, x_3, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +x_35 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__15(x_4, x_2, x_5, x_19, x_21, x_22, x_29, x_25, x_33, x_34, x_3, x_7, x_8, x_9, x_10, x_11, x_12, x_13); lean_dec(x_25); return x_35; } @@ -5585,7 +6068,7 @@ return x_35; } } } -static lean_object* _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__2___closed__1() { +static lean_object* _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__2___closed__1() { _start: { lean_object* x_1; @@ -5593,27 +6076,27 @@ x_1 = lean_mk_string("invalid 'protected' field in a 'private' structure"); return x_1; } } -static lean_object* _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__2___closed__2() { +static lean_object* _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__2___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__2___closed__1; +x_1 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__2___closed__1; x_2 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__2___closed__3() { +static lean_object* _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__2___closed__3() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__2___closed__2; +x_1 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__2___closed__2; x_2 = lean_alloc_ctor(0, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__2(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__2(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { _start: { uint8_t x_15; @@ -5622,7 +6105,7 @@ if (x_15 == 0) { lean_object* x_16; lean_object* x_17; x_16 = lean_box(0); -x_17 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__1(x_1, x_2, x_3, x_4, x_5, x_16, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +x_17 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__1(x_1, x_2, x_3, x_4, x_5, x_16, x_8, x_9, x_10, x_11, x_12, x_13, x_14); return x_17; } else @@ -5633,7 +6116,7 @@ if (x_18 == 0) { lean_object* x_19; lean_object* x_20; x_19 = lean_box(0); -x_20 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__1(x_1, x_2, x_3, x_4, x_5, x_19, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +x_20 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__1(x_1, x_2, x_3, x_4, x_5, x_19, x_8, x_9, x_10, x_11, x_12, x_13, x_14); return x_20; } else @@ -5641,7 +6124,7 @@ else lean_object* x_21; lean_object* x_22; uint8_t x_23; lean_dec(x_5); lean_dec(x_3); -x_21 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__2___closed__3; +x_21 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__2___closed__3; x_22 = l_Lean_throwError___at_Lean_Elab_Term_elabLetDeclAux___spec__1(x_21, x_8, x_9, x_10, x_11, x_12, x_13, x_14); x_23 = !lean_is_exclusive(x_22); if (x_23 == 0) @@ -5665,7 +6148,7 @@ return x_26; } } } -static lean_object* _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__3___closed__1() { +static lean_object* _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__3___closed__1() { _start: { lean_object* x_1; @@ -5673,27 +6156,27 @@ x_1 = lean_mk_string("invalid 'private' field in a 'private' structure"); return x_1; } } -static lean_object* _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__3___closed__2() { +static lean_object* _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__3___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__3___closed__1; +x_1 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__3___closed__1; x_2 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__3___closed__3() { +static lean_object* _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__3___closed__3() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__3___closed__2; +x_1 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__3___closed__2; x_2 = lean_alloc_ctor(0, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, uint8_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, uint8_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { _start: { lean_object* x_13; lean_object* x_14; lean_object* x_15; @@ -5724,7 +6207,7 @@ if (x_20 == 0) { lean_object* x_21; lean_object* x_22; x_21 = lean_box(0); -x_22 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__2(x_1, x_5, x_2, x_3, x_16, x_4, x_21, x_6, x_7, x_8, x_9, x_10, x_11, x_19); +x_22 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__2(x_1, x_5, x_2, x_3, x_16, x_4, x_21, x_6, x_7, x_8, x_9, x_10, x_11, x_19); lean_dec(x_10); return x_22; } @@ -5736,7 +6219,7 @@ if (x_23 == 0) { lean_object* x_24; lean_object* x_25; x_24 = lean_box(0); -x_25 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__2(x_1, x_5, x_2, x_3, x_16, x_4, x_24, x_6, x_7, x_8, x_9, x_10, x_11, x_19); +x_25 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__2(x_1, x_5, x_2, x_3, x_16, x_4, x_24, x_6, x_7, x_8, x_9, x_10, x_11, x_19); lean_dec(x_10); return x_25; } @@ -5745,7 +6228,7 @@ else lean_object* x_26; lean_object* x_27; uint8_t x_28; lean_dec(x_16); lean_dec(x_2); -x_26 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__3___closed__3; +x_26 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__3___closed__3; x_27 = l_Lean_throwError___at_Lean_Elab_Term_elabLetDeclAux___spec__1(x_26, x_6, x_7, x_8, x_9, x_10, x_11, x_19); lean_dec(x_10); x_28 = !lean_is_exclusive(x_27); @@ -5823,7 +6306,7 @@ return x_39; } } } -static lean_object* _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__4___closed__1() { +static lean_object* _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__4___closed__1() { _start: { lean_object* x_1; @@ -5831,27 +6314,27 @@ x_1 = lean_mk_string("unexpected kind of structure field"); return x_1; } } -static lean_object* _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__4___closed__2() { +static lean_object* _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__4___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__4___closed__1; +x_1 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__4___closed__1; x_2 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__4___closed__3() { +static lean_object* _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__4___closed__3() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__4___closed__2; +x_1 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__4___closed__2; x_2 = lean_alloc_ctor(0, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { _start: { lean_object* x_13; lean_object* x_14; uint8_t x_15; @@ -5875,8 +6358,8 @@ if (x_19 == 0) lean_object* x_20; lean_object* x_21; uint8_t x_22; lean_dec(x_4); lean_dec(x_1); -x_20 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__4___closed__3; -x_21 = l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__13(x_20, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +x_20 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__4___closed__3; +x_21 = l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__16(x_20, x_6, x_7, x_8, x_9, x_10, x_11, x_12); lean_dec(x_10); x_22 = !lean_is_exclusive(x_21); if (x_22 == 0) @@ -5901,7 +6384,7 @@ else { uint8_t x_26; lean_object* x_27; x_26 = 3; -x_27 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__3(x_4, x_1, x_2, x_3, x_26, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +x_27 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__3(x_4, x_1, x_2, x_3, x_26, x_6, x_7, x_8, x_9, x_10, x_11, x_12); lean_dec(x_4); return x_27; } @@ -5911,7 +6394,7 @@ else uint8_t x_28; lean_object* x_29; lean_dec(x_13); x_28 = 1; -x_29 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__3(x_4, x_1, x_2, x_3, x_28, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +x_29 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__3(x_4, x_1, x_2, x_3, x_28, x_6, x_7, x_8, x_9, x_10, x_11, x_12); lean_dec(x_4); return x_29; } @@ -5921,13 +6404,13 @@ else uint8_t x_30; lean_object* x_31; lean_dec(x_13); x_30 = 0; -x_31 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__3(x_4, x_1, x_2, x_3, x_30, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +x_31 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__3(x_4, x_1, x_2, x_3, x_30, x_6, x_7, x_8, x_9, x_10, x_11, x_12); lean_dec(x_4); return x_31; } } } -static lean_object* _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___closed__1() { +static lean_object* _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___closed__1() { _start: { lean_object* x_1; lean_object* x_2; @@ -5936,7 +6419,7 @@ x_2 = lean_mk_empty_array_with_capacity(x_1); return x_2; } } -lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { _start: { uint8_t x_14; @@ -5974,7 +6457,7 @@ if (x_18 == 0) lean_object* x_27; lean_object* x_28; x_27 = lean_box(0); lean_inc(x_7); -x_28 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__4(x_6, x_2, x_1, x_15, x_27, x_7, x_8, x_9, x_10, x_26, x_12, x_13); +x_28 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__4(x_6, x_2, x_1, x_15, x_27, x_7, x_8, x_9, x_10, x_26, x_12, x_13); if (lean_obj_tag(x_28) == 0) { lean_object* x_29; lean_object* x_30; size_t x_31; size_t x_32; @@ -6032,7 +6515,7 @@ x_49 = l_Lean_Syntax_getArg(x_15, x_48); x_50 = l_prec_x28___x29___closed__7; x_51 = l_Lean_mkAtomFrom(x_15, x_50); lean_dec(x_15); -x_52 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___closed__1; +x_52 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___closed__1; x_53 = lean_array_push(x_52, x_39); x_54 = lean_array_push(x_53, x_41); x_55 = lean_array_push(x_54, x_43); @@ -6046,7 +6529,7 @@ lean_ctor_set(x_61, 0, x_60); lean_ctor_set(x_61, 1, x_59); x_62 = lean_box(0); lean_inc(x_7); -x_63 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__4(x_6, x_2, x_1, x_61, x_62, x_7, x_8, x_9, x_10, x_26, x_12, x_13); +x_63 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__4(x_6, x_2, x_1, x_61, x_62, x_7, x_8, x_9, x_10, x_26, x_12, x_13); if (lean_obj_tag(x_63) == 0) { lean_object* x_64; lean_object* x_65; size_t x_66; size_t x_67; @@ -6098,7 +6581,7 @@ return x_73; } } } -lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__15(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__18(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { _start: { uint8_t x_14; @@ -6136,7 +6619,7 @@ if (x_18 == 0) lean_object* x_27; lean_object* x_28; x_27 = lean_box(0); lean_inc(x_7); -x_28 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__4(x_6, x_2, x_1, x_15, x_27, x_7, x_8, x_9, x_10, x_26, x_12, x_13); +x_28 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__4(x_6, x_2, x_1, x_15, x_27, x_7, x_8, x_9, x_10, x_26, x_12, x_13); if (lean_obj_tag(x_28) == 0) { lean_object* x_29; lean_object* x_30; size_t x_31; size_t x_32; @@ -6194,7 +6677,7 @@ x_49 = l_Lean_Syntax_getArg(x_15, x_48); x_50 = l_prec_x28___x29___closed__7; x_51 = l_Lean_mkAtomFrom(x_15, x_50); lean_dec(x_15); -x_52 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___closed__1; +x_52 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___closed__1; x_53 = lean_array_push(x_52, x_39); x_54 = lean_array_push(x_53, x_41); x_55 = lean_array_push(x_54, x_43); @@ -6208,7 +6691,7 @@ lean_ctor_set(x_61, 0, x_60); lean_ctor_set(x_61, 1, x_59); x_62 = lean_box(0); lean_inc(x_7); -x_63 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__4(x_6, x_2, x_1, x_61, x_62, x_7, x_8, x_9, x_10, x_26, x_12, x_13); +x_63 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__4(x_6, x_2, x_1, x_61, x_62, x_7, x_8, x_9, x_10, x_26, x_12, x_13); if (lean_obj_tag(x_63) == 0) { lean_object* x_64; lean_object* x_65; size_t x_66; size_t x_67; @@ -6343,7 +6826,7 @@ x_26 = 0; x_27 = lean_usize_of_nat(x_19); lean_dec(x_19); x_28 = l_Array_empty___closed__1; -x_29 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14(x_2, x_3, x_18, x_26, x_27, x_28, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_29 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17(x_2, x_3, x_18, x_26, x_27, x_28, x_4, x_5, x_6, x_7, x_8, x_9, x_10); lean_dec(x_18); return x_29; } @@ -6384,7 +6867,7 @@ size_t x_36; lean_object* x_37; size_t x_38; lean_object* x_39; x_36 = 0; x_37 = l_Array_empty___closed__1; x_38 = l___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___closed__3; -x_39 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__15(x_2, x_3, x_37, x_36, x_38, x_37, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_39 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__18(x_2, x_3, x_37, x_36, x_38, x_37, x_4, x_5, x_6, x_7, x_8, x_9, x_10); return x_39; } } @@ -6405,11 +6888,11 @@ lean_dec(x_1); return x_9; } } -lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__6___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__7___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { lean_object* x_9; -x_9 = l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__6(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +x_9 = l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__7(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); @@ -6418,15 +6901,70 @@ lean_dec(x_3); return x_9; } } -lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__4___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__6___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +_start: +{ +lean_object* x_10; +x_10 = l_Lean_throwErrorAt___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__6(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +lean_dec(x_8); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_1); +return x_10; +} +} +lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +lean_object* x_7; +x_7 = l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8(x_1, x_2, x_3, x_4, x_5, x_6); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +return x_7; +} +} +lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__9___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +lean_object* x_9; +x_9 = l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__9(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +return x_9; +} +} +lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__4___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +_start: +{ +uint8_t x_12; lean_object* x_13; +x_12 = lean_unbox(x_2); +lean_dec(x_2); +x_13 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__4___lambda__1(x_1, x_12, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +lean_dec(x_10); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_4); +lean_dec(x_1); +return x_13; +} +} +lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__4___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { uint8_t x_11; lean_object* x_12; x_11 = lean_unbox(x_2); lean_dec(x_2); -x_12 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__4___lambda__1(x_1, x_11, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_12 = l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__4___lambda__2(x_1, x_11, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); lean_dec(x_9); -lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); @@ -6447,7 +6985,7 @@ lean_dec(x_1); return x_9; } } -lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__7___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__10___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { size_t x_12; size_t x_13; lean_object* x_14; @@ -6455,7 +6993,7 @@ x_12 = lean_unbox_usize(x_2); lean_dec(x_2); x_13 = lean_unbox_usize(x_3); lean_dec(x_3); -x_14 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__7(x_1, x_12, x_13, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +x_14 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__10(x_1, x_12, x_13, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); lean_dec(x_10); lean_dec(x_8); lean_dec(x_7); @@ -6490,11 +7028,11 @@ lean_dec(x_1); return x_9; } } -lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__9___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__12___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { lean_object* x_9; -x_9 = l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__9(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +x_9 = l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__12(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); @@ -6503,11 +7041,11 @@ lean_dec(x_3); return x_9; } } -lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__11___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { lean_object* x_10; -x_10 = l_Lean_throwErrorAt___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +x_10 = l_Lean_throwErrorAt___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__11(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); lean_dec(x_8); lean_dec(x_6); lean_dec(x_5); @@ -6516,11 +7054,11 @@ lean_dec(x_1); return x_10; } } -lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__11___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { lean_object* x_9; -x_9 = l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__11(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +x_9 = l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); @@ -6529,11 +7067,11 @@ lean_dec(x_3); return x_9; } } -lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__10___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__13___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { lean_object* x_10; -x_10 = l_Lean_throwErrorAt___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__10(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +x_10 = l_Lean_throwErrorAt___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__13(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); lean_dec(x_8); lean_dec(x_6); lean_dec(x_5); @@ -6590,7 +7128,7 @@ lean_dec(x_1); return x_9; } } -lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__12___lambda__1___boxed(lean_object** _args) { +lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__15___lambda__1___boxed(lean_object** _args) { lean_object* x_1 = _args[0]; lean_object* x_2 = _args[1]; lean_object* x_3 = _args[2]; @@ -6616,7 +7154,7 @@ x_19 = lean_unbox(x_5); lean_dec(x_5); x_20 = lean_unbox(x_6); lean_dec(x_6); -x_21 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__12___lambda__1(x_1, x_2, x_3, x_4, x_19, x_20, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16, x_17, x_18); +x_21 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__15___lambda__1(x_1, x_2, x_3, x_4, x_19, x_20, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16, x_17, x_18); lean_dec(x_17); lean_dec(x_16); lean_dec(x_15); @@ -6627,7 +7165,7 @@ lean_dec(x_1); return x_21; } } -lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__12___boxed(lean_object** _args) { +lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__15___boxed(lean_object** _args) { lean_object* x_1 = _args[0]; lean_object* x_2 = _args[1]; lean_object* x_3 = _args[2]; @@ -6657,7 +7195,7 @@ x_21 = lean_unbox_usize(x_9); lean_dec(x_9); x_22 = lean_unbox_usize(x_10); lean_dec(x_10); -x_23 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__12(x_1, x_19, x_3, x_20, x_5, x_6, x_7, x_8, x_21, x_22, x_11, x_12, x_13, x_14, x_15, x_16, x_17, x_18); +x_23 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__15(x_1, x_19, x_3, x_20, x_5, x_6, x_7, x_8, x_21, x_22, x_11, x_12, x_13, x_14, x_15, x_16, x_17, x_18); lean_dec(x_17); lean_dec(x_16); lean_dec(x_15); @@ -6668,11 +7206,11 @@ lean_dec(x_1); return x_23; } } -lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__13___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__16___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { lean_object* x_9; -x_9 = l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__13(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +x_9 = l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__16(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); @@ -6681,13 +7219,13 @@ lean_dec(x_3); return x_9; } } -lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { _start: { uint8_t x_14; lean_object* x_15; x_14 = lean_unbox(x_2); lean_dec(x_2); -x_15 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__1(x_1, x_14, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +x_15 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__1(x_1, x_14, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); @@ -6699,13 +7237,13 @@ lean_dec(x_1); return x_15; } } -lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { _start: { uint8_t x_15; lean_object* x_16; x_15 = lean_unbox(x_2); lean_dec(x_2); -x_16 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__2(x_1, x_15, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +x_16 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__2(x_1, x_15, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14); lean_dec(x_13); lean_dec(x_12); lean_dec(x_11); @@ -6718,13 +7256,13 @@ lean_dec(x_1); return x_16; } } -lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { _start: { uint8_t x_13; lean_object* x_14; x_13 = lean_unbox(x_5); lean_dec(x_5); -x_14 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__3(x_1, x_2, x_3, x_4, x_13, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +x_14 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__3(x_1, x_2, x_3, x_4, x_13, x_6, x_7, x_8, x_9, x_10, x_11, x_12); lean_dec(x_11); lean_dec(x_9); lean_dec(x_8); @@ -6735,11 +7273,11 @@ lean_dec(x_1); return x_14; } } -lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { _start: { lean_object* x_13; -x_13 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__4(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +x_13 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__4(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); lean_dec(x_11); lean_dec(x_9); lean_dec(x_8); @@ -6750,7 +7288,7 @@ lean_dec(x_2); return x_13; } } -lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { _start: { size_t x_14; size_t x_15; lean_object* x_16; @@ -6758,7 +7296,7 @@ x_14 = lean_unbox_usize(x_4); lean_dec(x_4); x_15 = lean_unbox_usize(x_5); lean_dec(x_5); -x_16 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14(x_1, x_2, x_3, x_14, x_15, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +x_16 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17(x_1, x_2, x_3, x_14, x_15, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); @@ -6770,7 +7308,7 @@ lean_dec(x_1); return x_16; } } -lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__15___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__18___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { _start: { size_t x_14; size_t x_15; lean_object* x_16; @@ -6778,7 +7316,7 @@ x_14 = lean_unbox_usize(x_4); lean_dec(x_4); x_15 = lean_unbox_usize(x_5); lean_dec(x_5); -x_16 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__15(x_1, x_2, x_3, x_14, x_15, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +x_16 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__18(x_1, x_2, x_3, x_14, x_15, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); @@ -19900,32 +20438,32 @@ l_Lean_Elab_Command_checkValidFieldModifier___closed__2 = _init_l_Lean_Elab_Comm lean_mark_persistent(l_Lean_Elab_Command_checkValidFieldModifier___closed__2); l_Lean_Elab_Command_checkValidFieldModifier___closed__3 = _init_l_Lean_Elab_Command_checkValidFieldModifier___closed__3(); lean_mark_persistent(l_Lean_Elab_Command_checkValidFieldModifier___closed__3); -l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__12___closed__1 = _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__12___closed__1(); -lean_mark_persistent(l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__12___closed__1); -l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__12___closed__2 = _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__12___closed__2(); -lean_mark_persistent(l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__12___closed__2); -l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__12___closed__3 = _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__12___closed__3(); -lean_mark_persistent(l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__12___closed__3); -l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__2___closed__1 = _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__2___closed__1(); -lean_mark_persistent(l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__2___closed__1); -l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__2___closed__2 = _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__2___closed__2(); -lean_mark_persistent(l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__2___closed__2); -l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__2___closed__3 = _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__2___closed__3(); -lean_mark_persistent(l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__2___closed__3); -l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__3___closed__1 = _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__3___closed__1(); -lean_mark_persistent(l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__3___closed__1); -l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__3___closed__2 = _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__3___closed__2(); -lean_mark_persistent(l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__3___closed__2); -l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__3___closed__3 = _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__3___closed__3(); -lean_mark_persistent(l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__3___closed__3); -l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__4___closed__1 = _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__4___closed__1(); -lean_mark_persistent(l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__4___closed__1); -l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__4___closed__2 = _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__4___closed__2(); -lean_mark_persistent(l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__4___closed__2); -l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__4___closed__3 = _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__4___closed__3(); -lean_mark_persistent(l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___lambda__4___closed__3); -l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___closed__1 = _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___closed__1(); -lean_mark_persistent(l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__14___closed__1); +l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__15___closed__1 = _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__15___closed__1(); +lean_mark_persistent(l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__15___closed__1); +l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__15___closed__2 = _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__15___closed__2(); +lean_mark_persistent(l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__15___closed__2); +l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__15___closed__3 = _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__15___closed__3(); +lean_mark_persistent(l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__15___closed__3); +l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__2___closed__1 = _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__2___closed__1(); +lean_mark_persistent(l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__2___closed__1); +l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__2___closed__2 = _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__2___closed__2(); +lean_mark_persistent(l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__2___closed__2); +l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__2___closed__3 = _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__2___closed__3(); +lean_mark_persistent(l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__2___closed__3); +l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__3___closed__1 = _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__3___closed__1(); +lean_mark_persistent(l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__3___closed__1); +l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__3___closed__2 = _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__3___closed__2(); +lean_mark_persistent(l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__3___closed__2); +l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__3___closed__3 = _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__3___closed__3(); +lean_mark_persistent(l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__3___closed__3); +l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__4___closed__1 = _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__4___closed__1(); +lean_mark_persistent(l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__4___closed__1); +l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__4___closed__2 = _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__4___closed__2(); +lean_mark_persistent(l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__4___closed__2); +l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__4___closed__3 = _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__4___closed__3(); +lean_mark_persistent(l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___lambda__4___closed__3); +l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___closed__1 = _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___closed__1(); +lean_mark_persistent(l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__17___closed__1); l___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___closed__1 = _init_l___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___closed__1(); l___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___closed__2 = _init_l___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___closed__2(); l___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___closed__3 = _init_l___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___closed__3(); diff --git a/stage0/stdlib/Lean/Elab/Term.c b/stage0/stdlib/Lean/Elab/Term.c index 22af54692b..597bca3f70 100644 --- a/stage0/stdlib/Lean/Elab/Term.c +++ b/stage0/stdlib/Lean/Elab/Term.c @@ -355,7 +355,6 @@ lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_mkConsts_match__1___ra lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_tryLiftAndCoe_match__1(lean_object*); lean_object* l_List_foldlM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_mkConsts___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Meta_commitWhen___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqEta___spec__1___closed__1; -uint8_t l_Lean_AttributeApplicationTime_beq(uint8_t, uint8_t); lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___lambda__4(lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_instInhabitedSavedState___closed__2; lean_object* l_Lean_Elab_Term_instMetaEvalTermElabM___rarg___closed__5; @@ -887,6 +886,7 @@ lean_object* l___regBuiltin_Lean_Elab_Term_elabQuotedName(lean_object*); lean_object* l_Lean_Elab_Term_instAddErrorMessageContextTermElabM___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Elab_abortExceptionId; lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_tryLiftAndCoe___closed__8; +uint8_t l___private_Lean_Attributes_0__Lean_beqAttributeApplicationTime____x40_Lean_Attributes___hyg_11_(uint8_t, uint8_t); lean_object* l_Lean_resolveGlobalName___at_Lean_Elab_Term_resolveName___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_getFVarLocalDecl_x21___closed__3; lean_object* l_Lean_mkForall(lean_object*, uint8_t, lean_object*, lean_object*); @@ -8208,7 +8208,7 @@ x_53 = lean_ctor_get_uint8(x_52, sizeof(void*)*2); lean_dec(x_52); x_54 = lean_unbox(x_51); lean_dec(x_51); -x_55 = l_Lean_AttributeApplicationTime_beq(x_54, x_53); +x_55 = l___private_Lean_Attributes_0__Lean_beqAttributeApplicationTime____x40_Lean_Attributes___hyg_11_(x_54, x_53); if (x_55 == 0) { lean_object* x_56; diff --git a/stage0/stdlib/Lean/KeyedDeclsAttribute.c b/stage0/stdlib/Lean/KeyedDeclsAttribute.c index 0fcc48e3f5..6407891963 100644 --- a/stage0/stdlib/Lean/KeyedDeclsAttribute.c +++ b/stage0/stdlib/Lean/KeyedDeclsAttribute.c @@ -114,6 +114,7 @@ lean_object* l_Std_HashMapImp_find_x3f___at_Lean_KeyedDeclsAttribute_Table_inser lean_object* l_Lean_KeyedDeclsAttribute_Def_evalKey___default___rarg___closed__2; lean_object* lean_array_fget(lean_object*, lean_object*); lean_object* l_Std_AssocList_find_x3f___at_Lean_KeyedDeclsAttribute_getValues___spec__6(lean_object*); +uint8_t l___private_Lean_Attributes_0__Lean_beqAttributeKind____x40_Lean_Attributes___hyg_107_(uint8_t, uint8_t); lean_object* l_Lean_SMap_find_x3f___at_Lean_KeyedDeclsAttribute_getValues___spec__1___rarg(lean_object*, lean_object*); lean_object* l_Lean_KeyedDeclsAttribute_instInhabitedDef___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_KeyedDeclsAttribute_Table_insert(lean_object*); @@ -5344,66 +5345,58 @@ return x_73; lean_object* l_Lean_KeyedDeclsAttribute_init___rarg___lambda__6(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, uint8_t x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { -lean_object* x_12; lean_object* x_24; -x_24 = lean_box(x_8); -if (lean_obj_tag(x_24) == 0) +uint8_t x_12; uint8_t x_13; +x_12 = 0; +x_13 = l___private_Lean_Attributes_0__Lean_beqAttributeKind____x40_Lean_Attributes___hyg_107_(x_8, x_12); +if (x_13 == 0) { -lean_object* x_25; lean_object* x_26; -lean_dec(x_5); -x_25 = lean_box(0); -x_26 = l_Lean_KeyedDeclsAttribute_init___rarg___lambda__5(x_1, x_7, x_6, x_2, x_3, x_4, x_25, x_9, x_10, x_11); -return x_26; -} -else -{ -lean_object* x_27; -lean_dec(x_24); +lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t x_20; lean_dec(x_7); lean_dec(x_6); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_27 = lean_box(0); -x_12 = x_27; -goto block_23; -} -block_23: -{ -lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; uint8_t x_19; -lean_dec(x_12); -x_13 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_13, 0, x_5); -x_14 = l_Lean_registerTagAttribute___lambda__5___closed__2; -x_15 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_15, 0, x_14); -lean_ctor_set(x_15, 1, x_13); -x_16 = l_Lean_registerTagAttribute___lambda__6___closed__2; -x_17 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_17, 0, x_15); -lean_ctor_set(x_17, 1, x_16); -x_18 = l_Lean_throwError___at_Lean_registerTagAttribute___spec__6(x_17, x_9, x_10, x_11); +x_14 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_14, 0, x_5); +x_15 = l_Lean_registerTagAttribute___lambda__5___closed__2; +x_16 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_16, 0, x_15); +lean_ctor_set(x_16, 1, x_14); +x_17 = l_Lean_registerTagAttribute___lambda__6___closed__2; +x_18 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_18, 0, x_16); +lean_ctor_set(x_18, 1, x_17); +x_19 = l_Lean_throwError___at_Lean_registerTagAttribute___spec__6(x_18, x_9, x_10, x_11); lean_dec(x_10); lean_dec(x_9); -x_19 = !lean_is_exclusive(x_18); -if (x_19 == 0) +x_20 = !lean_is_exclusive(x_19); +if (x_20 == 0) { -return x_18; +return x_19; } else { -lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_20 = lean_ctor_get(x_18, 0); -x_21 = lean_ctor_get(x_18, 1); +lean_object* x_21; lean_object* x_22; lean_object* x_23; +x_21 = lean_ctor_get(x_19, 0); +x_22 = lean_ctor_get(x_19, 1); +lean_inc(x_22); lean_inc(x_21); -lean_inc(x_20); -lean_dec(x_18); -x_22 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_22, 0, x_20); -lean_ctor_set(x_22, 1, x_21); -return x_22; +lean_dec(x_19); +x_23 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_23, 0, x_21); +lean_ctor_set(x_23, 1, x_22); +return x_23; } } +else +{ +lean_object* x_24; lean_object* x_25; +lean_dec(x_5); +x_24 = lean_box(0); +x_25 = l_Lean_KeyedDeclsAttribute_init___rarg___lambda__5(x_1, x_7, x_6, x_2, x_3, x_4, x_24, x_9, x_10, x_11); +return x_25; +} } } static lean_object* _init_l_Lean_KeyedDeclsAttribute_init___rarg___closed__1() { diff --git a/stage0/stdlib/Lean/Meta/Instances.c b/stage0/stdlib/Lean/Meta/Instances.c index 56b1ea6151..6ba1ff561c 100644 --- a/stage0/stdlib/Lean/Meta/Instances.c +++ b/stage0/stdlib/Lean/Meta/Instances.c @@ -114,6 +114,7 @@ lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Instances___hyg_628____lambda__ lean_object* lean_array_fget(lean_object*, lean_object*); extern lean_object* l___private_Init_Data_Array_BinSearch_0__Array_binInsertAux___at___private_Lean_Meta_DiscrTree_0__Lean_Meta_DiscrTree_insertAux___spec__3___rarg___closed__1; uint8_t lean_nat_dec_eq(lean_object*, lean_object*); +uint8_t l___private_Lean_Attributes_0__Lean_beqAttributeKind____x40_Lean_Attributes___hyg_107_(uint8_t, uint8_t); lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Instances___hyg_65_(lean_object*); lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Instances___hyg_179_(lean_object*); lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Instances___hyg_373_(lean_object*); @@ -6825,52 +6826,44 @@ return x_2; lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Instances___hyg_628____lambda__2(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { -lean_object* x_7; lean_object* x_15; -x_15 = lean_box(x_2); -if (lean_obj_tag(x_15) == 0) +uint8_t x_7; uint8_t x_8; +x_7 = 0; +x_8 = l___private_Lean_Attributes_0__Lean_beqAttributeKind____x40_Lean_Attributes___hyg_107_(x_2, x_7); +if (x_8 == 0) { -lean_object* x_16; lean_object* x_17; -x_16 = lean_box(0); -x_17 = l_Lean_Meta_initFn____x40_Lean_Meta_Instances___hyg_628____lambda__1(x_1, x_3, x_16, x_4, x_5, x_6); -return x_17; -} -else -{ -lean_object* x_18; -lean_dec(x_15); +lean_object* x_9; lean_object* x_10; uint8_t x_11; lean_dec(x_3); lean_dec(x_1); -x_18 = lean_box(0); -x_7 = x_18; -goto block_14; -} -block_14: -{ -lean_object* x_8; lean_object* x_9; uint8_t x_10; -lean_dec(x_7); -x_8 = l_Lean_Meta_initFn____x40_Lean_Meta_Instances___hyg_628____lambda__2___closed__3; -x_9 = l_Lean_throwError___at_Lean_registerTagAttribute___spec__5(x_8, x_4, x_5, x_6); +x_9 = l_Lean_Meta_initFn____x40_Lean_Meta_Instances___hyg_628____lambda__2___closed__3; +x_10 = l_Lean_throwError___at_Lean_registerTagAttribute___spec__5(x_9, x_4, x_5, x_6); lean_dec(x_5); lean_dec(x_4); -x_10 = !lean_is_exclusive(x_9); -if (x_10 == 0) +x_11 = !lean_is_exclusive(x_10); +if (x_11 == 0) { -return x_9; +return x_10; } else { -lean_object* x_11; lean_object* x_12; lean_object* x_13; -x_11 = lean_ctor_get(x_9, 0); -x_12 = lean_ctor_get(x_9, 1); +lean_object* x_12; lean_object* x_13; lean_object* x_14; +x_12 = lean_ctor_get(x_10, 0); +x_13 = lean_ctor_get(x_10, 1); +lean_inc(x_13); lean_inc(x_12); -lean_inc(x_11); -lean_dec(x_9); -x_13 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_13, 0, x_11); -lean_ctor_set(x_13, 1, x_12); -return x_13; +lean_dec(x_10); +x_14 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_14, 0, x_12); +lean_ctor_set(x_14, 1, x_13); +return x_14; } } +else +{ +lean_object* x_15; lean_object* x_16; +x_15 = lean_box(0); +x_16 = l_Lean_Meta_initFn____x40_Lean_Meta_Instances___hyg_628____lambda__1(x_1, x_3, x_15, x_4, x_5, x_6); +return x_16; +} } } static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Instances___hyg_628____lambda__3___closed__1() { diff --git a/stage0/stdlib/Lean/Parser/Extension.c b/stage0/stdlib/Lean/Parser/Extension.c index 3f32ce2c49..c946b2a568 100644 --- a/stage0/stdlib/Lean/Parser/Extension.c +++ b/stage0/stdlib/Lean/Parser/Extension.c @@ -205,6 +205,7 @@ lean_object* l_Lean_Parser_mkParserAttributeImpl___elambda__1(lean_object*); lean_object* lean_array_fget(lean_object*, lean_object*); lean_object* l_Lean_Parser_compileParserDescr_visit_match__2___rarg(lean_object*, lean_object*, lean_object*); uint8_t lean_nat_dec_eq(lean_object*, lean_object*); +uint8_t l___private_Lean_Attributes_0__Lean_beqAttributeKind____x40_Lean_Attributes___hyg_107_(uint8_t, uint8_t); lean_object* l_Lean_Parser_getBinaryAlias___rarg___boxed(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_updateBuiltinTokens___closed__2; lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_ParserAttribute_add___boxed(lean_object*); @@ -12212,62 +12213,60 @@ x_10 = l_Lean_ofExcept___at___private_Lean_Parser_Extension_0__Lean_Parser_Built lean_dec(x_9); if (lean_obj_tag(x_10) == 0) { -lean_object* x_11; -x_11 = lean_box(x_5); -if (lean_obj_tag(x_11) == 0) -{ -lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; -lean_dec(x_1); -x_12 = lean_ctor_get(x_10, 0); +lean_object* x_11; lean_object* x_12; uint8_t x_13; uint8_t x_14; +x_11 = lean_ctor_get(x_10, 0); +lean_inc(x_11); +x_12 = lean_ctor_get(x_10, 1); lean_inc(x_12); -x_13 = lean_ctor_get(x_10, 1); -lean_inc(x_13); lean_dec(x_10); -x_14 = lean_box(0); -x_15 = l___private_Lean_Parser_Extension_0__Lean_Parser_BuiltinParserAttribute_add___lambda__2(x_3, x_2, x_12, x_14, x_6, x_7, x_13); -return x_15; -} -else +x_13 = 0; +x_14 = l___private_Lean_Attributes_0__Lean_beqAttributeKind____x40_Lean_Attributes___hyg_107_(x_5, x_13); +if (x_14 == 0) { -lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; uint8_t x_23; +lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; uint8_t x_21; lean_dec(x_11); lean_dec(x_3); lean_dec(x_2); -x_16 = lean_ctor_get(x_10, 1); -lean_inc(x_16); -lean_dec(x_10); -x_17 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_17, 0, x_1); -x_18 = l_Lean_registerTagAttribute___lambda__5___closed__2; +x_15 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_15, 0, x_1); +x_16 = l_Lean_registerTagAttribute___lambda__5___closed__2; +x_17 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_17, 0, x_16); +lean_ctor_set(x_17, 1, x_15); +x_18 = l_Lean_registerTagAttribute___lambda__6___closed__2; x_19 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_19, 0, x_18); -lean_ctor_set(x_19, 1, x_17); -x_20 = l_Lean_registerTagAttribute___lambda__6___closed__2; -x_21 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_21, 0, x_19); -lean_ctor_set(x_21, 1, x_20); -x_22 = l_Lean_throwError___at_Lean_registerTagAttribute___spec__6(x_21, x_6, x_7, x_16); +lean_ctor_set(x_19, 0, x_17); +lean_ctor_set(x_19, 1, x_18); +x_20 = l_Lean_throwError___at_Lean_registerTagAttribute___spec__6(x_19, x_6, x_7, x_12); lean_dec(x_7); lean_dec(x_6); -x_23 = !lean_is_exclusive(x_22); -if (x_23 == 0) +x_21 = !lean_is_exclusive(x_20); +if (x_21 == 0) { -return x_22; +return x_20; } else { -lean_object* x_24; lean_object* x_25; lean_object* x_26; -x_24 = lean_ctor_get(x_22, 0); -x_25 = lean_ctor_get(x_22, 1); -lean_inc(x_25); -lean_inc(x_24); -lean_dec(x_22); -x_26 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_26, 0, x_24); -lean_ctor_set(x_26, 1, x_25); -return x_26; +lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_22 = lean_ctor_get(x_20, 0); +x_23 = lean_ctor_get(x_20, 1); +lean_inc(x_23); +lean_inc(x_22); +lean_dec(x_20); +x_24 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_24, 0, x_22); +lean_ctor_set(x_24, 1, x_23); +return x_24; } } +else +{ +lean_object* x_25; lean_object* x_26; +lean_dec(x_1); +x_25 = lean_box(0); +x_26 = l___private_Lean_Parser_Extension_0__Lean_Parser_BuiltinParserAttribute_add___lambda__2(x_3, x_2, x_11, x_25, x_6, x_7, x_12); +return x_26; +} } else { diff --git a/stage0/stdlib/Lean/ReducibilityAttrs.c b/stage0/stdlib/Lean/ReducibilityAttrs.c index e15bec843a..1c2db0793f 100644 --- a/stage0/stdlib/Lean/ReducibilityAttrs.c +++ b/stage0/stdlib/Lean/ReducibilityAttrs.c @@ -67,6 +67,7 @@ lean_object* l_List_map___at_Lean_initFn____x40_Lean_ReducibilityAttrs___hyg_11_ extern lean_object* l_Lean_registerTagAttribute___closed__5; lean_object* l_Lean_reducibilityAttrs; uint8_t lean_nat_dec_eq(lean_object*, lean_object*); +uint8_t l___private_Lean_Attributes_0__Lean_beqAttributeKind____x40_Lean_Attributes___hyg_107_(uint8_t, uint8_t); lean_object* l_Array_qpartition_loop___at_Lean_initFn____x40_Lean_ReducibilityAttrs___hyg_11____spec__4___closed__1; lean_object* lean_nat_sub(lean_object*, lean_object*); lean_object* lean_array_swap(lean_object*, lean_object*, lean_object*); @@ -709,62 +710,54 @@ return x_26; lean_object* l_List_map___at_Lean_initFn____x40_Lean_ReducibilityAttrs___hyg_11____spec__7___lambda__3(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, uint8_t x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { -lean_object* x_11; lean_object* x_23; -x_23 = lean_box(x_7); -if (lean_obj_tag(x_23) == 0) +uint8_t x_11; uint8_t x_12; +x_11 = 0; +x_12 = l___private_Lean_Attributes_0__Lean_beqAttributeKind____x40_Lean_Attributes___hyg_107_(x_7, x_11); +if (x_12 == 0) { -lean_object* x_24; lean_object* x_25; -x_24 = lean_box(0); -x_25 = l_List_map___at_Lean_initFn____x40_Lean_ReducibilityAttrs___hyg_11____spec__7___lambda__2(x_1, x_5, x_2, x_3, x_4, x_24, x_8, x_9, x_10); -return x_25; -} -else -{ -lean_object* x_26; -lean_dec(x_23); +lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; uint8_t x_19; lean_dec(x_5); lean_dec(x_3); lean_dec(x_1); -x_26 = lean_box(0); -x_11 = x_26; -goto block_22; -} -block_22: -{ -lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18; -lean_dec(x_11); -x_12 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_12, 0, x_4); -x_13 = l_Lean_registerTagAttribute___lambda__5___closed__2; -x_14 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_14, 0, x_13); -lean_ctor_set(x_14, 1, x_12); -x_15 = l_Lean_registerTagAttribute___lambda__6___closed__2; -x_16 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_16, 0, x_14); -lean_ctor_set(x_16, 1, x_15); -x_17 = l_Lean_throwError___at_Lean_registerTagAttribute___spec__6(x_16, x_8, x_9, x_10); +x_13 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_13, 0, x_4); +x_14 = l_Lean_registerTagAttribute___lambda__5___closed__2; +x_15 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_15, 0, x_14); +lean_ctor_set(x_15, 1, x_13); +x_16 = l_Lean_registerTagAttribute___lambda__6___closed__2; +x_17 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_17, 0, x_15); +lean_ctor_set(x_17, 1, x_16); +x_18 = l_Lean_throwError___at_Lean_registerTagAttribute___spec__6(x_17, x_8, x_9, x_10); lean_dec(x_9); lean_dec(x_8); -x_18 = !lean_is_exclusive(x_17); -if (x_18 == 0) +x_19 = !lean_is_exclusive(x_18); +if (x_19 == 0) { -return x_17; +return x_18; } else { -lean_object* x_19; lean_object* x_20; lean_object* x_21; -x_19 = lean_ctor_get(x_17, 0); -x_20 = lean_ctor_get(x_17, 1); +lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_20 = lean_ctor_get(x_18, 0); +x_21 = lean_ctor_get(x_18, 1); +lean_inc(x_21); lean_inc(x_20); -lean_inc(x_19); -lean_dec(x_17); -x_21 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_21, 0, x_19); -lean_ctor_set(x_21, 1, x_20); -return x_21; +lean_dec(x_18); +x_22 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_22, 0, x_20); +lean_ctor_set(x_22, 1, x_21); +return x_22; } } +else +{ +lean_object* x_23; lean_object* x_24; +x_23 = lean_box(0); +x_24 = l_List_map___at_Lean_initFn____x40_Lean_ReducibilityAttrs___hyg_11____spec__7___lambda__2(x_1, x_5, x_2, x_3, x_4, x_23, x_8, x_9, x_10); +return x_24; +} } } lean_object* l_List_map___at_Lean_initFn____x40_Lean_ReducibilityAttrs___hyg_11____spec__7(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4) {