bitcoin/src/script
Pieter Wuille 63317103c9 miniscript: make operator_mst consteval
It seems modern compilers don't realize that all invocations of operator""_mst
can be evaluated at compile time, despite the constexpr keyword.

Since C++20, we can force them to evaluate at compile time, turning all the
miniscript type constants into actual compile-time constants.

It appears that MSVC does not support consteval operator"" when used inside
certain expressions. For the few places where this happens, define a
constant outside the operator call.

Co-Authored-By: Hennadii Stepanov <32963518+hebasto@users.noreply.github.com>
2024-05-03 11:38:14 -04:00
..
descriptor.cpp [clang-tidy] Enable the misc-no-recursion check 2024-04-07 14:04:45 +01:00
descriptor.h descriptor: Be able to get the pubkeys involved in a descriptor 2024-02-20 11:20:58 -05:00
interpreter.cpp serialize: Drop useless version param from GetSerializeSize() 2023-11-16 11:14:13 +10:00
interpreter.h Fix IWYU for the script_flags fuzz target 2023-11-23 17:57:53 +01:00
keyorigin.h Implement operator< for KeyOriginInfo and CExtPubKey 2021-12-10 08:29:47 -05:00
miniscript.cpp miniscript: make operator_mst consteval 2024-05-03 11:38:14 -04:00
miniscript.h miniscript: make operator_mst consteval 2024-05-03 11:38:14 -04:00
script.cpp iwyu: Export prevector.h from script.h 2023-10-25 11:55:50 +02:00
script.h iwyu: Export prevector.h from script.h 2023-10-25 11:55:50 +02:00
script_error.cpp Implement Tapscript script validation rules (BIP 342) 2020-10-12 17:18:24 -07:00
script_error.h scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
sigcache.cpp refactor: Move system from util to common library 2023-05-20 12:08:13 +02:00
sigcache.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
sign.cpp sign: don't assume we are parsing a sane Miniscript 2024-04-22 18:24:35 +02:00
sign.h script/sign: Miniscript support in Tapscript 2023-10-08 02:43:24 +02:00
signingprovider.cpp ci: Bump `TIDY_LLVM_V` 2024-03-15 13:34:05 +00:00
signingprovider.h script/signingprovider: introduce a MultiSigningProvider 2023-08-25 12:40:11 +02:00
solver.cpp refactor: Add missing includes 2023-08-17 15:55:01 +02:00
solver.h Rename script/standard.{cpp/h} to script/solver.{cpp/h} 2023-08-14 17:39:49 -04:00