Skip to main content

use_rust/
lib.rs

1#![forbid(unsafe_code)]
2#![doc = include_str!("../README.md")]
3
4//! Thin umbrella re-exports for RustUse Rust ecosystem primitives.
5
6pub use use_crate;
7pub use use_version;
8
9/// Commonly used RustUse Rust ecosystem primitives.
10pub mod prelude {
11    pub use use_crate::{
12        crate_name_to_module_name, expected_docs_url, expected_repository_url, is_use_prefixed,
13        is_valid_crate_name, module_name_to_crate_name, normalize_crate_name,
14        validate_crate_metadata, CrateMetadata, CrateName, DocumentationUrl, PublishStatus,
15        RepositoryUrl,
16    };
17    pub use use_version::{
18        compare_versions, is_prerelease, next_major, next_minor, next_patch, parse_version,
19        ReleaseLevel, Version, VersionBump, VersionPolicy,
20    };
21}
22
23#[cfg(test)]
24mod tests {
25    use super::prelude::{expected_repository_url, next_patch, parse_version};
26
27    #[test]
28    fn reexports_common_helpers() {
29        let version = parse_version("0.1.0").expect("version should parse");
30
31        assert_eq!(
32            expected_repository_url("use-crate").as_str(),
33            "https://github.com/RustUse/use-crate"
34        );
35        assert_eq!(next_patch(&version).to_string(), "0.1.1");
36    }
37}