diff options
| -rw-r--r-- | libs/kstd/kstd/bits/basic_string.hpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/libs/kstd/kstd/bits/basic_string.hpp b/libs/kstd/kstd/bits/basic_string.hpp index c13b821..e55bfbb 100644 --- a/libs/kstd/kstd/bits/basic_string.hpp +++ b/libs/kstd/kstd/bits/basic_string.hpp @@ -1082,11 +1082,21 @@ namespace kstd [[nodiscard]] constexpr friend auto operator==(basic_string const & lhs, const_pointer rhs) noexcept -> bool { + if (rhs == nullptr) + { + os::panic("Tried to compare a string with nullptr"); + } + return lhs == std::basic_string_view<value_type, traits_type>{rhs}; } [[nodiscard]] constexpr friend auto operator==(const_pointer lhs, basic_string const & rhs) noexcept -> bool { + if (rhs == nullptr) + { + os::panic("Tried to compare a string with nullptr"); + } + return std::basic_string_view<value_type, traits_type>{lhs} == rhs; } @@ -1109,11 +1119,21 @@ namespace kstd [[nodiscard]] constexpr friend auto operator<=>(basic_string const & lhs, const_pointer rhs) noexcept { + if (rhs == nullptr) + { + os::panic("Tried to compare a string with nullptr"); + } + return lhs <=> std::basic_string_view<value_type, traits_type>{rhs}; } [[nodiscard]] constexpr friend auto operator<=>(const_pointer lhs, basic_string const & rhs) noexcept { + if (rhs == nullptr) + { + os::panic("Tried to compare a string with nullptr"); + } + return std::basic_string_view<value_type, traits_type>{lhs} <=> rhs; } |
