List view
std::string and string_view are problematic. String::substr returns a new heap allocation rather than a view! We can make them interoperate with concepts and iterators and containers but it would be a lot nicer to provide APIs around them. I believe there are a fair number of problems we can solve by providing a better abstraction. This milestone is to explore and design them, as they should be used in later milestones. Note that the internal storage of an owned string should probably be std::string still to make conversions as cheap as possible. The downside here though is the use of SSO which grows the std::string type and makes heap allocations unclear in the code.
No due dateReplace all use of the C library by providing functions built on subspace vocabulary types like Slice and Result. The `sus::env::var` and `sus::env::set_var` functions (https://suslib.cc/sus-namespace.env.html) are a first example of this stage of the library.
No due dateTracks all subdoc issues
No due date•13/15 issues closedThe milestone does not yet represent a complete view of the work to be done. * Contiguous Vec and Array * Ordered Maps and Sets * HashMaps and HashSets * VecDeque etc... Interaction with std::containers is in scope here too.
No due date•0/5 issues closed- No due date•12/20 issues closed
First stabilization milestone, stable numerics. Following semver rules after that for numerics and their *public* dependencies and related concepts. - i8, i16, i32, i64, isize - u8, u16, u32, u64, usize, uptr - f32, f64 - FpCategory - Eq, Ord, WeakOrd, PartialOrd - Transmogrify for conversions with each other and with/between primitives (safer than static_cast!) - Integer, Unsigned, Signed, UnsignedPrimitiveInteger, SignedPrimitiveInteger, PrimitiveInteger, Float, PrimitiveFloat - Neg, BitAnd, Add, AddAssign, Sub, Mul, ... etc from num/num_concepts.h - Option - Result - panic - unsafe_fn - Clone, Copy, Move concepts. clone(), move(), forward(). - Fn, FnMut, FnOnce Some Option methods are unstable then still due to below: - iter(), iter_mut(), into_iter(), from_iter() (re: Iterators) - zip(), unzip() (re: Tuple) Explicitly not included though: - Iterators: https://github.com/chromium/subspace/milestone/2 - FromIterator, same deal. - DynFn which can be its own milestone (along with Box?) - mem::replace and friends. These are impl details for now. - mem::relocate and friends. These are impl details for now. - mem::take and friends. These are impl details for now. - Tuple: Still baking. - NeverValueField. Impl detail of Option for now.
No due date•41/49 issues closed