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);
}

最后输出如下所示:

相关推荐
长大19881 分钟前
生成器(Generators)与内存救赎:处理百万级数据导出的极简方案
后端
小强19881 分钟前
构造函数属性提升的利与弊:如何优雅地编写价值对象(Value Object)
后端
彩票管理中心秘书长1 分钟前
npm 基础认知与环境准备(超详细版)
后端
二月龙3 分钟前
类型系统攻防战:PHP混合类型与联合类型对隐式类型转换漏洞的防御策略
后端
掘金者阿豪9 分钟前
虚拟支付 vs 聚合支付 vs 苹果内购:一文彻底讲透三种支付体系,99%的开发者都搞混了!
后端
uzong18 分钟前
更简单的架构如何让我成为更好的高级开发者
后端·架构
uzong23 分钟前
何时使用以及何时不应使用微服务:没有银弹
后端·架构
uzong28 分钟前
架构对比:单体架构与微服务架构
后端·架构
向往着的青绿色36 分钟前
Java反序列化漏洞(持续更新中)
java·开发语言·计算机网络·安全·web安全·网络安全·网络攻击模型
uzong43 分钟前
从单体架构到微服务架构:模式与最佳实践
后端·架构