Mecha Crabs Going Rogue
// A very specific set of circumstances (mainly, implementing Deref, and having a procedural macro and a Debug derivation in external crates) caused an internal compiler error (ICE) when trying to use rustdoc. This test reproduces the exact circumstances which caused the bug and checks that it does not happen again.
One gets dizzy imagining the contributors back then, like masterful chemists, isolating and purifying the united causes of this obscure error, until at last illumination strikes, resulting in the deletion of a single line of code, and the creation of a run-make
test easily 10 times larger than the fix itself.
This week, running through review comments and implementing requested suggestions and patches proved steady and rhythmic. Another fresh batch was on its way to getting shipped to the Rust compiler - packaged, wrapped up, with a nice r+
sticker on it. We just needed a quick test on the Microsoft Visual C++ compiler for compatibility...
Which caused the Bors bot to go rogue and... seemingly try to merge without running the compatibility test. I mean, really now? The bot's profile picture on Github is literally HAL 9000's eye. What could possibly go wrong giving the bot managing a programming language designed for robustness (excellent for tasks critical to humanity, such as space exploration, the creation of drones to save orphans from blazing buildings, and the blockchain generation for non-fungible tokens) the physical appearance of a fictional robot not known for its valuing of human life?
The runaway machine was subdued, and the pull request is safe... for now.
Merged this week
- no-intermediate-extras
- reset-codegen-1
- external-crate-panic-handle-no-lint
- noalias-freeze
- core-no-oom-handling, non-pie-thread-local, deref-impl-rustdoc-ice (I am bundling these up in the same pull request now, as the frontpage spam was getting a little intense, which was noticed.)
Open
- pgo-branch-weights, where a peculiar error happened on
aarch64
about failure to create aprofdata
file. I'll go over this in my weekly check-in meeting tomorrow. - emit, mixing-formats, bare-outfile, where the bot went rogue. A strange error still remains - as I am typing this, the test is being restarted.
- link-arg, link-dedup, no-panic-blank-output, which should probably be UI tests instead?
Oxidizing My Toolkit
So, I've been a VSCodium (the no-telemetry version of VSCode) plebeian for a long time, but my techiest friend insisted on how COOL and PRODUCTIVE it is to have a modal editor. But not ANY modal editor. It had to be Helix. Which is like Neovim, but written in Rust (this is the only argument I needed to be convinced).
I also found for myself a terminal multiplexer, Zellij, which is like Tmux but written in Rust (this is also the only argument I needed to be convinced).
Before someone posts me on r/programmingcirclejerk, I am jesting and I found myself enjoying Helix not because of "blazing speed" or any other crab-related meme, but really just because:
- It shows me a lot of keybinds when I press space or g, and what they do
- It doesn't require me to install any extensions
I quickly learned the basics - i to insert, e and b to move through words, I and A to move to the start and end of a line, and most amusingly, pressing C to duplicate my cursor. I always feel like a masterful illusionist when doing it.
I am actually typing this on Helix right now. And yes, I just suddenly felt the need to uselessly summon a bunch of clones of myself because it's just so cool. I am actually typing this on Helix right now. And yes, I just suddenly felt the need to uselessly summon a bunch of clones of myself because it's just so cool. I am actually typing this on Helix right now. And yes, I just suddenly felt the need to uselessly summon a bunch of clones of myself because it's just so cool. I am actually typing this on Helix right now. And yes, I just suddenly felt the need to uselessly summon a bunch of clones of myself because it's just so cool. I am actually typing this on Helix right now. And yes, I just suddenly felt the need to uselessly summon a bunch of clones of myself because it's just so cool. I am actually typing this on Helix right now. And yes, I just suddenly felt the need to uselessly summon a bunch of clones of myself because it's just so cool. I am actually typing this on Helix right now. And yes, I just suddenly felt the need to uselessly summon a bunch of clones of myself because it's just so cool. I am actually typing this on Helix right now. And yes, I just suddenly felt the need to uselessly summon a bunch of clones of myself because it's just so cool. I am actually typing this on Helix right now. And yes, I just suddenly felt the need to uselessly summon a bunch of clones of myself because it's just so cool.
After just one week, I really do feel more productive in it than I was in VSCodium. I think the most useful part is easily the file picker, as it gives previews of each file while browsing, unlike VSCodium's Ctrl-P. It's great for run-make tests, as I simply write "Makefile" and start browsing tests quickly and isolating which ones are doable with the current state of the support library with little effort.
Another neat touch to make programming even more fun :3