On Tuesday, a weekly CI run triggered a Miri failure for a crate I maintain which has some unsafe code. Two days later I had a fix validated, reviewed, and released plus a RustSec advisory published at https://rustsec.org/advisories/RUSTSEC-2023-0048.html. From advisory being published to the dependabot PR was about 16 hours. #rust #artichoke #security
It's been a while since I've posted about #artichoke, but I recently landed a #rust implementation of #ruby's `String` class. #win https://github.com/artichoke/artichoke/pull/1222
focaccia and roe are UTF-8 case manipulation crates for implementing parts of `String` and `Symbol` in #artichoke. intaglio is Artichoke's symbol table, boba is an implementation of Bubble Babble Encoding which will be used in the `digest` stdlib package. #rust #patch
Published a few more #rust crates since I last checked in: boba, focaccia, intaglio, and roe. https://crates.io/crates/boba https://crates.io/crates/focaccia https://crates.io/crates/intaglio https://crates.io/crates/roe #patch
Once GH-670 was merged, I had a segfault that only (and reliably) reproduced on one test in Windows #artichoke #rust #windows
After 50 PRs, I was able to put GH-442 to bed and remove the Rc wrapper from the Artichoke state https://github.com/artichoke/artichoke/pull/670 #win This refactor took 4 months #fail #rust #artichoke
I published my first #rust crate (and package of any kind, ever)! rand_mt is a fork of an existing Mersenne Twister crate which adds compatibility with the latest rand_core and makes it no_std https://crates.io/crates/rand_mt #patch
I contributed a feature to #rust! Added an implementation to allow turning a &mut str into a String using the standard From trait #win #patch https://github.com/rust-lang/rust/pull/69661
I reported an undocumented panic in #rust that was fixed today #patch #win https://github.com/rust-lang/rust/issues/63456
I'm trying to improve Regexp performance in #artichoke by using the regex crate instead of oniguruma in some cases. It turns out not to be faster in all cases #patch #rust #fail https://github.com/rust-lang/regex/issues/604
Reported a bug in layout generation for structure with flexible array members to #rust bindgen that was recently fixed #patch https://github.com/rust-lang/rust-bindgen/issues/1589
That memory leak turned out to be quite the yak shave. setjmp/longjmp from C leaving #rust memory in inconsistent state #fail https://github.com/artichoke/ferrocarril/pull/168
Optimized String#scan in ferrocarril to be comparable to CRuby performance #rust #ruby #mruby #performance https://github.com/artichoke/ferrocarril/pull/138
Added a feature (both a new capability and a compile time feature!) to rust-embed to allow it to embed sources relative to crate root which is useful in workspaces #rust #patch https://github.com/pyros2097/rust-embed/pull/67
I reported a compiler improvement for suggestion diagnostics #rust #patch https://github.com/rust-lang/rust/issues/61555
I have Regexp#match? https://github.com/artichoke/ferrocarril/pull/93 #win #rust #ruby
here's another Clippy bug #rust #fail https://github.com/rust-lang/rust-clippy/issues/4143
ferrocarril is a new project I've been working on to embed #ruby on Rails in #rust https://github.com/artichoke/ferrocarril
I just used #github to create a reproducer case for a panic in a #rust library #win https://github.com/lopopolo/rust-embed-panic https://github.com/pyros2097/rust-embed/issues/61 #patch
I found an ICE (internal compiler error) in clippy in #rust nightly #fail https://github.com/rust-lang/rust/issues/60067
I have eliminated all explicit casts in punchtop #rust #win https://github.com/lopopolo/punchtop/commit/1e41ca3
More #rust safety: removed a cast to usize with the new usize::from_be_bytes converter https://github.com/lopopolo/punchtop/commit/2263c80 #win
The game that I'm working on is punchtop https://github.com/lopopolo/punchtop #win #rust #powerhour
I made a small #rust crate called stream-util for a game I'm working on. https://github.com/lopopolo/punchtop/tree/master/stream-util allows graceful drains of tokio mpsc channels or canceling a futures Stream. Clippy pedantic and fully documented #win
I implemented a #rust client for the #chromecast protocol for a game I'm working on. I collected a fairly exhaustive set of protocol documentation: https://github.com/lopopolo/punchtop/tree/master/cast-client
First #rust #patch accepted https://github.com/asomers/futures-locks/pull/10 closing out 2018 with a bang
Took 4.5 years but I've finally started to learn #rust: https://hyperbo.la/lifestream/298/. I'm implementing a power hour game that plays to a #chromecast with a #react webview UI.