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 rustsec.org/advisories/RUSTSEC-2023-0048.html. From advisory being published to the dependabot PR was about 16 hours. #rust #artichoke #security
permalinkIt's been a while since I've posted about #artichoke, but I recently landed a #rust implementation of #ruby's `String` class. #win github.com/artichoke/artichoke/pull/1222
permalinkfocaccia 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
permalinkPublished a few more #rust crates since I last checked in: boba, focaccia, intaglio, and roe. crates.io/crates/boba crates.io/crates/focaccia crates.io/crates/intaglio crates.io/crates/roe #patch
permalinkOnce GH-670 was merged, I had a segfault that only (and reliably) reproduced on one test in Windows #artichoke #rust #windows
permalinkAfter 50 PRs, I was able to put GH-442 to bed and remove the Rc wrapper from the Artichoke state github.com/artichoke/artichoke/pull/670 #win This refactor took 4 months #fail #rust #artichoke
permalinkI 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 crates.io/crates/rand_mt #patch
permalinkI contributed a feature to #rust! Added an implementation to allow turning a &mut str into a String using the standard From trait #win #patch github.com/rust-lang/rust/pull/69661
permalinkI reported an undocumented panic in #rust that was fixed today #patch #win github.com/rust-lang/rust/issues/63456
permalinkI'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 github.com/rust-lang/regex/issues/604
permalinkReported a bug in layout generation for structure with flexible array members to #rust bindgen that was recently fixed #patch github.com/rust-lang/rust-bindgen/issues/1589
permalinkThat memory leak turned out to be quite the yak shave. setjmp/longjmp from C leaving #rust memory in inconsistent state #fail github.com/artichoke/ferrocarril/pull/168
permalinkOptimized String#scan in ferrocarril to be comparable to CRuby performance #rust #ruby #mruby #performance github.com/artichoke/ferrocarril/pull/138
permalinkAdded 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 github.com/pyros2097/rust-embed/pull/67
permalinkI reported a compiler improvement for suggestion diagnostics #rust #patch github.com/rust-lang/rust/issues/61555
permalinkI have Regexp#match? github.com/artichoke/ferrocarril/pull/93 #win #rust #ruby
permalinkhere's another Clippy bug #rust #fail github.com/rust-lang/rust-clippy/issues/4143
permalinkferrocarril is a new project I've been working on to embed #ruby on Rails in #rust github.com/artichoke/ferrocarril
permalinkI just used #github to create a reproducer case for a panic in a #rust library #win github.com/lopopolo/rust-embed-panic github.com/pyros2097/rust-embed/issues/61 #patch
permalinkI found an ICE (internal compiler error) in clippy in #rust nightly #fail github.com/rust-lang/rust/issues/60067
permalinkI have eliminated all explicit casts in punchtop #rust #win github.com/lopopolo/punchtop/commit/1e41ca3
permalinkMore #rust safety: removed a cast to usize with the new usize::from_be_bytes converter github.com/lopopolo/punchtop/commit/2263c80 #win
permalinkThe game that I'm working on is punchtop github.com/lopopolo/punchtop #win #rust #powerhour
permalinkI made a small #rust crate called stream-util for a game I'm working on. 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
permalinkI implemented a #rust client for the #chromecast protocol for a game I'm working on. I collected a fairly exhaustive set of protocol documentation: github.com/lopopolo/punchtop/tree/master/cast-client
permalinkFirst #rust #patch accepted github.com/asomers/futures-locks/pull/10 closing out 2018 with a bang
permalinkTook 4.5 years but I've finally started to learn #rust: hyperbo.la/lifestream/298. I'm implementing a power hour game that plays to a #chromecast with a #react webview UI.
permalink