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: specific_power.rs
    path of file: ./repos/uom/src/si
    
    the code of the file until where you have to start completion: //! Specific power (base unit watt per kilogram, m² · s⁻³).

quantity! {
    /// Specific power (base unit watt per kilogram, m² · s⁻³).
    quantity: SpecificPower; "specific power";
    /// Dimension of specific power, L²T⁻³ (base unit watt per kilogram, m² · s⁻³).
    dimension: ISQ<
        P2,     // length
        Z0,     // mass
        N3,     // time
        Z0,     // electric current
        Z0,     // thermodynamic temperature
        Z0,     // amount of substance
        Z0>;    // luminous intensity
    units {
        @yottawatt_per_kilogram: prefix!(yotta); "YW/kg", "yottawatt per kilogram",
            "yottawatts per kilogram";
        @zettawatt_per_kilogram: prefix!(zetta); "ZW/kg", "zettawatt per kilogram",
            "zettawatts per kilogram";
 
    
        fn check_units_power() {
            test::<p::zettawatt, m::kilogram, sp::zettawatt_per_kilogram>();
            test::<p::exawatt, m::kilogram, sp::exawatt_per_kilogram>();
            test::<p::petawatt, m::kilogram, sp::petawatt_per_kilogram>();
            test::<p::terawatt, m::kilogram, sp::terawatt_per_kilogram>();
            test::<p::gigawatt, m::kilogram, sp::gigawatt_per_kilogram>();
            test::<p::megawatt, m::kilogram, sp::megawatt_per_kilogram>();
            test::<p::kilowatt, m::kilogram, sp::kilowatt_per_kilogram>();
            test::<p::watt, m::kilogram, sp::watt_per_kilogram>();
            test::<p::centiwatt, m::kilogram, sp::centiwatt_per_kilogram>();
            test::<p::milliwatt, m::kilogram, sp::milliwatt_per_kilogram>();
            test::<p::microwatt, m::kilogram, sp::microwatt_per_kilogram>();
            test::<p::nanowatt, m::kilogram, sp::nanowatt_per_kilogram>();
            test::<p::picowatt, m::kilogram, sp::picowatt_per_kilogram>();
            test::<p::femtowatt, m::kilogram, sp::femtowatt_per_kilogram>();
            test::<p::attowatt, m::kilogram, sp::attowatt_per_kilogram>();
            test::<p::zeptowatt, m::kilogram, sp::zeptowatt_per_kilogram>();
            test::<p::yoctowatt, m::kilogram, sp::yoctowatt_per_kilogram>();

            test::<p::watt, m::kilogram, sp::square_meter_per_cubic_second>();

            test::<p::horsepower, m::pound, sp::horsepower_per_pound>();
            test::<p::horsepower_boiler, m::pound, sp::horsepower_boiler_per_pound>();
            test::<p::horsepower_electric, m::pound, sp::horsepower_electric_per_pound>();
            test::<p::horsepower_metric, m::pound, sp::horsepower_metric_per_pound>();
            test::<p::horsepower_imperial, m::pound, sp::horsepower_imperial_per_pound>();
            test::<p::hydraulic_horsepower, m::pound, sp::hydraulic_horsepower_per_pound>();

            fn test<P: p::Conversion<V>, M: m::Conversion<V>, SP: sp::Conversion<V>>() {
                Test::assert_approx_eq(&SpecificPower::new::<SP>(V::one()),
                    &(Power::new::<P>(V::one()) / Mass::new::<M>(V::one())));
            }
        }