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: lib.rs
    path of file: ./repos/holochain-rust/crates/wasm_utils/src
    
    the code of the file until where you have to start completion: //! Library holding necessary code for the Ribosome  that is also useful for hdk-rust,
//! or more generally for making rust code that the Ribosome can run.
//! Must not have any dependency with any other Holochain crates.
#![warn(unused_extern_crates)]
#[macro_use]
extern crate serde_derive;
pub extern crate holo
    
pub fn wasm_target_dir(test_path: &PathBuf, wasm_path: &PathBuf) -> PathBuf {
    // this env var checker can't use holochain_common
    // crate because that uses `directories` crate which doesn't compile to WASM
    let mut target_dir = PathBuf::new();
    if let Ok(prefix) = std::env::var("HC_TARGET_PREFIX") {
        target_dir.push(PathBuf::from(prefix));
        target_dir.push("crates");
        target_dir.push(test_path);
    }
    target_dir.push(wasm_path);
    target_dir.push(PathBuf::from("target"));

    target_dir
}