You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: manually_create_executor.rs
    path of file: ./repos/embassy/examples/nrf52840/src/bin
    
    the code of the file until where you have to start completion: // This example showcases how to manually create an executor.
// This is what the #[embassy::main] macro does behind the scenes.

#![no_std]
#![no_main]

use cortex_m_rt::entry;
use defmt::{info, unwrap};
use embassy_executor::Executor;
use embassy_
    
fn main() -> ! {
    info!("Hello World!");

    let _p = embassy_nrf::init(Default::default());

    // Create the executor and put it in a StaticCell, because `run` needs `&'static mut Executor`.
    let executor = EXECUTOR.init(Executor::new());

    // Run it.
    // `run` calls the closure then runs the executor forever. It never returns.
    executor.run(|spawner| {
        // Here we get access to a spawner to spawn the initial tasks.
        unwrap!(spawner.spawn(run1()));
        unwrap!(spawner.spawn(run2()));
    });
}