About Me
I work on open source crates and am active on
- Rust Users
- Rust Internals
- Github
- Reddit (/u/YatoRust instead of RustyYato, :P)
This blog is about the Rust Programming Language. Here we will delve into the details of how Rust operates, how it desugars various constructs, and more!
I have created a number of crates including:
generic-field-projection
- A prototype implementation for RFC #2708, which allows you overload the dot operator to get field access on arbitrary types.ptr-to-field
was a precursor togeneric-field-projection
and helped inform it’s design decisions.typsy
- Type level list and enums which is used in the internals ofgeneric-field-projection
. This crate was heavily inspired byfrunk
double-buffer
- A re-implementation ofleft-right
that has a few different design decisions and serves as a lower level api toleft-right
generic-vec
– aVec
implementation that is generic over its storage strategy- For example, it’s possible to implement both a heap-backed vector and an array backed vector with this library and use
GenericVec
without caring about how its data is stored
- For example, it’s possible to implement both a heap-backed vector and an array backed vector with this library and use
type-families
- An implementation of a few popular type-classes from Haskell in stable Rustrel-ptr
- Relative pointers in Rust, which can be used to soundly create one class of self-referential types.vec-utils
- Extra functions to efficiently covnert aVec<T>
toVec<U>
, reusing the memory where possibleset_slice
- My first crate, some syntactic sugar to allow setting arbitrary sub-slices of a slice
I’ve also work on a number of open source projects, chief among them:
- Rust
std
libraryPR
- where I modified the blanket implementations onFrom -> TryFrom
toInto -> TryFrom
- MIRI deallocation hooks
PR 1
,PR 2
- where I added deallocation hooks to MIRI, which shows you when an allocation is deallcoated when it is tracked. - Made
once_cell
more flexiblePR
- Changedonce_cell::*::Lazy
to allowFnOnce
closures instead of justFn
closuresonce_cell
is now in the process of getting merged into std, which is exciting
- Exposed useful traits in
packed_simd
PR
- Found subtle soundness holes in multiple crates:
- in
dashmap
- soundness hole, PR - in
evmap
- soundness hole - in
stowaway
- soundness hole - in
logos
- soundness hole, PR
- in