Rust 标记一个属性或函数为废弃

如题,演示Rust 标记一个属性或函数为废弃的基本使用方法:

示例:

rust 复制代码
use serde::{Deserialize, Serialize};

#[derive(Clone, Debug, Serialize, Deserialize, Default)]
pub struct GrpcOptions {
    pub addr: String,
    pub max_recv_message_size: u32,
    pub max_send_message_size: u32,
    pub hostname: String,
}

#[derive(Clone, Debug, Serialize, Deserialize, Default)]
#[serde(default)]
pub struct DatanodeOptions {
    pub node_id: Option<u64>,
    pub require_lease_before_startup: bool,
    pub init_regions_in_background: bool,
    #[deprecated(note = "use `grpc.hostname` instead")]
    pub rpc_hostname: Option<String>,
    pub grpc: GrpcOptions,
}

fn main() {
    let mut datanode = DatanodeOptions::default();
    datanode.grpc.hostname = "hostname".to_string();
    datanode.rpc_hostname = Some("dep_hostname".to_string());
    println!("{:?}", datanode);
}

最后输出如下所示:

相关推荐
geovindu11 分钟前
rust: Template Method Pattern
开发语言·后端·设计模式·rust·行为模式·模板方法模
BingoGo17 分钟前
PHP 8.7 协程新提案 让跨协程代码共享请求身份
后端·php
星轨zb28 分钟前
[专题5]支付发放物品的一致性保障:事务、幂等与状态流转
数据库·后端·mongodb·支付架构学习
JaguarJack28 分钟前
PHP 8.7 协程新提案 让跨协程代码共享请求身份
后端·php·服务端
vipxieliang40 分钟前
Go 泛型结构体与约束进阶:从自定义约束到标准库泛型 API 实战
后端·go
isfox41 分钟前
Python 文件操作:读写文件这件事,记住 with open 就够了
后端
武子康1 小时前
虚拟线程不是无限并发:Java Agent 后端真正该限制的是这些资源
人工智能·后端·agent
未秃头的程序猿1 小时前
Spring Cloud Gateway 做统一加解密,我在请求体上栽了三天
java·后端·架构