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: bst.rs
    path of file: ./repos/algorithm/src/tree/binary
    
    the code of the file until where you have to start completion: //! 一棵二叉搜索树是一棵满足下面条件的二叉树
//!   1. 所有左侧分支的值都小于本节点的值
//!   2. 本节点的值小于所有右侧分支的值

use crate::tree::binary::{Node, NodeQuery, Tree};
use std::cmp::Ord
    
    fn insert(&mut self, key: K, val: V) {
        if let Ok(x) = unsafe { insert(self.root, key, val) } {
            if self.root.is_none() {
                self.root = Some(x);
            }
        }
    }