* How can I ensure my main function does not get optimized away 😅? I'm extending embedded-test, so that it can also do unit-tests ala `cargo test --lib` (previously only integration tests). This means that I need to collect all the testcases and provide a single entrypoint (main). I have most of it pieced together, except that I cant detect the case if the user forgets adding the linkerscripts (`linkall.x` / `embedded-test.x` ), which will result in my entrypoint being optimized away (but otherwise a successful compilation). My current approach is to have the following function in my embedded-test crate. ``` #[export_name = "main"] unsafe extern "C" fn __embedded_test_entry() -> ! {...} ``` https://github.com/probe-rs/embedded-test/blob/next/src/export.rs#L35-L56 But the linker will happily optimize this away. I've already tried a dozen different things (core::hint::black\_box, global\_asm!, emitting a `#[used] static` )... (Previously I emitted this function from the proc macro, which means it landed it the binary/lib crate the user was trying to compile. This is obviously no longer feasible, because now there can be multiple macro invocations across the whole project, all being compiled into one bin/lib artifact)