lean4-htt/src/Lean/Compiler
Henrik Böving 2d999d7622
refactor: ignore borrow annotations at export/extern tricks (#12930)
This PR places `set_option compiler.ignoreBorrowAnnotation true in` on
to all `export`/`extern`
pairs. This is necessary because `export` forces all arguments to be
passed as owned while `extern`
respects borrow annotations. The current approach to the
`export`/`extern` trick was always broken
but never surfaced. However, with upcoming changes many
`export`/`extern` pairs are going to be
affected by borrow annotations and would've broken without this.
2026-03-16 10:03:40 +00:00
..
IR feat: option to ignore borrowing annotations completely (#12886) 2026-03-11 20:59:06 +00:00
LCNF feat: option to ignore borrowing annotations completely (#12886) 2026-03-11 20:59:06 +00:00
BorrowedAnnotation.lean refactor: module-ize Lean (#9330) 2025-07-25 12:02:51 +00:00
ClosedTermCache.lean fix: closed term cache (#12024) 2026-01-16 12:41:54 +00:00
CSimpAttr.lean feat: shake: track [csimp] uses (#12351) 2026-02-07 14:27:00 +00:00
ExportAttr.lean chore: rename Substring to Substring.Raw (#11154) 2025-11-16 09:30:04 +00:00
ExternAttr.lean refactor: ignore borrow annotations at export/extern tricks (#12930) 2026-03-16 10:03:40 +00:00
FFI.lean refactor: use String.split instead of String.splitOn or String.splitToList (#11250) 2025-11-19 09:35:19 +00:00
ImplementedByAttr.lean perf: put the compiler off the critical path (#12335) 2026-02-05 20:39:11 +00:00
InitAttr.lean perf: separate meta and non-meta initializers (#12016) 2026-02-26 08:05:19 +00:00
InlineAttrs.lean refactor: use isRecursiveDefinition when validating macro_inline (#12106) 2026-01-22 16:31:34 +00:00
IR.lean refactor: port EmitC to LCNF (#12781) 2026-03-11 14:19:54 +00:00
LCNF.lean chore: remove the LCNF testing framework (#12207) 2026-01-28 10:09:30 +00:00
Main.lean refactor: module-ize Lean (#9330) 2025-07-25 12:02:51 +00:00
MetaAttr.lean chore: shake: fix handling of meta structure etc (#11701) 2025-12-16 16:28:39 +00:00
ModPkgExt.lean fix: symbol name for native boxed declarations in the interpreter (#12095) 2026-01-21 20:38:29 +00:00
NameDemangling.lean feat: unify name demangling with single Lean implementation (#12539) 2026-03-06 12:29:35 +00:00
NameMangling.lean perf: separate meta and non-meta initializers (#12016) 2026-02-26 08:05:19 +00:00
NeverExtractAttr.lean chore: remove redundant imports in core (#10750) 2025-10-16 20:27:46 +00:00
NoncomputableAttr.lean fix: mark failed compilations as noncomputable (#12625) 2026-02-23 09:18:21 +00:00
Old.lean refactor: use String.Slice in String.take and variants (#11180) 2025-11-18 16:13:48 +00:00
Options.lean feat: option to ignore borrowing annotations completely (#12886) 2026-03-11 20:59:06 +00:00
Specialize.lean chore: shake core (#12276) 2026-02-05 09:10:32 +00:00