This is the first in a series of PRs to fix some flaws in best's object model. This patch removes best::vptr and best::vbox, and unifies best::ptr<T> and best:;ptr<T[]> using a Rust-like pointer metadata system.
Unfortunately, this uncovered a bunch of gross issues with several core components, including handling of arrays, the construction concepts, containers like best::object, and the fact there is no rvalue span. In the sequel, I'll reorganize all of the type traits and concepts.
This is the first in a series of PRs to fix some flaws in
best
's object model. This patch removesbest::vptr
andbest::vbox
, and unifiesbest::ptr<T>
andbest:;ptr<T[]>
using a Rust-like pointer metadata system.Unfortunately, this uncovered a bunch of gross issues with several core components, including handling of arrays, the construction concepts, containers like
best::object
, and the fact there is no rvalue span. In the sequel, I'll reorganize all of the type traits and concepts.