diff --git a/srcpkgs/kakoune/patches/d1ea2ffa600fd2a7b14e415b68ceedba3325c5db.patch b/srcpkgs/kakoune/patches/d1ea2ffa600fd2a7b14e415b68ceedba3325c5db.patch new file mode 100644 index 00000000000..afa49eda215 --- /dev/null +++ b/srcpkgs/kakoune/patches/d1ea2ffa600fd2a7b14e415b68ceedba3325c5db.patch @@ -0,0 +1,56 @@ +From d1ea2ffa600fd2a7b14e415b68ceedba3325c5db Mon Sep 17 00:00:00 2001 +From: Tim Allen +Date: Sat, 12 Feb 2022 21:35:33 +1100 +Subject: [PATCH] Make Color::validate_alpha() a constexpr function. + +We call it from a constexpr constructor, so it needs to be constexpr itself. + +Fixes #4544. +--- + src/color.cc | 7 ------- + src/color.hh | 7 ++++++- + 2 files changed, 6 insertions(+), 8 deletions(-) + +diff --git a/src/color.cc b/src/color.cc +index b355b9cf13..dfe2e955b2 100644 +--- a/src/color.cc ++++ b/src/color.cc +@@ -34,13 +34,6 @@ bool is_color_name(StringView color) + return contains(color_names, color); + } + +-void Color::validate_alpha() +-{ +- static_assert(RGB == 17); +- if (a < RGB) +- throw runtime_error("Colors alpha must be > 16"); +-} +- + Color str_to_color(StringView color) + { + auto it = find_if(color_names, [&](const char* c){ return color == c; }); +diff --git a/src/color.hh b/src/color.hh +index 943678edfb..85babd9800 100644 +--- a/src/color.hh ++++ b/src/color.hh +@@ -1,6 +1,7 @@ + #ifndef color_hh_INCLUDED + #define color_hh_INCLUDED + ++#include "exception.hh" + #include "hash.hh" + #include "meta.hh" + #include "assert.hh" +@@ -55,7 +56,11 @@ struct Color + } + + private: +- void validate_alpha(); ++ constexpr void validate_alpha() { ++ static_assert(RGB == 17); ++ if (a < RGB) ++ throw runtime_error("Colors alpha must be > 16"); ++ } + }; + + constexpr bool operator==(Color lhs, Color rhs)