< 返回版块

Mike Tang 发表于 2026-04-26 09:08

Nutype v0.7.0 版本发布

Nutype 是一个 Rust 过程宏,用于类型驱动的领域建模。它将 newtype 模式转换为具有内置清理器(trim、lowercase、自定义)和验证器(长度、范围、正则表达式、谓词、自定义错误)的精细化、品牌化类型。

主要更新内容

破坏性变更:

  • derive_unsafe 重命名为 derive_unchecked(包括特性标志和属性)

新功能:

1. 条件派生支持 (cfg_attr)

  • 支持通过 cfg_attr 进行条件派生,可根据功能开关、测试环境等条件选择性派生 trait
  • 示例:仅在 serde 功能启用时派生 SerializeDeserialize

2. 泛型 where 子句支持

  • 泛型 newtype 现在支持完整的 where 子句,包括高阶 trait 约束(HRTB)
  • 可以组合内联约束和 where 子句

3. 构造函数可见性控制

  • 通过 constructor(visibility = ...) 属性控制构造函数可见性
  • 支持 pubpub(crate)pub(super)pub(in path)private
  • private 选项使构造函数仅在定义模块内可调用

4. UTF-16 长度验证器

原文链接:https://github.com/greyblake/nutype/releases/tag/v0.7.0

nmrs 3.0.0 重大版本发布:支持 OpenVPN、WireGuard 和 WiFi 功能

作者发布了 nmrs 3.0.0 版本——这是一套通过 D-Bus 为 NetworkManager 提供的 Rust 绑定库。

主要新增功能

  • VPN 支持

    • OpenVPN 完整支持,包括 .ovpn 文件导入(手写递归下降解析器)
    • 配置构建器、证书处理、路由选项、TLS 加固、压缩和代理选项
    • WireGuard 支持
    • 通用 VPN 枚举(支持 OpenConnect、strongSwan、PPTP、L2TP 等插件)
    • 基于 UUID/名称的已保存 VPN 配置激活
  • WiFi 功能增强

    • 针对多无线电系统的单设备 WiFi API
    • 基于 BSSID 的接入点列表和定向连接
  • 连接管理

    • 已保存连接的枚举、更新、删除和解码摘要
    • 飞行模式/rfkill 状态控制
    • 连接状态报告,包括强制门户检测
  • 其他改进

原文链接:https://github.com/cachebag/nmrs

Rust系统监控工具vntop v0.12发布

作者在学习 Rust 约一个月后,开发了一个极简的系统监控 TUI 工具。

项目背景

  • 开发者有丰富的C语言编程经验,最近开始学习Rust
  • 为了实践而不仅是阅读文档,决定构建一个实用项目

项目特点

  • 项目名称:vntop - 一个极简的系统监控TUI(终端用户界面)
  • 主要目标:理解如何整合不同的Rust crate来构建功能性工具
  • 技术实现
    • 使用sysinfo crate获取系统信息
    • 目前使用基础的TUI实现(开发者考虑切换到Ratatui)
  • 安装方式cargo install vntop

开发动机

  • 对比Rust与C语言在系统级数据获取和终端渲染方面的差异
  • 以最简单的方式构建功能性工具

寻求反馈

开发者希望获得社区反馈以改进自己和项目,因为感觉自己仍在用C程序员的思维方式编程

原文链接:https://www.reddit.com/r/rust/comments/1svqqoh/vntop_v012_variation_table_of_processes_in_rust/

cargo-feat - Rust 包特性查询工具

一个快速的命令行工具,帮助 Rust 开发者直接在终端中即时查询 crates.io 上任何包的可用特性,无需打开浏览器。

核心功能

  • 快速查询:通过一条命令显示任何 crate 的所有特性
  • 彩色输出:清晰显示哪些特性默认启用,以及每个特性的依赖关系
  • 版本支持:可查询特定版本的 crate 特性
  • 过滤选项:支持隐藏默认特性块,仅显示所有特性列表

使用方法

参数说明

  • <crate名称>:必填,要查询的包名
  • [版本]:可选,指定版本号(默认最新稳定版)
  • [all|nd]:可选,特性过滤器(all显示全部,nd隐藏默认特性块)

使用示例

  • feat reqwest - 查询最新版本的所有特性
  • feat reqwest nd - 不显示默认特性块
  • feat tokio 1.35.0 - 查询特定版本
  • feat tokio 1.35.0 nd - 组合使用

原文链接:https://github.com/vunholy/cargo-feat.git

评论区

写评论

还没有评论

1 共 0 条评论, 1 页