diff --git a/lib/std/collections/list.c3 b/lib/std/collections/list.c3 index 32ea8b59c..7d4e3cb0a 100644 --- a/lib/std/collections/list.c3 +++ b/lib/std/collections/list.c3 @@ -538,36 +538,3 @@ fn usz List.compact(&self) @if(ELEMENT_IS_POINTER) } return list_common::list_compact(self); } - -// --> Deprecated - -<* - @param [&inout] self "The list to remove elements from" - @param value "The value to remove" - @return "true if the value was found" -*> -fn bool List.remove_last_match(&self, Type value) @if(ELEMENT_IS_EQUATABLE) @deprecated -{ - return self.remove_last_item(value) @inline; -} - -<* - @param [&inout] self "The list to remove elements from" - @param value "The value to remove" - @return "true if the value was found" -*> -fn bool List.remove_first_match(&self, Type value) @if(ELEMENT_IS_EQUATABLE) @deprecated -{ - return self.remove_first_item(value) @inline; -} - - -<* - @param [&inout] self "The list to remove elements from" - @param value "The value to remove" - @return "the number of deleted elements." -*> -fn usz List.remove_all_matches(&self, Type value) @if(ELEMENT_IS_EQUATABLE) @deprecated -{ - return self.remove_item(value) @inline; -} diff --git a/lib/std/core/types.c3 b/lib/std/core/types.c3 index 3600e4a10..f42fc8105 100644 --- a/lib/std/core/types.c3 +++ b/lib/std/core/types.c3 @@ -319,11 +319,6 @@ macro bool implements_copy($Type) @const return $defined($Type.copy) && $defined($Type.free); } -macro bool is_equatable_value(value) @deprecated -{ - return is_equatable_type($typeof(value)); -} - macro bool @equatable_value(#value) @const { return is_equatable_type($typeof(#value)); @@ -338,15 +333,6 @@ macro bool @comparable_value(#value) @const $endif } -macro bool is_comparable_value(value) @deprecated -{ - $if $defined(value.less) || $defined(value.compare_to): - return true; - $else - return $typeof(value).is_ordered; - $endif -} - enum TypeKind : char { VOID, diff --git a/lib/std/encoding/base32.c3 b/lib/std/encoding/base32.c3 index 1900f2bcb..ec321cfb9 100644 --- a/lib/std/encoding/base32.c3 +++ b/lib/std/encoding/base32.c3 @@ -242,137 +242,6 @@ const char INVALID @private = 0xff; const int STD_PADDING = '='; const int NO_PADDING = -1; -fault Base32Error -{ - DUPLICATE_IN_ALPHABET, - PADDING_IN_ALPHABET, - INVALID_CHARACTER_IN_ALPHABET, - DESTINATION_TOO_SMALL, - INVALID_PADDING, - CORRUPT_INPUT -} - -struct Base32Encoder @deprecated -{ - Base32Alphabet alphabet; - char padding; -} - -<* - @param encoder "The 32-character alphabet for encoding." - @param padding "Set to a negative value to disable padding." - @require padding < 256 -*> -fn void! Base32Encoder.init(&self, Alphabet encoder = STD_ALPHABET, int padding = STD_PADDING) -{ - encoder.validate(padding)!; - *self = { .alphabet = { .encoding = (char[32])encoder }, .padding = padding < 0 ? (char)0 : (char)padding}; -} - -<* - Calculate the length in bytes of the encoded data. - @param n "Length in bytes on input." - @return "Length in bytes of the encoded data." -*> -fn usz Base32Encoder.encode_len(&self, usz n) -{ - return encode_len(n, self.padding); -} - -<* - Encode the content of src into dst, which must be properly sized. - @param [in] src "The input to be encoded." - @param [inout] dst "The encoded input." - @return "The encoded size." - @return! Base32Error.DESTINATION_TOO_SMALL -*> -fn usz! Base32Encoder.encode(&self, char[] src, char[] dst) -{ - usz dn = self.encode_len(src.len); - if (dst.len < dn) return Base32Error.DESTINATION_TOO_SMALL?; - return encode_buffer(src, dst, self.padding, &self.alphabet).len; -} - -struct Base32Decoder @deprecated -{ - Base32Alphabet alphabet; - char padding; -} - -<* - @param decoder "The alphabet used for decoding." - @param padding "Set to a negative value to disable padding." - @require padding < 256 -*> -fn void! Base32Decoder.init(&self, Alphabet decoder = STD_ALPHABET, int padding = STD_PADDING) -{ - decoder.validate(padding)!; - *self = { .alphabet = { .encoding = (char[32])decoder }, .padding = padding < 0 ? (char)0 : (char)padding }; - - self.alphabet.reverse[..] = INVALID; - foreach (char i, c : decoder) - { - self.alphabet.reverse[c] = i; - } -} - -<* - Calculate the length in bytes of the decoded data. - @param n "Length in bytes of input." - @return "Length in bytes of the decoded data." -*> -fn usz Base32Decoder.decode_len(&self, usz n) -{ - return decode_len(n, self.padding); -} - -<* - Decode the content of src into dst, which must be properly sized. - @param src "The input to be decoded." - @param dst "The decoded input." - @return "The decoded size." - @return! Base32Error.DESTINATION_TOO_SMALL, Base32Error.CORRUPT_INPUT -*> -fn usz! Base32Decoder.decode(&self, char[] src, char[] dst) -{ - if (src.len == 0) return 0; - usz dn = self.decode_len(src.len); - if (dst.len < dn) return Base32Error.DESTINATION_TOO_SMALL?; - return decode_buffer(src, dst, self.padding, &self.alphabet).len; -} - - -// Validate the 32-character alphabet to make sure that no character occurs -// twice and that the padding is not present in the alphabet. -fn void! Alphabet.validate(&self, int padding) -{ - bool[256] checked; - foreach (c : self) - { - if (checked[c]) - { - return Base32Error.DUPLICATE_IN_ALPHABET?; - } - checked[c] = true; - if (c == '\r' || c == '\n') - { - return Base32Error.INVALID_CHARACTER_IN_ALPHABET?; - } - } - if (padding >= 0) - { - char pad = (char)padding; - if (pad == '\r' || pad == '\n') - { - return Base32Error.INVALID_PADDING?; - } - if (checked[pad]) - { - return Base32Error.PADDING_IN_ALPHABET?; - } - } -} - distinct Alphabet = char[32]; // Standard base32 Alphabet const Alphabet STD_ALPHABET = "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"; diff --git a/lib/std/encoding/base64.c3 b/lib/std/encoding/base64.c3 index 9659439c9..73121d999 100644 --- a/lib/std/encoding/base64.c3 +++ b/lib/std/encoding/base64.c3 @@ -103,7 +103,6 @@ fn usz! decode_len(usz n, char padding) @param alphabet "The alphabet to use" @require padding < 0xFF "Invalid padding character" @return "The encoded size." - @return! Base64Error.DESTINATION_TOO_SMALL *> fn String encode_buffer(char[] src, char[] dst, char padding = DEFAULT_PAD, Base64Alphabet* alphabet = &STANDARD) { @@ -254,146 +253,3 @@ fn char[]! decode_buffer(char[] src, char[] dst, char padding = DEFAULT_PAD, Bas const MASK @private = 0b111111; -struct Base64Encoder @deprecated -{ - char padding; - String alphabet; -} - -fault Base64Error -{ - DUPLICATE_IN_ALPHABET, - PADDING_IN_ALPHABET, - DESTINATION_TOO_SMALL, - INVALID_PADDING, - INVALID_CHARACTER, -} - -<* - @param alphabet "The alphabet used for encoding." - @param padding "Set to a negative value to disable padding." - @require alphabet.len == 64 - @require padding < 256 - @return! Base64Error.DUPLICATE_IN_ALPHABET, Base64Error.PADDING_IN_ALPHABET -*> -fn Base64Encoder*! Base64Encoder.init(&self, String alphabet, int padding = '=') -{ - check_alphabet(alphabet, padding)!; - *self = { .padding = padding < 0 ? 0 : (char)padding, .alphabet = alphabet }; - return self; -} - -<* - Calculate the size of the encoded data. - @param n "Size of the input to be encoded." - @return "The size of the input once encoded." -*> -fn usz Base64Encoder.encode_len(&self, usz n) -{ - return encode_len(n, self.padding); -} - -<* - Encode the content of src into dst, which must be properly sized. - @param src "The input to be encoded." - @param dst "The encoded input." - @return "The encoded size." - @return! Base64Error.DESTINATION_TOO_SMALL -*> -fn usz! Base64Encoder.encode(&self, char[] src, char[] dst) -{ - if (src.len == 0) return 0; - usz dn = self.encode_len(src.len); - if (dst.len < dn) return Base64Error.DESTINATION_TOO_SMALL?; - Base64Alphabet a = { .encoding = self.alphabet[:64] }; - return encode_buffer(src, dst, self.padding, &a).len; -} - -struct Base64Decoder @deprecated -{ - char padding; - Base64Alphabet encoding; - bool init_done; -} - -import std; -<* - @param alphabet "The alphabet used for encoding." - @param padding "Set to a negative value to disable padding." - @require alphabet.len == 64 - @require padding < 256 - @return! Base64Error.DUPLICATE_IN_ALPHABET, Base64Error.PADDING_IN_ALPHABET -*> -fn void! Base64Decoder.init(&self, String alphabet, int padding = '=') -{ - self.init_done = true; - check_alphabet(alphabet, padding)!; - *self = { .padding = padding < 0 ? 0 : (char)padding, .encoding.encoding = alphabet[:64] }; - - self.encoding.reverse[..] = 0xFF; - - foreach (i, c : alphabet) - { - self.encoding.reverse[c] = (char)i; - } -} - -<* - Calculate the size of the decoded data. - @param n "Size of the input to be decoded." - @return "The size of the input once decoded." - @return! Base64Error.INVALID_PADDING -*> -fn usz! Base64Decoder.decode_len(&self, usz n) -{ - return decode_len(n, self.padding) ?? Base64Error.INVALID_PADDING?; -} - -<* - Decode the content of src into dst, which must be properly sized. - @param src "The input to be decoded." - @param dst "The decoded input." - @return "The decoded size." - @return! Base64Error.DESTINATION_TOO_SMALL, Base64Error.INVALID_PADDING, Base64Error.INVALID_CHARACTER -*> -fn usz! Base64Decoder.decode(&self, char[] src, char[] dst) -{ - if (src.len == 0) return 0; - usz dn = self.decode_len(src.len)!; - if (dst.len < dn) return Base64Error.DESTINATION_TOO_SMALL?; - char[]! decoded = decode_buffer(src, dst, self.padding, &self.encoding); - if (catch err = decoded) - { - case DecodingFailure.INVALID_PADDING: - return Base64Error.INVALID_PADDING?; - case DecodingFailure.INVALID_CHARACTER: - return Base64Error.INVALID_CHARACTER?; - default: - return err?; - } - return decoded.len; -} - -// Make sure that all bytes in the alphabet are unique and -// the padding is not present in the alphabet. -fn void! check_alphabet(String alphabet, int padding) @local -{ - bool[256] checked; - if (padding < 0) - { - foreach (c : alphabet) - { - if (checked[c]) return Base64Error.DUPLICATE_IN_ALPHABET?; - checked[c] = true; - } - return; - } - char pad = (char)padding; - foreach (c : alphabet) - { - if (c == pad) return Base64Error.PADDING_IN_ALPHABET?; - if (checked[c]) return Base64Error.DUPLICATE_IN_ALPHABET?; - checked[c] = true; - } -} - diff --git a/lib/std/io/stream.c3 b/lib/std/io/stream.c3 index 0f083229d..1af0574b0 100644 --- a/lib/std/io/stream.c3 +++ b/lib/std/io/stream.c3 @@ -104,11 +104,6 @@ macro usz! write_all(stream, char[] buffer) return n; } -macro usz! @read_using_read_byte(&s, char[] buffer) @deprecated -{ - return read_using_read_byte(*s, buffer); -} - macro usz! read_using_read_byte(s, char[] buffer) { usz len = 0; @@ -132,16 +127,6 @@ macro void! write_byte_using_write(s, char c) s.write(&buff)!; } -macro void! @write_byte_using_write(&s, char c) @deprecated -{ - return write_byte_using_write(*s, c); -} - -macro char! @read_byte_using_read(&s) @deprecated -{ - return read_byte_using_read(*s); -} - macro char! read_byte_using_read(s) { char[1] buffer; @@ -159,21 +144,11 @@ macro usz! write_using_write_byte(s, char[] bytes) return bytes.len; } -macro usz! @write_using_write_byte(&s, char[] bytes) @deprecated -{ - return write_using_write_byte(*s, bytes); -} - macro void! pushback_using_seek(s) { s.seek(-1, CURSOR)!; } -macro void! @pushback_using_seek(&s) @deprecated -{ - s.seek(-1, CURSOR)!; -} - fn usz! copy_to(InStream in, OutStream dst, char[] buffer = {}) { if (buffer.len) return copy_through_buffer(in, dst, buffer); diff --git a/lib/std/libc/libc.c3 b/lib/std/libc/libc.c3 index 5696d10b4..e84796a93 100644 --- a/lib/std/libc/libc.c3 +++ b/lib/std/libc/libc.c3 @@ -44,7 +44,6 @@ const CInt SIGQUIT = 3; const CInt SIGILL = 4; const CInt SIGTRAP = 5; const CInt SIGABRT = 6; -const CInt SIGABTR @deprecated("use SIGABRT") = SIGABRT; const CInt SIGBUS = BSD_FLAVOR_SIG ? 10 : 7; // Or Mips const CInt SIGFPE = 8; const CInt SIGKILL = 9; diff --git a/lib/std/math/math_vector.c3 b/lib/std/math/math_vector.c3 index 1d686a8cc..00d9490f9 100644 --- a/lib/std/math/math_vector.c3 +++ b/lib/std/math/math_vector.c3 @@ -66,9 +66,6 @@ fn Vec3 Vec3.refract(self, Vec3 n, double r) => refract3(self, n, r); fn void ortho_normalize(Vec3f* v1, Vec3f* v2) => ortho_normalize3(v1, v2); fn void ortho_normalized(Vec3* v1, Vec3* v2) => ortho_normalize3(v1, v2); -fn Matrix4f matrix4f_look_at(Vec3f eye, Vec3f target, Vec3f up) @deprecated => matrix::look_at{float}(eye, target, up); -fn Matrix4 matrix4_look_at(Vec3 eye, Vec3 target, Vec3 up) @deprecated => matrix::look_at{double}(eye, target, up); - fn Vec3f Vec3f.rotate_quat(self, Quaternionf q) => rotate_by_quat3(self, q); fn Vec3 Vec3.rotate_quat(self, Quaternion q) => rotate_by_quat3(self, q); diff --git a/lib/std/sort/sort.c3 b/lib/std/sort/sort.c3 index f4f7dfbd6..938a1a3e5 100644 --- a/lib/std/sort/sort.c3 +++ b/lib/std/sort/sort.c3 @@ -1,10 +1,5 @@ module std::sort; -macro usz @len_from_list(&list) @deprecated -{ - return len_from_list(*list); -} - macro usz len_from_list(list) { $if $defined(list.len()):