摘要: 跟AI聊天中(其实是像AI请教问题),突然有所感悟,就问了AI这一句,结果AI回的特别满意,回答中涉及到Rust语言一些设计思想,以及关于这些思想与其他语言的对比,特贴出来记录。 以下内容出自AI 这句话说到骨子里了,完全没毛病: Rust 编程本质 = 跟编译器「博弈、协商、讲道理」 我给你把这话 阅读全文
posted @ 2026-05-08 16:46 伊森-w 阅读(4) 评论(0) 推荐(0)
摘要: 一开始只是想写spawn和spawn_local的区别,后来发现想要讲明白这个,需要先将一些之前的知识讲明白,于是有了这篇笔记。 spawn方法是指async_std::task::spawn方法或tokio::task::spawn方法,这两个类似 spawn_local方法是async_std: 阅读全文
posted @ 2026-05-06 22:05 伊森-w 阅读(5) 评论(0) 推荐(0)
摘要: Rust中闭包捕获环境变量(上下文)有三种形式,捕获变量的不可变借用,捕获变量的可变借用,捕获变量所有权。 捕获变量的不可变借用就是Fn trait,该闭包可以多次执行。 捕获变量的可变借用就是FnMut trait,该闭包可以多次执行,但需将该闭包对象声明为mut,即表明该trait对象会修改环境 阅读全文
posted @ 2026-04-13 22:21 伊森-w 阅读(3) 评论(0) 推荐(0)
摘要: 人工分析 在rust中,impl trait是使用静态分发实现的,也就是说如果一个方法的返回值是impl trait,那么该方法内的返回值只允许是实现了该trait的某一个具体类型,而不能是实现了该trait的多个类型,如下代码是要报错的。 trait StringSet{} struct List 阅读全文
posted @ 2026-04-07 19:28 伊森-w 阅读(12) 评论(0) 推荐(0)
摘要: Rust中的&解引用。 let v3 = Some('a'); match v3.as_ref() { Some(&c) => { let addr = std::ptr::addr_of!(c); println!("addr of c: {:?}", addr); println!("addr 阅读全文
posted @ 2026-03-31 10:33 伊森-w 阅读(6) 评论(0) 推荐(0)
摘要: 今天遇到了一个sshd加载配置顺序的问题,惯性操作问了下AI,结果AI给我了一堆错误的结果,这是第二次了,上一次给它指出,它还承认,这次干脆不承认了。 问AI的问题如下:假设sshd有以下几个配置文件,/etc/ssh/sshd_config,/etc/ssh/sshd_config.d/40-in 阅读全文
posted @ 2025-12-26 14:50 伊森-w 阅读(38) 评论(0) 推荐(0)
摘要: 继续学习Future,今天就不得不研究Pin,我以为挺简单的,然而... 简单的说(总结) Pin:是钉住,压住的意思。放在rust中,其中Pin是一个结构体,全类型是Pin:固定住Ptr的意思。 Unpin是一个trait。Rust中所有的类型默认都是Unpin的。 而Pin结构体是!Unpin的 阅读全文
posted @ 2025-11-14 10:11 伊森-w 阅读(56) 评论(0) 推荐(0)
摘要: Future和JoinHandler是不同的,但这两个都与异步(多线程)相关。 概念不同 JoinHandler:是指一个异步方法的句柄,用来监控或控制这个异步方法,以及接收异步方法的执行结果。 Future:表示的是在未来某个时刻执行的代码片段 执行的时机不同 JoinHandler:在有该对象的 阅读全文
posted @ 2025-11-12 15:05 伊森-w 阅读(18) 评论(0) 推荐(0)
摘要: rust使用russh实现最简版本的ssh数据传输 阅读全文
posted @ 2025-06-12 09:26 伊森-w 阅读(278) 评论(0) 推荐(0)