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: hot_reload_diff.rs
    path of file: ./repos/dioxus/packages/rsx/src/hot_reload
    
    the code of the file until where you have to start completion: use proc_macro2::TokenStream;
use quote::ToTokens;
use syn::{File, Macro};

pub enum DiffResult {
    CodeChanged,
    RsxChanged(Vec<(Macro, TokenStream)>),
}

/// Find any rsx calls in the given file and return a list of all the rsx calls that have changed.
pub fn find_rsx(new: &File, old: &File) -> DiffResult {
    let mut rsx_calls = Vec::new();
    if new.items.len() != old.items.len() {
        tracing::trace!(
            "found not hot reload-able change {:#?} != {:#?}",
            new.items
                .iter()
                .map(|i| i.to_token_stream().to_string())
                .collect::<Vec<_>>(),
            old.items
                .iter()
                .map(|i| i.to_token_stream().to_string())
                .collect::<Vec<_>>()
        );
        return DiffResult::CodeChanged;
    }
    for (new, old) in new.items.iter().zip(old.items.iter()) {
     
    
pub fn find_rsx(new: &File, old: &File) -> DiffResult {
    let mut rsx_calls = Vec::new();
    if new.items.len() != old.items.len() {
        tracing::trace!(
            "found not hot reload-able change {:#?} != {:#?}",
            new.items
                .iter()
                .map(|i| i.to_token_stream().to_string())
                .collect::<Vec<_>>(),
            old.items
                .iter()
                .map(|i| i.to_token_stream().to_string())
                .collect::<Vec<_>>()
        );
        return DiffResult::CodeChanged;
    }
    for (new, old) in new.items.iter().zip(old.items.iter()) {
        if find_rsx_item(new, old, &mut rsx_calls) {
            tracing::trace!(
                "found not hot reload-able change {:#?} != {:#?}",
                new.to_token_stream().to_string(),
                old.to_token_stream().to_string()
            );
            return DiffResult::CodeChanged;
        }
    }
    tracing::trace!("found hot reload-able changes {:#?}", rsx_calls);
    DiffResult::RsxChanged(rsx_calls)
}