whichever-compiles

Crates.iowhichever-compiles
lib.rswhichever-compiles
version1.0.0
sourcesrc
created_at2021-03-08 08:38:21.90093
updated_at2021-03-08 08:38:21.90093
descriptionPlease do not use this.
homepage
repositoryhttps://github.com/m-ou-se/whichever-compiles
max_upload_size
id365630
size5,293
Mara Bos (m-ou-se)

documentation

README

whichever-compiles

The whichever_compiles!{} macro fork()s the compiler to try out different alternatives to find one that compiles.

https://twitter.com/m_ou_se/status/1368632701448818691

Please do not use this.

Example

use whichever_compiles::whichever_compiles;

fn main() {
    whichever_compiles! {
        try { thisfunctiondoesntexist(); }
        try { invalid syntax 1 2 3 }
        try { println!("missing arg: {}"); }
        try { println!("hello {}", world()); }
        try { 1 + 2 }
    }
}

whichever_compiles! {
    try { }
    try { fn world() {} }
    try { fn world() -> &'static str { "world" } }
}
$ cargo run
hello world
Commit count: 1

cargo fmt