Rename 'SizedStr' to 'String'; Rename 'SizedSlice' to 'Vec'; Mark 'String::as_mut_str' with 'const'; Update readme; Relicence under MPL 2.0; Licence logo; Rename 'SizedIter' to 'IntoIter'; Update docs; Update copyright notices; Add 'vec', 'string', and 'slot' modules; Refactor tests; Clean up code; Rename 'LengthError' fields; Implement 'PartialEq' and 'Eq' for some error types; Remove 'Utf16Error' and 'CStringDecodeError'; Rename 'StrError' to 'StringError'; Remove 'Self: Sized' requirement from 'SizedEncode'; Remove 'T: Sized' requirement from 'Encode' for 'PhantomData<T>'; Unimplement 'Decode' for 'alloc::vec::Vec', 'alloc::string::String', 'CString', 'LinkedList', 'HashMap', and 'HashSet'; Unimplement 'DecodeBorrowed' for 'alloc::vec::Vec', 'alloc::string::String', and 'CString'; Implement 'Debug' for 'Output'; Remove 'B: Sized' requirement from 'Decode' for 'Cow<'_, B>'; Add 'must_use' attribute to 'Vec::{each_ref, each_mut}'; Rework 'Vec::set_len' and add 'set_len_unchecked' method; Remove '{String, Vec}::capacity'; Implement 'SizedEncode' for 'PhantomPinned'; License Cargo manifests; License benchmarks; Add temporary 'never-type', 'f16', and 'f128' feature flags; Remove 'chars' and 'char_indices' from 'String'; Implement 'Drop' for 'IntoIter' and 'Vec'; Implement 'Encode', 'SizedEncode', and 'Decode' for 'UnsafeCell'; Update error requirements for some 'Encode' and 'Decode' implementations; Fix soundness hole with 'Vec::copy_from_slice'; Rename 'Vec::into_vec' to 'into_alloc_vec';

This commit is contained in:
Gabriel Bjørnager Jensen 2025-01-09 11:18:00 +01:00
parent 87be89b792
commit 44032dc551
85 changed files with 2579 additions and 3807 deletions

View file

@ -1,23 +1,10 @@
// Copyright 2024 Gabriel Bjørnager Jensen.
// Copyright 2024-2025 Gabriel Bjørnager Jensen.
//
// This file is part of Oct.
//
// Oct is free software: you can redistribute it
// and/or modify it under the terms of the GNU
// Lesser General Public License as published by
// the Free Software Foundation, either version 3
// of the License, or (at your option) any later
// version.
//
// Oct is distributed in the hope that it will be
// useful, but WITHOUT ANY WARRANTY; without even
// the implied warranty of MERCHANTABILITY or FIT-
// NESS FOR A PARTICULAR PURPOSE. See the GNU Less-
// er General Public License for more details.
//
// You should have received a copy of the GNU Less-
// er General Public License along with Oct. If
// not, see <https://www.gnu.org/licenses/>.
// This Source Code Form is subject to the terms of
// the Mozilla Public License, v. 2.0. If a copy of
// the MPL was not distributed with this file, you
// can obtain one at:
// <https://mozilla.org/MPL/2.0/>.
use crate::{Discriminants, Repr};