diff options
| author | ojacobson <ojacobson@noreply.codeberg.org> | 2025-07-23 00:23:10 +0200 |
|---|---|---|
| committer | ojacobson <ojacobson@noreply.codeberg.org> | 2025-07-23 00:23:10 +0200 |
| commit | aec3eaeebd37bce9ab4dad14e7e86ef0db8f0c2d (patch) | |
| tree | 98b1c0f92a35d91dafc2dd7b56b32260a3d2b6d9 /src/main.rs | |
| parent | 64639acbab02aa4103cbe44199e38991269b2137 (diff) | |
| parent | 792de8e49fa8a3c04bfb747adadf71572d753055 (diff) | |
Fix some minor weirdness when Pilcrow is (unwisely) used as a library.
Pilcrow isn't meant to be used as a library, and the only public interface the `pilcrow` lib crate exposes is the CLI entry point. However, we will likely be publishing Pilcrow via crates.io (among other options) one day, and so it will _be usable_ as a library if someone's desperate enough to try. To that end, let's try to be good citizens.
This change fixes two issues:
* The docs contained links to internal items, which are not actually included in the library documentation. The links are simply removed; the uses of those items were already private anyways.
* The CLI `Error` type is no longer part of the public interface, using `impl Trait` (`impl std::error::Error`) shenanigans to hide the error type from callers. (To be clear, this would be _extremely_ rude in code intended for library use.) This frees us up to change the structure of the error type - or to replace it entirely - without making the world's most pedantic semver change in the process.
Merges lib-crate-weirdness into main.
Diffstat (limited to 'src/main.rs')
| -rw-r--r-- | src/main.rs | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/main.rs b/src/main.rs index 427294e..b8981d0 100644 --- a/src/main.rs +++ b/src/main.rs @@ -3,7 +3,7 @@ use clap::Parser; use pilcrow::cli; #[tokio::main] -async fn main() -> Result<(), cli::Error> { +async fn main() -> Result<(), impl std::error::Error> { let args = cli::Args::parse(); args.run().await } |
