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: taffy_03_helpers.rs
    path of file: ./repos/taffy/benches/src
    
    the code of the file until where you have to start completion: use rand::distributions::uniform::SampleRange;
use rand::Rng;
use rand_chacha::ChaCha8Rng;
use taffy::style::Style as TaffyStyle;

use super::{BuildTree, BuildTreeExt, GenStyle};

pub struct Taffy03TreeBuilder<R: Rng, G: GenStyle<TaffyStyle>> {
    rng: R,
    style_generator: G,
    tree: taffy_03::Taffy,
    root: taffy_03::prelude::Node,
}

// Implement the BuildTree trait
impl<R: Rng, G: GenStyle<TaffyStyle>> BuildTree<R, G> for Taffy03TreeBuilder<R, G> {
    const NAME: &'static str = "Taffy 0.3";
    type Tree = taffy_03::Taffy;
    type Node = taffy_03::prelude::Node;

    fn with_rng(mut rng: R, mut style_generator: G) -> Self {
        let mut tree = taffy_03::Taffy::new();
        let root = tree.new_leaf(convert_style(style_generator.create_root_style(&mut rng))).unwrap();
        Taffy03TreeBuilder { rng, style_generator, tree, root }
    }

    fn compute_layout_inner(&mut self, available_width: Option
    
fn convert_style(style: taffy::style::Style) -> taffy_03::style::Style {
    taffy_03::style::Style {
        display: convert_display(style.display),
        position: convert_position(style.position),
        inset: convert_rect(style.inset, convert_length_percentage_auto),
        margin: convert_rect(style.margin, convert_length_percentage_auto),
        padding: convert_rect(style.padding, convert_length_percentage),
        border: convert_rect(style.border, convert_length_percentage),
        size: convert_size(style.size, convert_dimension),
        min_size: convert_size(style.min_size, convert_dimension),
        max_size: convert_size(style.max_size, convert_dimension),
        aspect_ratio: style.aspect_ratio,
        gap: convert_size(style.gap, convert_length_percentage),
        // Alignment
        align_items: None,
        align_self: None,
        justify_items: None,
        justify_self: None,
        align_content: None,
        justify_content: None,
        // Flexbox
        flex_direction: convert_flex_direction(style.flex_direction),
        flex_wrap: convert_flex_wrap(style.flex_wrap),
        flex_grow: style.flex_grow,
        flex_shrink: style.flex_shrink,
        flex_basis: convert_dimension(style.flex_basis),
        // Grid
        grid_template_rows: Vec::new(),
        grid_template_columns: Vec::new(),
        grid_auto_rows: Vec::new(),
        grid_auto_columns: Vec::new(),
        grid_auto_flow: taffy_03::style::GridAutoFlow::Row,
        grid_row: taffy_03::geometry::Line {
            start: taffy_03::style::GridPlacement::Auto,
            end: taffy_03::style::GridPlacement::Auto,
        },
        grid_column: taffy_03::geometry::Line {
            start: taffy_03::style::GridPlacement::Auto,
            end: taffy_03::style::GridPlacement::Auto,
        },
    }
}