Rust:在“use ... as”导入期间指定模板参数

问题描述 投票:3回答:1

我正在尝试指定导入类的模板参数,因此每次我想要使用它时都不需要指定它。像这样的东西:

use self::binary_heap_plus::BinaryHeap<T,MinComparator> as BinaryMinHeap<T>;

这可能吗?

rust
1个回答
3
投票

这可能吗?

是的,有可能如下:

pub type CustomResult<T> = Result<T, MyError>;

#[derive(Debug)]
pub enum MyError {
    MyError1,
}

fn result_returner(prm: i32) -> CustomResult<i32> {
    if prm == 1 {
        Ok(5)
    } else {
        Err(MyError::MyError1)
    }
}

此外,您还可以在导入时进行类型名称更改:

use std::collections::HashMap as CustomNamedMap;

fn main() {
    let mut my_map = CustomNamedMap::new();
    my_map.insert(1, 2);

    println!("Value: {:?}", my_map[&1]);
}

Playground

© www.soinside.com 2019 - 2024. All rights reserved.