From ecad25e08f2288dc6573a54fa820ec6276153a52 Mon Sep 17 00:00:00 2001 From: Leonardo de Moura Date: Mon, 12 Apr 2021 22:56:56 -0700 Subject: [PATCH] chore: update stage0 --- stage0/src/Lean/Elab/Tactic/Basic.lean | 1 + stage0/src/Lean/Elab/Term.lean | 27 +- stage0/stdlib/Lean/Elab/Tactic/Basic.c | 98 ++-- stage0/stdlib/Lean/Elab/Term.c | 619 +++++++++++++++++-------- 4 files changed, 501 insertions(+), 244 deletions(-) diff --git a/stage0/src/Lean/Elab/Tactic/Basic.lean b/stage0/src/Lean/Elab/Tactic/Basic.lean index 9eab27564e..e05790da44 100644 --- a/stage0/src/Lean/Elab/Tactic/Basic.lean +++ b/stage0/src/Lean/Elab/Tactic/Basic.lean @@ -454,6 +454,7 @@ where private def getIntrosSize : Expr → Nat | Expr.forallE _ _ b _ => getIntrosSize b + 1 | Expr.letE _ _ _ b _ => getIntrosSize b + 1 + | Expr.mdata _ b _ => getIntrosSize b | _ => 0 /- Recall that `ident' := ident <|> Term.hole` -/ diff --git a/stage0/src/Lean/Elab/Term.lean b/stage0/src/Lean/Elab/Term.lean index fd6f4c1f32..1b6f3193f7 100644 --- a/stage0/src/Lean/Elab/Term.lean +++ b/stage0/src/Lean/Elab/Term.lean @@ -1009,11 +1009,22 @@ private def isTacticBlock (stx : Syntax) : Bool := | `(by $x:tacticSeq) => true | _ => false +private def isNoImplicitLambda (stx : Syntax) : Bool := + match stx with + | `(noImplicitLambda% $x:term) => true + | _ => false + +def mkNoImplicitLambdaAnnotation (type : Expr) : Expr := + mkAnnotation `noImplicitLambda type + +def hasNoImplicitLambdaAnnotation (type : Expr) : Bool := + annotation? `noImplicitLambda type |>.isSome + /-- Block usage of implicit lambdas if `stx` is `@f` or `@f arg1 ...` or `fun` with an implicit binder annotation. -/ def blockImplicitLambda (stx : Syntax) : Bool := let stx := dropTermParens stx -- TODO: make it extensible - isExplicit stx || isExplicitApp stx || isLambdaWithImplicit stx || isHole stx || isTacticBlock stx + isExplicit stx || isExplicitApp stx || isLambdaWithImplicit stx || isHole stx || isTacticBlock stx || isNoImplicitLambda stx /-- Return normalized expected type if it is of the form `{a : α} → β` or `[a : α] → β` and @@ -1023,10 +1034,13 @@ private def useImplicitLambda? (stx : Syntax) (expectedType? : Option Expr) : Te pure none else match expectedType? with | some expectedType => do - let expectedType ← whnfForall expectedType - match expectedType with - | Expr.forallE _ _ _ c => if c.binderInfo.isExplicit then pure none else pure $ some expectedType - | _ => pure none + if hasNoImplicitLambdaAnnotation expectedType then + pure none + else + let expectedType ← whnfForall expectedType + match expectedType with + | Expr.forallE _ _ _ c => if c.binderInfo.isExplicit then pure none else pure $ some expectedType + | _ => pure none | _ => pure none private def elabImplicitLambdaAux (stx : Syntax) (catchExPostpone : Bool) (expectedType : Expr) (fvars : Array Expr) : TermElabM Expr := do @@ -1328,6 +1342,9 @@ private def mkTacticMVar (type : Expr) (tacticCode : Syntax) : TermElabM Expr := | some expectedType => mkTacticMVar expectedType stx | none => throwError ("invalid 'by' tactic, expected type has not been provided") +@[builtinTermElab noImplicitLambda] def elabNoImplicitLambda : TermElab := fun stx expectedType? => + elabTerm stx[1] (mkNoImplicitLambdaAnnotation <$> expectedType?) + def resolveLocalName (n : Name) : TermElabM (Option (Expr × List String)) := do let lctx ← getLCtx let view := extractMacroScopes n diff --git a/stage0/stdlib/Lean/Elab/Tactic/Basic.c b/stage0/stdlib/Lean/Elab/Tactic/Basic.c index 447df1713b..78bf18d948 100644 --- a/stage0/stdlib/Lean/Elab/Tactic/Basic.c +++ b/stage0/stdlib/Lean/Elab/Tactic/Basic.c @@ -145,7 +145,7 @@ extern lean_object* l_myMacro____x40_Init_Notation___hyg_13954____closed__1; lean_object* l___regBuiltin_Lean_Elab_Tactic_evalCase___closed__1; lean_object* l_List_forIn_loop___at_Lean_Elab_Tactic_tagUntaggedGoals___spec__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_Lean_Meta_subst(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l___private_Lean_Elab_Tactic_Basic_0__Lean_Elab_Tactic_getIntrosSize_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l___private_Lean_Elab_Tactic_Basic_0__Lean_Elab_Tactic_getIntrosSize_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Tactic_evalIntro(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_Elab_Tactic_evalIntro___spec__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Tactic_Basic_0__Lean_Elab_Tactic_findTag_x3f_match__1(lean_object*); @@ -415,6 +415,7 @@ extern lean_object* l_Lean_instInhabitedSyntax; lean_object* l_Lean_Elab_OpenDecl_elabOpenDecl___at_Lean_Elab_Tactic_evalOpen___spec__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_Meta_assumption(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_introNCore(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_Tactic_initFn____x40_Lean_Elab_Tactic_Basic___hyg_5000____closed__1; lean_object* l___private_Lean_Elab_Tactic_Basic_0__Lean_Elab_Tactic_getIntrosSize(lean_object*); lean_object* l_Lean_Elab_mkElabAttribute___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Tactic_evalFirst___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*); @@ -599,7 +600,7 @@ lean_object* l___regBuiltin_Lean_Elab_Tactic_evalFirst___closed__1; lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Tactic_evalOpen___spec__21___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_Tactic_closeMainGoal(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_Tactic_tryTactic___rarg(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_Tactic_initFn____x40_Lean_Elab_Tactic_Basic___hyg_4987_(lean_object*); +lean_object* l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Basic___hyg_5000_(lean_object*); lean_object* l_Lean_Meta_getMVarDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_withPPInaccessibleNames___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_throwNoGoalsToBeSolved___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -691,7 +692,6 @@ lean_object* l_Lean_pushScope___at_Lean_Elab_Tactic_evalOpen___spec__1___boxed(l lean_object* l_Lean_Elab_Tactic_evalIntros_match__1___rarg(lean_object*, lean_object*); extern lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_1131____closed__1; lean_object* l_Lean_indentExpr(lean_object*); -lean_object* l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Basic___hyg_4987____closed__1; lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_elabSetOption___spec__7(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_Tactic_getMainModule___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Tactic_getFVarId___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -19862,53 +19862,72 @@ x_5 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_1); return x_5; } } -lean_object* l___private_Lean_Elab_Tactic_Basic_0__Lean_Elab_Tactic_getIntrosSize_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +lean_object* l___private_Lean_Elab_Tactic_Basic_0__Lean_Elab_Tactic_getIntrosSize_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { switch (lean_obj_tag(x_1)) { case 7: { -lean_object* x_5; lean_object* x_6; lean_object* x_7; uint64_t x_8; lean_object* x_9; lean_object* x_10; +lean_object* x_6; lean_object* x_7; lean_object* x_8; uint64_t x_9; lean_object* x_10; lean_object* x_11; +lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_5 = lean_ctor_get(x_1, 0); -lean_inc(x_5); -x_6 = lean_ctor_get(x_1, 1); +x_6 = lean_ctor_get(x_1, 0); lean_inc(x_6); -x_7 = lean_ctor_get(x_1, 2); +x_7 = lean_ctor_get(x_1, 1); lean_inc(x_7); -x_8 = lean_ctor_get_uint64(x_1, sizeof(void*)*3); +x_8 = lean_ctor_get(x_1, 2); +lean_inc(x_8); +x_9 = lean_ctor_get_uint64(x_1, sizeof(void*)*3); lean_dec(x_1); -x_9 = lean_box_uint64(x_8); -x_10 = lean_apply_4(x_2, x_5, x_6, x_7, x_9); -return x_10; +x_10 = lean_box_uint64(x_9); +x_11 = lean_apply_4(x_2, x_6, x_7, x_8, x_10); +return x_11; } case 8: { -lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; uint64_t x_15; lean_object* x_16; lean_object* x_17; +lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; uint64_t x_16; lean_object* x_17; lean_object* x_18; +lean_dec(x_5); lean_dec(x_4); lean_dec(x_2); -x_11 = lean_ctor_get(x_1, 0); -lean_inc(x_11); -x_12 = lean_ctor_get(x_1, 1); +x_12 = lean_ctor_get(x_1, 0); lean_inc(x_12); -x_13 = lean_ctor_get(x_1, 2); +x_13 = lean_ctor_get(x_1, 1); lean_inc(x_13); -x_14 = lean_ctor_get(x_1, 3); +x_14 = lean_ctor_get(x_1, 2); lean_inc(x_14); -x_15 = lean_ctor_get_uint64(x_1, sizeof(void*)*4); +x_15 = lean_ctor_get(x_1, 3); +lean_inc(x_15); +x_16 = lean_ctor_get_uint64(x_1, sizeof(void*)*4); lean_dec(x_1); -x_16 = lean_box_uint64(x_15); -x_17 = lean_apply_5(x_3, x_11, x_12, x_13, x_14, x_16); -return x_17; +x_17 = lean_box_uint64(x_16); +x_18 = lean_apply_5(x_3, x_12, x_13, x_14, x_15, x_17); +return x_18; +} +case 10: +{ +lean_object* x_19; lean_object* x_20; uint64_t x_21; lean_object* x_22; lean_object* x_23; +lean_dec(x_5); +lean_dec(x_3); +lean_dec(x_2); +x_19 = lean_ctor_get(x_1, 0); +lean_inc(x_19); +x_20 = lean_ctor_get(x_1, 1); +lean_inc(x_20); +x_21 = lean_ctor_get_uint64(x_1, sizeof(void*)*2); +lean_dec(x_1); +x_22 = lean_box_uint64(x_21); +x_23 = lean_apply_3(x_4, x_19, x_20, x_22); +return x_23; } default: { -lean_object* x_18; +lean_object* x_24; +lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_18 = lean_apply_1(x_4, x_1); -return x_18; +x_24 = lean_apply_1(x_5, x_1); +return x_24; } } } @@ -19917,7 +19936,7 @@ lean_object* l___private_Lean_Elab_Tactic_Basic_0__Lean_Elab_Tactic_getIntrosSiz _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l___private_Lean_Elab_Tactic_Basic_0__Lean_Elab_Tactic_getIntrosSize_match__1___rarg), 4, 0); +x_2 = lean_alloc_closure((void*)(l___private_Lean_Elab_Tactic_Basic_0__Lean_Elab_Tactic_getIntrosSize_match__1___rarg), 5, 0); return x_2; } } @@ -19945,11 +19964,18 @@ x_9 = lean_nat_add(x_7, x_8); lean_dec(x_7); return x_9; } -default: +case 10: { lean_object* x_10; -x_10 = lean_unsigned_to_nat(0u); -return x_10; +x_10 = lean_ctor_get(x_1, 1); +x_1 = x_10; +goto _start; +} +default: +{ +lean_object* x_12; +x_12 = lean_unsigned_to_nat(0u); +return x_12; } } } @@ -23722,7 +23748,7 @@ x_5 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_1); return x_5; } } -static lean_object* _init_l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Basic___hyg_4987____closed__1() { +static lean_object* _init_l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Basic___hyg_5000____closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -23732,11 +23758,11 @@ x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -lean_object* l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Basic___hyg_4987_(lean_object* x_1) { +lean_object* l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Basic___hyg_5000_(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; -x_2 = l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Basic___hyg_4987____closed__1; +x_2 = l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Basic___hyg_5000____closed__1; x_3 = l_Lean_registerTraceClass(x_2, x_1); return x_3; } @@ -24211,9 +24237,9 @@ lean_mark_persistent(l___regBuiltin_Lean_Elab_Tactic_evalFirst___closed__1); res = l___regBuiltin_Lean_Elab_Tactic_evalFirst(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Basic___hyg_4987____closed__1 = _init_l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Basic___hyg_4987____closed__1(); -lean_mark_persistent(l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Basic___hyg_4987____closed__1); -res = l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Basic___hyg_4987_(lean_io_mk_world()); +l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Basic___hyg_5000____closed__1 = _init_l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Basic___hyg_5000____closed__1(); +lean_mark_persistent(l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Basic___hyg_5000____closed__1); +res = l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Basic___hyg_5000_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); return lean_io_result_mk_ok(lean_box(0)); diff --git a/stage0/stdlib/Lean/Elab/Term.c b/stage0/stdlib/Lean/Elab/Term.c index 0680e36381..ed9b019159 100644 --- a/stage0/stdlib/Lean/Elab/Term.c +++ b/stage0/stdlib/Lean/Elab/Term.c @@ -109,6 +109,7 @@ lean_object* l_Lean_Elab_Term_elabNumLit___lambda__1___boxed(lean_object*, lean_ lean_object* l_Lean_Elab_Term_saveState___boxed(lean_object*); extern lean_object* l_Lean_withIncRecDepth___rarg___lambda__2___closed__2; lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Term_0__Lean_Elab_Term_throwStuckAtUniverseCnstr___spec__11___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_initFn____x40_Lean_Elab_Term___hyg_12727____closed__1; lean_object* l_Lean_Elab_Term_autoLift; lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_throwStuckAtUniverseCnstr___closed__3; lean_object* l_Std_mkHashSet___at___private_Lean_Elab_Term_0__Lean_Elab_Term_throwStuckAtUniverseCnstr___spec__1(lean_object*); @@ -232,6 +233,7 @@ extern lean_object* l_Array_empty___closed__1; lean_object* lean_environment_find(lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_MVarErrorInfo_logError_appendExtra___boxed(lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_State_infoState___default; +uint8_t l_Lean_Elab_Term_hasNoImplicitLambdaAnnotation(lean_object*); extern lean_object* l_Lean_Meta_isCoeDecl___closed__14; lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabUsingElabFns___closed__4; extern lean_object* l_Lean_Meta_mkSorry___closed__4; @@ -272,6 +274,7 @@ 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* l___private_Lean_Elab_Term_0__Lean_Elab_Term_useImplicitLambda_x3f_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_withSavedContext___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_annotation_x3f(lean_object*, lean_object*); extern lean_object* l_Lean_MessageData_nil; lean_object* l_Lean_Elab_logAt___at_Lean_Elab_Term_traceAtCmdPos___spec__3(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Declaration_foldExprM___at_Lean_Elab_Term_evalExpr___spec__9___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -397,6 +400,7 @@ extern lean_object* l_Lean_auxRecExt; lean_object* l_Lean_Elab_Term_resolveName_x27_match__2(lean_object*); lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_useImplicitLambda_x3f_match__1(lean_object*); lean_object* l_Lean_Meta_mkAppOptM(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_8446____closed__1; lean_object* l_Std_PersistentArray_forMAux___at_Lean_Elab_Term_instMetaEvalTermElabM___spec__6___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_instMonadQuotationTermElabM___closed__4; lean_object* l_Lean_throwError___at_Lean_Elab_Term_elabNumLit___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -433,7 +437,6 @@ lean_object* l_Lean_Elab_Term_observing___rarg(lean_object*, lean_object*, lean_ lean_object* l_Lean_Elab_log___at_Lean_Elab_Term_elabOpen___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* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_elabOpen___spec__19(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Elab_logDbgTrace___rarg___closed__1; -lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_12646____closed__1; lean_object* l_Lean_Elab_Term_elabBadCDot___rarg(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_Std_HashSetImp_moveEntries___at___private_Lean_Elab_Term_0__Lean_Elab_Term_throwStuckAtUniverseCnstr___spec__6(lean_object*, lean_object*, lean_object*); @@ -492,6 +495,7 @@ lean_object* l_Lean_Elab_Term_mkTermElabAttributeUnsafe___closed__5; lean_object* l_Lean_Elab_Term_tryPostponeIfNoneOrMVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_ResolveName_resolveNamespace_x3f(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_forIn_loop___at_Lean_Elab_Term_resolveName_x27___spec__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___regBuiltin_Lean_Elab_Term_elabNoImplicitLambda(lean_object*); lean_object* l_Lean_Elab_logTrace___at_Lean_Elab_Term_traceAtCmdPos___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Std_PersistentHashMap_findAux___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabUsingElabFns___spec__4___boxed(lean_object*, lean_object*, lean_object*); extern lean_object* l_myMacro____x40_Init_Notation___hyg_13954____closed__12; @@ -543,6 +547,7 @@ uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Elab_Term_0__Lean_Elab_Term_i lean_object* l_Lean_Elab_Term_withMacroExpansion(lean_object*); lean_object* l_Lean_Elab_Term_getMessageLog(lean_object*); lean_object* lean_st_ref_take(lean_object*, lean_object*); +lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_isNoImplicitLambda___boxed(lean_object*); lean_object* l_Lean_getOptionDecl(lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_elabPipeCompletion___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_Term_MVarErrorInfo_logError___closed__2; @@ -584,6 +589,7 @@ lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabImplicitLambdaAux_ lean_object* l_Lean_Elab_logException___at___private_Lean_Elab_Term_0__Lean_Elab_Term_exceptionToSorry___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_isStrLit_x3f(lean_object*); lean_object* l_Lean_throwError___at_Lean_Elab_Term_evalExpr___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Elab_Term_mkNoImplicitLambdaAnnotation(lean_object*); lean_object* l_Lean_Elab_logAt___at___private_Lean_Elab_Term_0__Lean_Elab_Term_exceptionToSorry___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* l_Lean_Elab_Term_mkTypeMismatchError___closed__1; lean_object* l_Lean_Elab_Term_synthesizeInstMVarCore___closed__3; @@ -611,6 +617,7 @@ lean_object* l_Lean_Elab_Term_elabQuotedName(lean_object*, lean_object*, lean_ob lean_object* l_List_forIn_loop___at_Lean_Elab_Term_logUnassignedUsingErrorInfos___spec__5___lambda__3(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Level_any(lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_instMonadInfoTreeTermElabM___closed__4; +lean_object* l_Lean_mkAnnotation(lean_object*, lean_object*); extern lean_object* l_Lean_Meta_instMetaEvalMetaM___rarg___closed__2; lean_object* l_Lean_Elab_log___at___private_Lean_Elab_Term_0__Lean_Elab_Term_exceptionToSorry___spec__3(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_withAutoBoundImplicit(lean_object*); @@ -634,6 +641,7 @@ lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_Term_0__Lean_Ela 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*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_addTrace___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___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_Elab_Term_elabNoImplicitLambda___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_getMVarDecl___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_fvarId_x21(lean_object*); lean_object* l_Lean_Elab_Term_synthesizeInstMVarCore___closed__7; @@ -705,7 +713,7 @@ lean_object* l_Lean_Elab_Term_mkTypeMismatchError_match__1___rarg(lean_object*, lean_object* l___regBuiltin_Lean_Elab_Term_elabCharLit(lean_object*); lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabOptLevel___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabUsingElabFnsAux_match__2___rarg(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_8378_(lean_object*); +lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_8446_(lean_object*); lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_3491_(lean_object*); lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_3469_(lean_object*); lean_object* l_Lean_mkAuxName___at_Lean_Elab_Term_mkAuxName___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -868,6 +876,7 @@ lean_object* l_Lean_Elab_Term_throwTypeMismatchError_match__1___rarg(lean_object lean_object* l_Std_PersistentArray_forIn___at_Lean_Elab_Term_addAutoBoundImplicits___spec__2(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_Term_0__Lean_Elab_Term_throwStuckAtUniverseCnstr_mkMessage(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___lambda__3(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*); +extern lean_object* l_Lean_Parser_Term_noImplicitLambda___elambda__1___closed__2; lean_object* l_Lean_Elab_Term_resolveId_x3f___lambda__1___closed__2; lean_object* l_Lean_InternalExceptionId_getName(lean_object*, lean_object*); lean_object* l_Lean_MetavarContext_getDelayedRoot(lean_object*, lean_object*); @@ -940,6 +949,7 @@ lean_object* l_Lean_Elab_Term_instMonadQuotationTermElabM___closed__14; lean_object* l_Lean_Elab_Term_getDeclName_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Syntax_isNodeOf(lean_object*, lean_object*, lean_object*); lean_object* l_List_foldr___at___private_Lean_Elab_Term_0__Lean_Elab_Term_throwStuckAtUniverseCnstr_exposeRelevantUniverses___spec__1___boxed(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Elab_Term_mkNoImplicitLambdaAnnotation___closed__1; lean_object* l_Lean_Elab_Term_instMonadInfoTreeTermElabM___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_resolveId_x3f___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_resolveNamespace___at_Lean_Elab_Term_elabOpen___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -1062,6 +1072,7 @@ lean_object* l_Lean_Elab_Term_SavedState_restore(lean_object*, lean_object*, lea lean_object* l___regBuiltin_Lean_Elab_Term_elabOpen___closed__1; lean_object* l_Std_PersistentArray_toArray___rarg(lean_object*); lean_object* l_Lean_Elab_Term_ensureType___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Elab_Term_elabNoImplicitLambda(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabUsingElabFnsAux_match__1(lean_object*); extern lean_object* l_Lean_KVMap_empty; lean_object* l_Lean_Syntax_getArgs(lean_object*); @@ -1218,6 +1229,7 @@ uint8_t l_Lean_Syntax_isNone(lean_object*); lean_object* l_Std_PersistentHashMap_findAux___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabUsingElabFns___spec__4(lean_object*, size_t, lean_object*); lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_tryCoeSort___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_inferType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +extern lean_object* l_Lean_Parser_Term_noImplicitLambda___elambda__1___closed__1; lean_object* l___private_Lean_Elab_InfoTree_0__Lean_Elab_getResetInfoTrees___at_Lean_Elab_Term_withMacroExpansion___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Term_elabDoubleQuotedName___spec__3___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_Term_LVal_getRef_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*); @@ -1327,16 +1339,16 @@ lean_object* l_Lean_Elab_throwAbortCommand___at_Lean_Elab_Term_ensureNoUnassigne lean_object* l_Lean_Elab_Term_throwTypeMismatchError_match__1(lean_object*); lean_object* l_ReaderT_read___at_Lean_Elab_Term_instMonadLogTermElabM___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_TermElabM_run_x27(lean_object*); +uint8_t l___private_Lean_Elab_Term_0__Lean_Elab_Term_isNoImplicitLambda(lean_object*); lean_object* l_Lean_Elab_Term_tryCoeThunk_x3f___closed__1; lean_object* l_Lean_Expr_FindImpl_findM_x3f_visit(lean_object*, size_t, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_3469____closed__4; lean_object* l_Lean_Elab_Term_tryPostpone(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_applyResult___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_IO_println___at_Lean_instEval___spec__1(lean_object*, lean_object*); -lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_8378____closed__1; lean_object* l_Lean_Elab_Term_throwErrorIfErrors(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_Elab_initFn____x40_Lean_Elab_Term___hyg_12646_(lean_object*); +lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_12727_(lean_object*); 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_Meta_whnfD(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_instMonadQuotationTermElabM___closed__2; @@ -1396,6 +1408,7 @@ lean_object* l_Lean_Elab_Term_instInhabitedSavedState; lean_object* l_List_lengthAux___rarg(lean_object*, lean_object*); lean_object* l_List_foldlM___at_Lean_Elab_Term_evalExpr___spec__12___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_instMonadQuotationTermElabM___closed__3; +lean_object* l_Lean_Elab_Term_hasNoImplicitLambdaAnnotation___boxed(lean_object*); lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_elabOpen___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* l_Lean_Elab_Term_applyResult(lean_object*); lean_object* lean_local_ctx_find(lean_object*, lean_object*); @@ -1516,6 +1529,7 @@ lean_object* l_Lean_Elab_Term_isMonadApp_match__1___rarg(lean_object*, lean_obje lean_object* l_Lean_Elab_Term_resolveName_process___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___private_Lean_Elab_Term_0__Lean_Elab_Term_elabUsingElabFns___closed__2; lean_object* l_Lean_mkApp3(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l___regBuiltin_Lean_Elab_Term_elabNoImplicitLambda___closed__1; extern lean_object* l_Array_forInUnsafe_loop___at_myMacro____x40_Init_NotationExtra___hyg_5484____spec__3___lambda__2___closed__2; extern lean_object* l_term_x5b___x5d___closed__3; lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -23697,6 +23711,74 @@ x_3 = lean_box(x_2); return x_3; } } +uint8_t l___private_Lean_Elab_Term_0__Lean_Elab_Term_isNoImplicitLambda(lean_object* x_1) { +_start: +{ +lean_object* x_2; uint8_t x_3; +x_2 = l_Lean_Parser_Term_noImplicitLambda___elambda__1___closed__2; +x_3 = l_Lean_Syntax_isOfKind(x_1, x_2); +return x_3; +} +} +lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_isNoImplicitLambda___boxed(lean_object* x_1) { +_start: +{ +uint8_t x_2; lean_object* x_3; +x_2 = l___private_Lean_Elab_Term_0__Lean_Elab_Term_isNoImplicitLambda(x_1); +x_3 = lean_box(x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Elab_Term_mkNoImplicitLambdaAnnotation___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_box(0); +x_2 = l_Lean_Parser_Term_noImplicitLambda___elambda__1___closed__1; +x_3 = lean_name_mk_string(x_1, x_2); +return x_3; +} +} +lean_object* l_Lean_Elab_Term_mkNoImplicitLambdaAnnotation(lean_object* x_1) { +_start: +{ +lean_object* x_2; lean_object* x_3; +x_2 = l_Lean_Elab_Term_mkNoImplicitLambdaAnnotation___closed__1; +x_3 = l_Lean_mkAnnotation(x_2, x_1); +return x_3; +} +} +uint8_t l_Lean_Elab_Term_hasNoImplicitLambdaAnnotation(lean_object* x_1) { +_start: +{ +lean_object* x_2; lean_object* x_3; +x_2 = l_Lean_Elab_Term_mkNoImplicitLambdaAnnotation___closed__1; +x_3 = l_Lean_annotation_x3f(x_2, x_1); +if (lean_obj_tag(x_3) == 0) +{ +uint8_t x_4; +x_4 = 0; +return x_4; +} +else +{ +uint8_t x_5; +lean_dec(x_3); +x_5 = 1; +return x_5; +} +} +} +lean_object* l_Lean_Elab_Term_hasNoImplicitLambdaAnnotation___boxed(lean_object* x_1) { +_start: +{ +uint8_t x_2; lean_object* x_3; +x_2 = l_Lean_Elab_Term_hasNoImplicitLambdaAnnotation(x_1); +lean_dec(x_1); +x_3 = lean_box(x_2); +return x_3; +} +} uint8_t l_Lean_Elab_Term_blockImplicitLambda(lean_object* x_1) { _start: { @@ -23722,17 +23804,14 @@ x_6 = l___private_Lean_Elab_Term_0__Lean_Elab_Term_isHole(x_2); if (x_6 == 0) { uint8_t x_7; +lean_inc(x_2); x_7 = l___private_Lean_Elab_Term_0__Lean_Elab_Term_isTacticBlock(x_2); -return x_7; -} -else +if (x_7 == 0) { uint8_t x_8; -lean_dec(x_2); -x_8 = 1; +x_8 = l___private_Lean_Elab_Term_0__Lean_Elab_Term_isNoImplicitLambda(x_2); return x_8; } -} else { uint8_t x_9; @@ -23757,6 +23836,22 @@ x_11 = 1; return x_11; } } +else +{ +uint8_t x_12; +lean_dec(x_2); +x_12 = 1; +return x_12; +} +} +else +{ +uint8_t x_13; +lean_dec(x_2); +x_13 = 1; +return x_13; +} +} } lean_object* l_Lean_Elab_Term_blockImplicitLambda___boxed(lean_object* x_1) { _start: @@ -23829,248 +23924,287 @@ 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_14; uint8_t x_15; x_14 = lean_ctor_get(x_2, 0); -x_15 = l_Lean_Meta_whnfForall(x_14, x_5, x_6, x_7, x_8, x_9); -if (lean_obj_tag(x_15) == 0) +x_15 = l_Lean_Elab_Term_hasNoImplicitLambdaAnnotation(x_14); +if (x_15 == 0) { lean_object* x_16; -x_16 = lean_ctor_get(x_15, 0); -lean_inc(x_16); -if (lean_obj_tag(x_16) == 7) +x_16 = l_Lean_Meta_whnfForall(x_14, x_5, x_6, x_7, x_8, x_9); +if (lean_obj_tag(x_16) == 0) { -uint8_t x_17; -x_17 = !lean_is_exclusive(x_15); -if (x_17 == 0) +lean_object* x_17; +x_17 = lean_ctor_get(x_16, 0); +lean_inc(x_17); +if (lean_obj_tag(x_17) == 7) { -lean_object* x_18; uint64_t x_19; uint8_t x_20; uint8_t x_21; -x_18 = lean_ctor_get(x_15, 0); -lean_dec(x_18); -x_19 = lean_ctor_get_uint64(x_16, sizeof(void*)*3); -x_20 = (uint8_t)((x_19 << 24) >> 61); -x_21 = l_Lean_BinderInfo_isExplicit(x_20); -if (x_21 == 0) +uint8_t x_18; +x_18 = !lean_is_exclusive(x_16); +if (x_18 == 0) { -lean_ctor_set(x_2, 0, x_16); -lean_ctor_set(x_15, 0, x_2); -return x_15; +lean_object* x_19; uint64_t x_20; uint8_t x_21; uint8_t x_22; +x_19 = lean_ctor_get(x_16, 0); +lean_dec(x_19); +x_20 = lean_ctor_get_uint64(x_17, sizeof(void*)*3); +x_21 = (uint8_t)((x_20 << 24) >> 61); +x_22 = l_Lean_BinderInfo_isExplicit(x_21); +if (x_22 == 0) +{ +lean_ctor_set(x_2, 0, x_17); +lean_ctor_set(x_16, 0, x_2); +return x_16; } else { -lean_object* x_22; +lean_object* x_23; +lean_dec(x_17); +lean_free_object(x_2); +x_23 = lean_box(0); +lean_ctor_set(x_16, 0, x_23); +return x_16; +} +} +else +{ +lean_object* x_24; uint64_t x_25; uint8_t x_26; uint8_t x_27; +x_24 = lean_ctor_get(x_16, 1); +lean_inc(x_24); lean_dec(x_16); +x_25 = lean_ctor_get_uint64(x_17, sizeof(void*)*3); +x_26 = (uint8_t)((x_25 << 24) >> 61); +x_27 = l_Lean_BinderInfo_isExplicit(x_26); +if (x_27 == 0) +{ +lean_object* x_28; +lean_ctor_set(x_2, 0, x_17); +x_28 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_28, 0, x_2); +lean_ctor_set(x_28, 1, x_24); +return x_28; +} +else +{ +lean_object* x_29; lean_object* x_30; +lean_dec(x_17); lean_free_object(x_2); -x_22 = lean_box(0); -lean_ctor_set(x_15, 0, x_22); -return x_15; +x_29 = lean_box(0); +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 { -lean_object* x_23; uint64_t x_24; uint8_t x_25; uint8_t x_26; -x_23 = lean_ctor_get(x_15, 1); -lean_inc(x_23); -lean_dec(x_15); -x_24 = lean_ctor_get_uint64(x_16, sizeof(void*)*3); -x_25 = (uint8_t)((x_24 << 24) >> 61); -x_26 = l_Lean_BinderInfo_isExplicit(x_25); -if (x_26 == 0) +uint8_t x_31; +lean_dec(x_17); +lean_free_object(x_2); +x_31 = !lean_is_exclusive(x_16); +if (x_31 == 0) { -lean_object* x_27; -lean_ctor_set(x_2, 0, x_16); -x_27 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_27, 0, x_2); -lean_ctor_set(x_27, 1, x_23); -return x_27; +lean_object* x_32; lean_object* x_33; +x_32 = lean_ctor_get(x_16, 0); +lean_dec(x_32); +x_33 = lean_box(0); +lean_ctor_set(x_16, 0, x_33); +return x_16; } else { -lean_object* x_28; lean_object* x_29; +lean_object* x_34; lean_object* x_35; lean_object* x_36; +x_34 = lean_ctor_get(x_16, 1); +lean_inc(x_34); lean_dec(x_16); +x_35 = lean_box(0); +x_36 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_36, 0, x_35); +lean_ctor_set(x_36, 1, x_34); +return x_36; +} +} +} +else +{ +uint8_t x_37; lean_free_object(x_2); -x_28 = lean_box(0); -x_29 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_29, 0, x_28); -lean_ctor_set(x_29, 1, x_23); -return x_29; -} -} +x_37 = !lean_is_exclusive(x_16); +if (x_37 == 0) +{ +return x_16; } else { -uint8_t x_30; -lean_dec(x_16); -lean_free_object(x_2); -x_30 = !lean_is_exclusive(x_15); -if (x_30 == 0) -{ -lean_object* x_31; lean_object* x_32; -x_31 = lean_ctor_get(x_15, 0); -lean_dec(x_31); -x_32 = lean_box(0); -lean_ctor_set(x_15, 0, x_32); -return x_15; -} -else -{ -lean_object* x_33; lean_object* x_34; lean_object* x_35; -x_33 = lean_ctor_get(x_15, 1); -lean_inc(x_33); -lean_dec(x_15); -x_34 = lean_box(0); -x_35 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_35, 0, x_34); -lean_ctor_set(x_35, 1, x_33); -return x_35; -} -} -} -else -{ -uint8_t x_36; -lean_free_object(x_2); -x_36 = !lean_is_exclusive(x_15); -if (x_36 == 0) -{ -return x_15; -} -else -{ -lean_object* x_37; lean_object* x_38; lean_object* x_39; -x_37 = lean_ctor_get(x_15, 0); -x_38 = lean_ctor_get(x_15, 1); +lean_object* x_38; lean_object* x_39; lean_object* x_40; +x_38 = lean_ctor_get(x_16, 0); +x_39 = lean_ctor_get(x_16, 1); +lean_inc(x_39); lean_inc(x_38); -lean_inc(x_37); -lean_dec(x_15); -x_39 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_39, 0, x_37); -lean_ctor_set(x_39, 1, x_38); -return x_39; +lean_dec(x_16); +x_40 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_40, 0, x_38); +lean_ctor_set(x_40, 1, x_39); +return x_40; } } } else { -lean_object* x_40; lean_object* x_41; -x_40 = lean_ctor_get(x_2, 0); -lean_inc(x_40); -lean_dec(x_2); -x_41 = l_Lean_Meta_whnfForall(x_40, x_5, x_6, x_7, x_8, x_9); -if (lean_obj_tag(x_41) == 0) +lean_object* x_41; lean_object* x_42; +lean_free_object(x_2); +lean_dec(x_14); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +x_41 = lean_box(0); +x_42 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_42, 0, x_41); +lean_ctor_set(x_42, 1, x_9); +return x_42; +} +} +else { -lean_object* x_42; -x_42 = lean_ctor_get(x_41, 0); -lean_inc(x_42); -if (lean_obj_tag(x_42) == 7) -{ -lean_object* x_43; lean_object* x_44; uint64_t x_45; uint8_t x_46; uint8_t x_47; -x_43 = lean_ctor_get(x_41, 1); +lean_object* x_43; uint8_t x_44; +x_43 = lean_ctor_get(x_2, 0); lean_inc(x_43); -if (lean_is_exclusive(x_41)) { - lean_ctor_release(x_41, 0); - lean_ctor_release(x_41, 1); - x_44 = x_41; -} else { - lean_dec_ref(x_41); - x_44 = lean_box(0); -} -x_45 = lean_ctor_get_uint64(x_42, sizeof(void*)*3); -x_46 = (uint8_t)((x_45 << 24) >> 61); -x_47 = l_Lean_BinderInfo_isExplicit(x_46); -if (x_47 == 0) +lean_dec(x_2); +x_44 = l_Lean_Elab_Term_hasNoImplicitLambdaAnnotation(x_43); +if (x_44 == 0) { -lean_object* x_48; lean_object* x_49; -x_48 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_48, 0, x_42); -if (lean_is_scalar(x_44)) { - x_49 = lean_alloc_ctor(0, 2, 0); +lean_object* x_45; +x_45 = l_Lean_Meta_whnfForall(x_43, x_5, x_6, x_7, x_8, x_9); +if (lean_obj_tag(x_45) == 0) +{ +lean_object* x_46; +x_46 = lean_ctor_get(x_45, 0); +lean_inc(x_46); +if (lean_obj_tag(x_46) == 7) +{ +lean_object* x_47; lean_object* x_48; uint64_t x_49; uint8_t x_50; uint8_t x_51; +x_47 = lean_ctor_get(x_45, 1); +lean_inc(x_47); +if (lean_is_exclusive(x_45)) { + lean_ctor_release(x_45, 0); + lean_ctor_release(x_45, 1); + x_48 = x_45; } else { - x_49 = x_44; + lean_dec_ref(x_45); + x_48 = lean_box(0); } -lean_ctor_set(x_49, 0, x_48); -lean_ctor_set(x_49, 1, x_43); -return x_49; +x_49 = lean_ctor_get_uint64(x_46, sizeof(void*)*3); +x_50 = (uint8_t)((x_49 << 24) >> 61); +x_51 = l_Lean_BinderInfo_isExplicit(x_50); +if (x_51 == 0) +{ +lean_object* x_52; lean_object* x_53; +x_52 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_52, 0, x_46); +if (lean_is_scalar(x_48)) { + x_53 = lean_alloc_ctor(0, 2, 0); +} else { + x_53 = x_48; +} +lean_ctor_set(x_53, 0, x_52); +lean_ctor_set(x_53, 1, x_47); +return x_53; } else { -lean_object* x_50; lean_object* x_51; -lean_dec(x_42); -x_50 = lean_box(0); -if (lean_is_scalar(x_44)) { - x_51 = lean_alloc_ctor(0, 2, 0); -} else { - x_51 = x_44; -} -lean_ctor_set(x_51, 0, x_50); -lean_ctor_set(x_51, 1, x_43); -return x_51; -} -} -else -{ -lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; -lean_dec(x_42); -x_52 = lean_ctor_get(x_41, 1); -lean_inc(x_52); -if (lean_is_exclusive(x_41)) { - lean_ctor_release(x_41, 0); - lean_ctor_release(x_41, 1); - x_53 = x_41; -} else { - lean_dec_ref(x_41); - x_53 = lean_box(0); -} +lean_object* x_54; lean_object* x_55; +lean_dec(x_46); x_54 = lean_box(0); -if (lean_is_scalar(x_53)) { +if (lean_is_scalar(x_48)) { x_55 = lean_alloc_ctor(0, 2, 0); } else { - x_55 = x_53; + x_55 = x_48; } lean_ctor_set(x_55, 0, x_54); -lean_ctor_set(x_55, 1, x_52); +lean_ctor_set(x_55, 1, x_47); return x_55; } } else { lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; -x_56 = lean_ctor_get(x_41, 0); +lean_dec(x_46); +x_56 = lean_ctor_get(x_45, 1); lean_inc(x_56); -x_57 = lean_ctor_get(x_41, 1); -lean_inc(x_57); -if (lean_is_exclusive(x_41)) { - lean_ctor_release(x_41, 0); - lean_ctor_release(x_41, 1); - x_58 = x_41; +if (lean_is_exclusive(x_45)) { + lean_ctor_release(x_45, 0); + lean_ctor_release(x_45, 1); + x_57 = x_45; } else { - lean_dec_ref(x_41); - x_58 = lean_box(0); + lean_dec_ref(x_45); + x_57 = lean_box(0); } -if (lean_is_scalar(x_58)) { - x_59 = lean_alloc_ctor(1, 2, 0); +x_58 = lean_box(0); +if (lean_is_scalar(x_57)) { + x_59 = lean_alloc_ctor(0, 2, 0); } else { - x_59 = x_58; + x_59 = x_57; } -lean_ctor_set(x_59, 0, x_56); -lean_ctor_set(x_59, 1, 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_object* x_61; lean_object* x_62; lean_object* x_63; +x_60 = lean_ctor_get(x_45, 0); +lean_inc(x_60); +x_61 = lean_ctor_get(x_45, 1); +lean_inc(x_61); +if (lean_is_exclusive(x_45)) { + lean_ctor_release(x_45, 0); + lean_ctor_release(x_45, 1); + x_62 = x_45; +} else { + lean_dec_ref(x_45); + x_62 = lean_box(0); +} +if (lean_is_scalar(x_62)) { + x_63 = lean_alloc_ctor(1, 2, 0); +} else { + x_63 = x_62; +} +lean_ctor_set(x_63, 0, x_60); +lean_ctor_set(x_63, 1, x_61); +return x_63; +} +} +else +{ +lean_object* x_64; lean_object* x_65; +lean_dec(x_43); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +x_64 = lean_box(0); +x_65 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_65, 0, x_64); +lean_ctor_set(x_65, 1, x_9); +return x_65; +} +} } } else { -lean_object* x_60; lean_object* x_61; +lean_object* x_66; lean_object* x_67; lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_2); -x_60 = lean_box(0); -x_61 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_61, 0, x_60); -lean_ctor_set(x_61, 1, x_9); -return x_61; +x_66 = lean_box(0); +x_67 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_67, 0, x_66); +lean_ctor_set(x_67, 1, x_9); +return x_67; } } } @@ -32460,7 +32594,7 @@ lean_dec(x_3); return x_9; } } -static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_8378____closed__1() { +static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_8446____closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -32470,11 +32604,11 @@ x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_8378_(lean_object* x_1) { +lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_8446_(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; -x_2 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_8378____closed__1; +x_2 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_8446____closed__1; x_3 = l_Lean_registerTraceClass(x_2, x_1); return x_3; } @@ -32645,7 +32779,7 @@ lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lea x_97 = lean_ctor_get(x_91, 1); lean_inc(x_97); lean_dec(x_91); -x_98 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_8378____closed__1; +x_98 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_8446____closed__1; x_99 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_98, x_2, x_3, x_4, x_5, x_6, x_7, x_97); x_100 = lean_ctor_get(x_99, 0); lean_inc(x_100); @@ -32687,7 +32821,7 @@ lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean x_53 = lean_ctor_get(x_47, 1); lean_inc(x_53); lean_dec(x_47); -x_54 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_8378____closed__1; +x_54 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_8446____closed__1; x_55 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_54, x_2, x_3, x_4, x_5, x_6, x_7, x_53); x_56 = lean_ctor_get(x_55, 0); lean_inc(x_56); @@ -32768,7 +32902,7 @@ x_41 = l_Lean_KernelException_toMessageData___closed__15; x_42 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_42, 0, x_40); lean_ctor_set(x_42, 1, x_41); -x_43 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_8378____closed__1; +x_43 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_8446____closed__1; x_44 = l_Lean_addTrace___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__1(x_43, x_42, x_2, x_3, x_4, x_5, x_6, x_7, x_36); x_45 = lean_ctor_get(x_44, 1); lean_inc(x_45); @@ -32830,7 +32964,7 @@ x_79 = l_Lean_KernelException_toMessageData___closed__15; x_80 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_80, 0, x_78); lean_ctor_set(x_80, 1, x_79); -x_81 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_8378____closed__1; +x_81 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_8446____closed__1; x_82 = l_Lean_addTrace___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__1(x_81, x_80, x_2, x_3, x_4, x_5, x_6, x_7, x_61); x_83 = lean_ctor_get(x_82, 1); lean_inc(x_83); @@ -35044,6 +35178,78 @@ x_5 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_1); return x_5; } } +lean_object* l_Lean_Elab_Term_elabNoImplicitLambda(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; +x_10 = lean_unsigned_to_nat(1u); +x_11 = l_Lean_Syntax_getArg(x_1, x_10); +if (lean_obj_tag(x_2) == 0) +{ +lean_object* x_12; uint8_t x_13; lean_object* x_14; +x_12 = lean_box(0); +x_13 = 1; +x_14 = l_Lean_Elab_Term_elabTerm(x_11, x_12, x_13, x_13, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +return x_14; +} +else +{ +uint8_t x_15; +x_15 = !lean_is_exclusive(x_2); +if (x_15 == 0) +{ +lean_object* x_16; lean_object* x_17; uint8_t x_18; lean_object* x_19; +x_16 = lean_ctor_get(x_2, 0); +x_17 = l_Lean_Elab_Term_mkNoImplicitLambdaAnnotation(x_16); +lean_ctor_set(x_2, 0, x_17); +x_18 = 1; +x_19 = l_Lean_Elab_Term_elabTerm(x_11, x_2, x_18, x_18, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +return x_19; +} +else +{ +lean_object* x_20; lean_object* x_21; lean_object* x_22; uint8_t x_23; lean_object* x_24; +x_20 = lean_ctor_get(x_2, 0); +lean_inc(x_20); +lean_dec(x_2); +x_21 = l_Lean_Elab_Term_mkNoImplicitLambdaAnnotation(x_20); +x_22 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_22, 0, x_21); +x_23 = 1; +x_24 = l_Lean_Elab_Term_elabTerm(x_11, x_22, x_23, x_23, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +return x_24; +} +} +} +} +lean_object* l_Lean_Elab_Term_elabNoImplicitLambda___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_Elab_Term_elabNoImplicitLambda(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +lean_dec(x_1); +return x_10; +} +} +static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabNoImplicitLambda___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Elab_Term_elabNoImplicitLambda___boxed), 9, 0); +return x_1; +} +} +lean_object* l___regBuiltin_Lean_Elab_Term_elabNoImplicitLambda(lean_object* x_1) { +_start: +{ +lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; +x_2 = l_Lean_Elab_Term_termElabAttribute; +x_3 = l_Lean_Parser_Term_noImplicitLambda___elambda__1___closed__2; +x_4 = l___regBuiltin_Lean_Elab_Term_elabNoImplicitLambda___closed__1; +x_5 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_1); +return x_5; +} +} lean_object* l_Lean_Elab_Term_resolveLocalName_loop_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { @@ -37946,7 +38152,7 @@ _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; x_1 = l_Lean_Elab_Term_getFVarLocalDecl_x21___closed__2; x_2 = l_List_mapM___at_Lean_Elab_Term_resolveName_x27___spec__6___closed__2; -x_3 = lean_unsigned_to_nat(1418u); +x_3 = lean_unsigned_to_nat(1435u); x_4 = lean_unsigned_to_nat(31u); x_5 = l_Lean_Name_getString_x21___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -54127,7 +54333,7 @@ lean_dec(x_3); return x_11; } } -static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_12646____closed__1() { +static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_12727____closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -54137,7 +54343,7 @@ x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_12646_(lean_object* x_1) { +lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_12727_(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; @@ -54149,7 +54355,7 @@ lean_object* x_4; lean_object* x_5; lean_object* x_6; x_4 = lean_ctor_get(x_3, 1); lean_inc(x_4); lean_dec(x_3); -x_5 = l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_12646____closed__1; +x_5 = l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_12727____closed__1; x_6 = l_Lean_registerTraceClass(x_5, x_4); if (lean_obj_tag(x_6) == 0) { @@ -54584,6 +54790,8 @@ l_Lean_Elab_Term_instMonadMacroAdapterTermElabM___closed__5 = _init_l_Lean_Elab_ lean_mark_persistent(l_Lean_Elab_Term_instMonadMacroAdapterTermElabM___closed__5); l_Lean_Elab_Term_instMonadMacroAdapterTermElabM = _init_l_Lean_Elab_Term_instMonadMacroAdapterTermElabM(); lean_mark_persistent(l_Lean_Elab_Term_instMonadMacroAdapterTermElabM); +l_Lean_Elab_Term_mkNoImplicitLambdaAnnotation___closed__1 = _init_l_Lean_Elab_Term_mkNoImplicitLambdaAnnotation___closed__1(); +lean_mark_persistent(l_Lean_Elab_Term_mkNoImplicitLambdaAnnotation___closed__1); l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabImplicitLambdaAux___closed__1 = _init_l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabImplicitLambdaAux___closed__1(); lean_mark_persistent(l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabImplicitLambdaAux___closed__1); l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabImplicitLambdaAux___closed__2 = _init_l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabImplicitLambdaAux___closed__2(); @@ -54618,9 +54826,9 @@ l_Lean_Elab_Term_mkAuxName___closed__1 = _init_l_Lean_Elab_Term_mkAuxName___clos lean_mark_persistent(l_Lean_Elab_Term_mkAuxName___closed__1); l_Lean_Elab_Term_mkAuxName___closed__2 = _init_l_Lean_Elab_Term_mkAuxName___closed__2(); lean_mark_persistent(l_Lean_Elab_Term_mkAuxName___closed__2); -l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_8378____closed__1 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_8378____closed__1(); -lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_8378____closed__1); -res = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_8378_(lean_io_mk_world()); +l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_8446____closed__1 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_8446____closed__1(); +lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_8446____closed__1); +res = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_8446_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); l_Lean_Elab_Term_isLetRecAuxMVar___closed__1 = _init_l_Lean_Elab_Term_isLetRecAuxMVar___closed__1(); @@ -54697,6 +54905,11 @@ lean_mark_persistent(l___regBuiltin_Lean_Elab_Term_elabByTactic___closed__1); res = l___regBuiltin_Lean_Elab_Term_elabByTactic(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); +l___regBuiltin_Lean_Elab_Term_elabNoImplicitLambda___closed__1 = _init_l___regBuiltin_Lean_Elab_Term_elabNoImplicitLambda___closed__1(); +lean_mark_persistent(l___regBuiltin_Lean_Elab_Term_elabNoImplicitLambda___closed__1); +res = l___regBuiltin_Lean_Elab_Term_elabNoImplicitLambda(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); l_Lean_Elab_Term_mkConst___closed__1 = _init_l_Lean_Elab_Term_mkConst___closed__1(); lean_mark_persistent(l_Lean_Elab_Term_mkConst___closed__1); l_Lean_Elab_Term_mkConst___closed__2 = _init_l_Lean_Elab_Term_mkConst___closed__2(); @@ -54856,9 +55069,9 @@ l___private_Lean_Elab_Term_0__Lean_Elab_Term_throwStuckAtUniverseCnstr___closed_ lean_mark_persistent(l___private_Lean_Elab_Term_0__Lean_Elab_Term_throwStuckAtUniverseCnstr___closed__3); l___private_Lean_Elab_Term_0__Lean_Elab_Term_throwStuckAtUniverseCnstr___closed__4 = _init_l___private_Lean_Elab_Term_0__Lean_Elab_Term_throwStuckAtUniverseCnstr___closed__4(); lean_mark_persistent(l___private_Lean_Elab_Term_0__Lean_Elab_Term_throwStuckAtUniverseCnstr___closed__4); -l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_12646____closed__1 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_12646____closed__1(); -lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_12646____closed__1); -res = l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_12646_(lean_io_mk_world()); +l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_12727____closed__1 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_12727____closed__1(); +lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_12727____closed__1); +res = l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_12727_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); return lean_io_result_mk_ok(lean_box(0));