shimforge 0.1.3

Test Rust code without test-only traits or changes to production code.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#![forbid(unsafe_code)]

use shimforge::{Session, replace};

fn original(value: u64) -> u64 {
    value + 1
}

#[test]
fn public_api_works_when_the_calling_crate_forbids_unsafe_code() {
    let mut session = Session::new_global();
    replace!(session, original => |value| value + 10, fn(u64) -> u64);
    assert_eq!(original(2), 12);
    session.restore();
    assert_eq!(original(2), 3);
}