Crates.io | overrider |
lib.rs | overrider |
version | 0.7.0 |
source | src |
created_at | 2020-05-28 21:46:11.233235 |
updated_at | 2020-07-21 15:25:46.292734 |
description | Override funcitons, methods, and more |
homepage | |
repository | https://github.com/Shizcow/overrider-rs |
max_upload_size | |
id | 247171 |
size | 25,456 |
overrider
is a set of Rust crates that provide overloading of functions, methods, and more. For example:
// main.rs
use overrider::*;
#[default]
fn foo() {
println!("Hello World");
}
Calling foo()
will print Hello World
. However, if an override_default
version
of foo
is defined:
// main.rs
use overrider::*;
#[default]
fn foo() {
println!("Hello World");
}
#[override_default]
fn foo() {
println!("Hello Za Warudo");
}
Calling foo()
will now print Hello Za Warudo
. The first function definition may remain.
Due to limitations in proc_macro
, overrider
requires the use of two crates:
overrider
for code in src
overrider_build
for a build script such as build.rs
The code from above shows how to use the overrider
crate.
Below is how to use the build portion:// build.rs
use overrider_build::watch_files;
fn main() {
watch_files!("src/main.rs");
}
For examples, see the git repo.