You are browsing as a guest. Sign up (or log in) to start making projects!

1h 25m 50s logged

Very inefficient work today again, partly because it turned out something I did last time didn’t commit. Another 20 minutes of interface things later, I somehow still feel very powerful. JetBrains IDEs are magic.
Since last time, we’ve got two new candidate maintainers popping in to review changes (using suspiciously LLM-sounding language, still …), and thus it’s natural that I increase my work by two as well. I followed up on two more pull requests.

The first one was somewhat simple. There’s a zsh script I put into the root of the project to detect changes in the tests against real-life sample code, and it turns out the trap I added to clean up temp files after early termination forgot to terminate the code. I wasted unlogged time shell-reading the zsh manual, which advertised an extremely outdated and incomplete online version, until I realized there was in fact a current and complete online manual. 🥀
In summary, zsh trap functions replace the single slot of the function to execute upon the kill signal. That’s very elegant, actually. I initially added the trap code upon suggestion from Coderabbit AI pull-request review and this devious devilous leporine tried to make it so we could never kill the machines. I’m scared. /j

The second one actually took quite a bit of thought. cpplint has a feature to warn on C-style casts to suggest more specific C++ casts instead. The PR was to make it stop detecting function pointers that take a pointer argument as casts if they happened to be marked noexcept. My original solution added an exception to noexcepts, which a candidate maintainer reviewer found was overly broad and suppressing casts of the bool value of the noexcept operator. Which, though niche, actually does seem plausible.
I drew up two different solutions, and decided to ask the JetBrains powered LLM-with-no-name which one was better. It correctly identified that the optional group could simply not be matched and is probably less optimized than the identical lookbehind, but then kept insisting function p. So I put it to death.
I proclaimed my own lookbehind creation, for only man can make divine. After a hiccup involving my misunderstanding of the difference between lookbehinds and lookaheads (Dear Past Me: duh), I settled for detecting an unspaced closing parenthesis because non–function pointer cases of such syntax would surely be formatted with a space by sane minds. coderabbit AI, which notably lacks a mind, agreed.


Even if it’s all machine, the project (tracker) finally seems alive.

0
2

Comments 0

No comments yet. Be the first!