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

最后输出如下所示:

相关推荐
wjs20243 小时前
Django Nginx+uWSGI 安装配置指南
开发语言
不知更鸟3 小时前
Django 项目设置流程
后端·python·django
七夜zippoe3 小时前
JVM类加载机制(Class Loading)详解:双亲委派模型与破坏实践
java·开发语言·jvm·类加载·双亲委派
曹牧3 小时前
C#:无法从方法组转换为objec
开发语言·c#
自动化代码美学4 小时前
【Python3.13】官网学习之控制流
开发语言·windows·python·学习
黄昏恋慕黎明4 小时前
spring MVC了解
java·后端·spring·mvc
coderxiaohan5 小时前
【C++】仿函数 + 模板进阶
开发语言·c++
IMPYLH6 小时前
Lua 的 collectgarbage 函数
开发语言·笔记·junit·单元测试·lua
G探险者6 小时前
为什么 VARCHAR(1000) 存不了 1000 个汉字? —— 详解主流数据库“字段长度”的底层差异
数据库·后端·mysql