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: multiple_max_level_hints.rs
    path of file: ./repos/phaser/phaser/vendor/tracing/tests
    
    the code of the file until where you have to start completion: #![cfg(feature = "std")]
mod support;

use self::support::*;
use tracing::Level;

#[cfg_attr(target_arch = "wasm32", wasm_bindgen_test::wasm_bindgen_test)]
#[test]
fn multiple_max_level_hints() {
    // This test ensures that when multiple subscribers are active, their max
    // level hints are handled correctly. The global max level should be the
    // maximum of the level filters returned by the two `Subscriber`'s
    // `max_level_hint` method.
    //
    // In this test, we create a subscriber whose max level is `INFO`, and
    // another whose max level is `DEBUG`. We then add an assertion to both of
    // those subscribers' `enabled` method that no metadata for `TRACE` spans or
    // events are filtered, since they are disabled by the global max filter.

    fn do_events() {
        tracing::info!("doing a thing that you might care about");
        tracing::debug!("charging turboencabulator with interocitor");
        tracing::warn!("extremely serious warning, pay attention");
        tracing::trace!("interocitor charge level is 10%");
        tracing::error!("everything is on fire");
    }

    let (subscriber1, handle1) = subscriber::mock()
        .named("subscriber1")
        .with_max_level_hint(Level::INFO)
        .with_filter(|meta| {
            let level = dbg!(meta.level());
            assert!(
                level <= &Level::DEBUG,
                "a TRACE event was dynamically filtered by subscriber1"
            );
            level <= &Level::INFO
        })
        .event(event::mock().at_level(Level::INFO))
        .event(event::mock().at_level(Level::WARN))
        .event(event::mock().at_level(Level::ERROR))
        .done()
        .run_with_handle();
    let (subscriber2, handle2) = su
    
fn multiple_max_level_hints() {
    // This test ensures that when multiple subscribers are active, their max
    // level hints are handled correctly. The global max level should be the
    // maximum of the level filters returned by the two `Subscriber`'s
    // `max_level_hint` method.
    //
    // In this test, we create a subscriber whose max level is `INFO`, and
    // another whose max level is `DEBUG`. We then add an assertion to both of
    // those subscribers' `enabled` method that no metadata for `TRACE` spans or
    // events are filtered, since they are disabled by the global max filter.

    fn do_events() {
        tracing::info!("doing a thing that you might care about");
        tracing::debug!("charging turboencabulator with interocitor");
        tracing::warn!("extremely serious warning, pay attention");
        tracing::trace!("interocitor charge level is 10%");
        tracing::error!("everything is on fire");
    }

    let (subscriber1, handle1) = subscriber::mock()
        .named("subscriber1")
        .with_max_level_hint(Level::INFO)
        .with_filter(|meta| {
            let level = dbg!(meta.level());
            assert!(
                level <= &Level::DEBUG,
                "a TRACE event was dynamically filtered by subscriber1"
            );
            level <= &Level::INFO
        })
        .event(event::mock().at_level(Level::INFO))
        .event(event::mock().at_level(Level::WARN))
        .event(event::mock().at_level(Level::ERROR))
        .done()
        .run_with_handle();
    let (subscriber2, handle2) = subscriber::mock()
        .named("subscriber2")
        .with_max_level_hint(Level::DEBUG)
        .with_filter(|meta| {
            let level = dbg!(meta.level());
            assert!(
                level <= &Level::DEBUG,
                "a TRACE event was dynamically filtered by subscriber2"
            );
            level <= &Level::DEBUG
        })
        .event(event::mock().at_level(Level::INFO))
        .event(event::mock().at_level(Level::DEBUG))
        .event(event::mock().at_level(Level::WARN))
        .event(event::mock().at_level(Level::ERROR))
        .done()
        .run_with_handle();

    let dispatch1 = tracing::Dispatch::new(subscriber1);

    tracing::dispatcher::with_default(&dispatch1, do_events);
    handle1.assert_finished();

    let dispatch2 = tracing::Dispatch::new(subscriber2);
    tracing::dispatcher::with_default(&dispatch2, do_events);
    handle2.assert_finished();
}