Skip to content

Remove never crate and switch to Infallible type#93

Merged
andy128k merged 1 commit into
rust-syndication:masterfrom
phoebehfharris:master
May 10, 2026
Merged

Remove never crate and switch to Infallible type#93
andy128k merged 1 commit into
rust-syndication:masterfrom
phoebehfharris:master

Conversation

@phoebehfharris
Copy link
Copy Markdown
Contributor

atom_syndication currently uses the never crate to provide a stable bottom/never type (!) while we wait for ! to be stabilised. This is a library that appears essentially unmaintained (not that it's too much of a problem - not much code to maintain!), and has been deleted from the original repo (the upstream link in crates.io is a dead link to a file in the Fuchsia monorepo)

atom_syndication is only using the never::Never type to indicate an error, which the Rust standard library already provides in the form of Infallible. This is currently an empty struct with some trait implementations (much like never::Never), but upon stabilisation of ! will be switched to a type alias. With a couple exceptions, this is forward compatible. We can switch to Infallible and drop a dependency.

This makes my work a little easier as I'm currently packaging a dependent of atom_syndication, and by extension, atom_syndication itself, in the Fedora repos, and never has some license file weirdness which is a PITA.

@andy128k andy128k merged commit 992adfb into rust-syndication:master May 10, 2026
15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants