From 9cf3d54a9df0ed45118294a0dba9ed75c2738c2a Mon Sep 17 00:00:00 2001 From: disarray2077 <86157825+disarray2077@users.noreply.github.com> Date: Sat, 4 Dec 2021 14:32:44 -0300 Subject: [PATCH] Add ICharacter interface --- BeefLibs/corlib/src/Char16.bf | 2 +- BeefLibs/corlib/src/Char32.bf | 2 +- BeefLibs/corlib/src/Char8.bf | 2 +- BeefLibs/corlib/src/IComparable.bf | 4 ++++ 4 files changed, 7 insertions(+), 3 deletions(-) diff --git a/BeefLibs/corlib/src/Char16.bf b/BeefLibs/corlib/src/Char16.bf index e9aa835e..48492aed 100644 --- a/BeefLibs/corlib/src/Char16.bf +++ b/BeefLibs/corlib/src/Char16.bf @@ -1,6 +1,6 @@ namespace System { - struct Char16 : char16, IHashable, IIsNaN + struct Char16 : char16, ICharacter, IHashable, IIsNaN { const int UNICODE_PLANE00_END = 0x00ffff; // The starting codepoint for Unicode plane 1. Plane 1 contains 0x010000 ~ 0x01ffff. diff --git a/BeefLibs/corlib/src/Char32.bf b/BeefLibs/corlib/src/Char32.bf index 0ea8a01a..fad3bf8d 100644 --- a/BeefLibs/corlib/src/Char32.bf +++ b/BeefLibs/corlib/src/Char32.bf @@ -1,6 +1,6 @@ namespace System { - struct Char32 : char32, IHashable, IIsNaN + struct Char32 : char32, ICharacter, IHashable, IIsNaN { public int GetHashCode() { diff --git a/BeefLibs/corlib/src/Char8.bf b/BeefLibs/corlib/src/Char8.bf index 56220618..4b19908f 100644 --- a/BeefLibs/corlib/src/Char8.bf +++ b/BeefLibs/corlib/src/Char8.bf @@ -1,7 +1,7 @@ namespace System { #unwarn - struct Char8 : char8, IHashable, IIsNaN + struct Char8 : char8, ICharacter, IHashable, IIsNaN { bool IIsNaN.IsNaN { diff --git a/BeefLibs/corlib/src/IComparable.bf b/BeefLibs/corlib/src/IComparable.bf index 70d38ec1..37aa3c39 100644 --- a/BeefLibs/corlib/src/IComparable.bf +++ b/BeefLibs/corlib/src/IComparable.bf @@ -23,6 +23,10 @@ namespace System { } + interface ICharacter + { + } + [Obsolete("Consider operator constraint such as `where bool : operator T == T`", false)] interface IOpEquals {