pseudonym

Crates.iopseudonym
lib.rspseudonym
version0.2.3
sourcesrc
created_at2021-12-26 13:50:27.992858
updated_at2023-06-23 15:38:24.596867
descriptionDeclare aliases with ease!
homepagehttps://github.com/jmg-duarte/pseudonym
repositoryhttps://github.com/jmg-duarte/pseudonym
max_upload_size
id503295
size22,237
José Duarte (jmg-duarte)

documentation

README

pseudonym 🕵️

MSRV 1.56.0

Declare aliases for Rust constructs with ease!

[dependencies]
pseudonym = "0.2.2"

Usage

In the following examples the items to which the macro is attached to get generated as aliases using the passed identifier.

Functions

use pseudonym::alias;

#[alias(short_name)]
fn very_long_function_name() {
    // ...
}

fn main () {
    short_name(); // use the alias!
}

Structures

use pseudonym::alias;

#[alias(StructAlias)]
struct S (i32);

Traits

use pseudonym::alias;

#[alias(TraitAlias)]
trait T {}

Implementations

use pseudonym::alias;

#[alias(StructAlias)]
struct S;

#[alias(StructAlias)]
impl S {
    fn new() -> Self { Self }
}

Constants

use pseudonym::alias;

#[alias(ConstAlias)]
const foo: usize = 0;

Deprecating Aliases

Sometimes, you'll need to create aliases to old functions which are deprecated. pseudonym allows you to deprecate aliases using the same syntax as deprecated.

use pseudonym::alias;

#[alias(
    deprecated(
        old_api_function,
        since = "0.1.0",
        note = "This function has been deprecated in favor of `new_api_function`"
    )
)]
fn new_api_function() {
    // ...
}

fn main () {
    old_api_function(); // use the alias!
}

License

Licensed under either of Apache License, Version 2.0 or MIT license at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this project by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Commit count: 30

cargo fmt