lean4-htt/src/runtime
Henrik Böving 823173a761
fix: make ST.Ref.ptrEq behave as stated in the docs (#11056)
This PR fixes `ST.Ref.ptrEq` to act as described in the docs. This fixes
two bugs:
1. The recent `IO.RealWorld` elimination PR overlooked this function
(afaik this is the only one),
   causing its return value to be generally wrong.
2. The implementation of `ptrEq` would previously always consider two
different cells with pointer
equivalent value to be pointer equal. However, the function is supposed
to check whether two
   `Ref` are the same cell, not whether the contained elements are.
2025-11-02 10:42:33 +00:00
..
uv feat: zero cost BaseIO (#10625) 2025-10-22 10:55:12 +02:00
alloc.cpp fix: heartbeats from realizeConst should be ignored (#7473) 2025-03-13 15:10:29 +00:00
alloc.h fix: heartbeats from realizeConst should be ignored (#7473) 2025-03-13 15:10:29 +00:00
allocprof.cpp chore: reduce src/include/lean 2021-09-07 08:24:54 -07:00
allocprof.h chore: reduce src/include/lean 2021-09-07 08:24:54 -07:00
apply.cpp chore: update script/apply.lean semantics 2022-11-07 19:47:04 -08:00
apply.h fix: split libInit_shared out of libleanshared (#3421) 2024-02-22 19:16:32 +00:00
array_ref.h perf: mark move constructors and assignment operators as noexcept (#10784) 2025-10-22 14:21:51 +00:00
buffer.h chore: re-land "perf: use C23's free_sized when available" (#6844) 2025-02-04 12:43:56 +00:00
byteslice.cpp feat: add useful functions in Parsec, add error variant and Std.Data.ByteSlice (#9599) 2025-09-11 14:53:41 +00:00
byteslice.h feat: add useful functions in Parsec, add error variant and Std.Data.ByteSlice (#9599) 2025-09-11 14:53:41 +00:00
CMakeLists.txt feat: add signal handling support using libuv (#9258) 2025-09-15 13:09:50 +00:00
compact.cpp chore: demote a panic to an exception in saveModuleData (#9127) 2025-09-02 12:25:45 +00:00
compact.h chore: lean --stats gives number of imported bytes (#8725) 2025-06-12 08:29:42 +00:00
debug.cpp feat: reimplement assert without system headers 2021-11-18 09:42:35 +01:00
debug.h fix: split libInit_shared out of libleanshared (#3421) 2024-02-22 19:16:32 +00:00
exception.cpp chore: reduce src/include/lean 2021-09-07 08:24:54 -07:00
exception.h fix: split libInit_shared out of libleanshared (#3421) 2024-02-22 19:16:32 +00:00
flet.h chore: reduce src/include/lean 2021-09-07 08:24:54 -07:00
hash.cpp chore: replace all hashes by murmurhash 2022-12-01 20:18:14 -08:00
hash.h feat: define Int8 (#5790) 2024-10-25 06:06:40 +00:00
init_module.cpp feat: implement basic async IO with timers (#6505) 2025-01-13 18:11:04 +00:00
init_module.h fix: split libInit_shared out of libleanshared (#3421) 2024-02-22 19:16:32 +00:00
int.h feat: define ISize and basic operations on it (#5961) 2024-11-05 15:08:19 +00:00
interrupt.cpp feat: zero cost BaseIO (#10625) 2025-10-22 10:55:12 +02:00
interrupt.h fix: Windows build (#4628) 2024-07-02 20:32:00 +00:00
io.cpp fix: make ST.Ref.ptrEq behave as stated in the docs (#11056) 2025-11-02 10:42:33 +00:00
io.h fix: handle NUL bytes in IO functions (#9616) 2025-08-01 06:12:53 +00:00
libuv.cpp feat: add signal handling support using libuv (#9258) 2025-09-15 13:09:50 +00:00
libuv.h feat: add signal handling support using libuv (#9258) 2025-09-15 13:09:50 +00:00
list_ref.h perf: mark move constructors and assignment operators as noexcept (#10784) 2025-10-22 14:21:51 +00:00
memory.cpp feat: zero cost BaseIO (#10625) 2025-10-22 10:55:12 +02:00
memory.h fix: split libInit_shared out of libleanshared (#3421) 2024-02-22 19:16:32 +00:00
mpn.cpp feat: add mpn module 2021-10-25 15:57:19 -07:00
mpn.h feat: add mpn module 2021-10-25 15:57:19 -07:00
mpz.cpp fix: undefined symbol without LEAN_USE_GMP (#9106) 2025-07-03 16:50:21 +00:00
mpz.h feat: optimized division without remainder for Int and Nat (#8089) 2025-04-29 07:23:35 +00:00
mutex.cpp feat: zero cost BaseIO (#10625) 2025-10-22 10:55:12 +02:00
mutex.h feat: Mutex, Condvar 2022-09-05 08:52:46 -07:00
object.cpp fix: revert the waitAny refactoring (#11000) 2025-10-29 08:27:16 +00:00
object.h fix: revert the waitAny refactoring (#11000) 2025-10-29 08:27:16 +00:00
object_ref.cpp chore: reduce src/include/lean 2021-09-07 08:24:54 -07:00
object_ref.h perf: mark move constructors and assignment operators as noexcept (#10784) 2025-10-22 14:21:51 +00:00
option_ref.h perf: mark move constructors and assignment operators as noexcept (#10784) 2025-10-22 14:21:51 +00:00
optional.h perf: mark move constructors and assignment operators as noexcept (#10784) 2025-10-22 14:21:51 +00:00
pair_ref.h perf: mark move constructors and assignment operators as noexcept (#10784) 2025-10-22 14:21:51 +00:00
platform.cpp feat: ignore lean -R if module name is in setup (#8874) 2025-06-23 17:55:52 +00:00
platform.h chore: reduce src/include/lean 2021-09-07 08:24:54 -07:00
process.cpp feat: zero cost BaseIO (#10625) 2025-10-22 10:55:12 +02:00
process.h chore: reduce src/include/lean 2021-09-07 08:24:54 -07:00
sharecommon.cpp feat: support mpz in the shareCommon APIs (#7838) 2025-04-06 19:52:50 +00:00
sharecommon.h perf: use mimalloc with important C++ hash maps (#7868) 2025-04-11 16:23:33 +00:00
sstream.h chore: reduce src/include/lean 2021-09-07 08:24:54 -07:00
stack_overflow.cpp fix: Do not overwrite existing signal handlers (#5062) 2024-08-19 09:11:38 +00:00
stack_overflow.h chore: reduce src/include/lean 2021-09-07 08:24:54 -07:00
stackinfo.cpp fix: make the stack handling more robust to sanitizers and -O3 (#6143) 2024-11-22 15:10:20 +00:00
stackinfo.h fix: split libInit_shared out of libleanshared (#3421) 2024-02-22 19:16:32 +00:00
string_ref.h perf: mark move constructors and assignment operators as noexcept (#10784) 2025-10-22 14:21:51 +00:00
thread.cpp chore: remove old LEAN_AUTO_THREAD_FINALIZATION workaround (#8885) 2025-06-20 08:52:17 +00:00
thread.h perf: mark move constructors and assignment operators as noexcept (#10784) 2025-10-22 14:21:51 +00:00
utf8.cpp fix: validate UTF-8 at C++ -> Lean boundary (#3963) 2024-06-19 14:05:48 +00:00
utf8.h fix: validate UTF-8 at C++ -> Lean boundary (#3963) 2024-06-19 14:05:48 +00:00