Creează un cont pentru a te abona la acest blog și a-i urmări articolele pe pagina Lectură.
-
Accidental breakage can happen in any codebase.
-
Happy April 1st!
-
Last year's annual review post observed that cargo-semver-checks' lint library is undergoing exponential growth, doubling each year: 30 lints at the end of 2022, 57 lints in 2023, and 120 at the end of 2024.
-
Recently, a cargo-semver-checks user reached out with a conundrum: cargo-semver-checks reported being unable to build their crate, but when they ran cargo check themselves, it always completed successfully.
-
Researching the SemVer hazards of the #[target_feature] attribute led to finding unexpected unsoundness, discovering an "accidental feature" in Rust, finding bugs in rustdoc, the creation of an RFC that evolves the Rust language, and the addition of a doz…
-
Happy April 1st!
-
cargo-semver-checks v0.40 ships a massive upgrade to its system for detecting sealed traits.
-
cargo-semver-checks ends 2024 having improved dramatically over the course of the year: 12 new releases featuring 63 new lints, with 1175 merged PRs from 57 authors across the many repos that make the project tick.
-
cargo-semver-checks v0.37 can now scan Cargo.toml files for breakage!
-
cargo-semver-checks v0.35 can determine whether Rust traits are "sealed", allowing it to catch many tricky new instances of SemVer breakage.
-
In 2022, I gave a talk at a virtual conference with an unforgettable name: HYTRADBOI, which stands for "Have You Tried Rubbing a Database On It?"
-
Happy April 1st!
-
Last month, I gave a talk titled "SemVer in Rust: Breakage, Tooling, and Edge Cases" at the FOSDEM 2024 conference.
-
My last post covered the key cargo-semver-checks achievements from 2023.
-
2023 was a big year for cargo-semver-checks!
-
cargo-semver-checks v0.25 squashes nearly all bugs related to doc(hidden) items — its most common source of false-positives.
-
This post is coauthored by Tomasz Nowak and Predrag Gruevski.
-
A few days ago, I started polls on Mastodon and Twitter whether adding a new private type, or an import, can ever be a major breaking change.
-
For the longest time, I thought that "sealed trait" in Rust was a singular concept implementable in one specific way.
-
Happy April 1st!
-
We've already explored some of the dark corners of Rust semantic versioning on this blog:
-
This post describes work in progress: how cargo-semver-checks will benefit from the upcoming query optimization API in the Trustfall query engine.
-
I recently embarked on a quest: revamp the cargo-semver-checks import-handling system so that moving and re-exporting an item stops being incorrectly flagged as a major breaking change.
-
I've been saying for a while now that semantic versioning in Rust is tricky and full of unexpected edge cases.
-
EDIT: The Rust API evolution RFC distinguishes between breaking changes and changes that require a new semver-major version (called major changes).
-
cargo-semver-checks ends 2022 with 40,000 downloads from crates.io, able to prevent 30 different kinds of semver issues, and having done so in real-world use cases.
-
Undefined behavior (UB) is a tricky concept in programming languages and compilers.
-
I had a lot of fun spending nights-and-weekends time participating in the HYTRADBOI Jam, a global hack week aimed at building "exciting and weird" data-centric solutions to familiar problems.
-
The saying usually goes: "If at first you don't succeed, try, try again."
-
I recently built cargo-semver-checks, a linter that ensures crates adhere to semantic versioning.
-
A beginner-friendly introduction to compilers: follow along as we build a compiler from scratch, or fork the code on GitHub and add your own optimizations too!
-
Happy April 1st!
-
A beginner-friendly introduction to compilers: follow along as we build a compiler from scratch, or fork the code on GitHub and add your own optimizations too!
-
A beginner-friendly introduction to compilers: follow along as we build a compiler from scratch, or fork the code on GitHub and add your own optimizations too!
-
Distributed systems courses frequently introduce the Paxos and two-phase commit (2PC) protocols in quick succession.