<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>4.5.3 省略规则 on 编程那些事儿</title><link>https://before80.github.io/prgms/Rust/rustLearning/dyn-trait/dyn-trait-lifetimes/elision-rules/</link><description>Recent content in 4.5.3 省略规则 on 编程那些事儿</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Sun, 23 Aug 2026 21:05:58 +0800</lastBuildDate><atom:link href="https://before80.github.io/prgms/Rust/rustLearning/dyn-trait/dyn-trait-lifetimes/elision-rules/index.xml" rel="self" type="application/rss+xml"/><item><title>4.5.3.1 基本准则</title><link>https://before80.github.io/prgms/Rust/rustLearning/dyn-trait/dyn-trait-lifetimes/elision-rules/4.5.3.1-elision-basic/</link><pubDate>Sun, 23 Aug 2026 10:16:00 +0800</pubDate><guid>https://before80.github.io/prgms/Rust/rustLearning/dyn-trait/dyn-trait-lifetimes/elision-rules/4.5.3.1-elision-basic/</guid><description>&lt;blockquote&gt;
&lt;p&gt;译文 · 基于 &lt;a href="https://quinedot.github.io/rust-learning/"&gt;Learning Rust&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="elision-basic"&gt;基本准则&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://quinedot.github.io/rust-learning/dyn-elision-basic.html"&gt;https://quinedot.github.io/rust-learning/dyn-elision-basic.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;提醒：&lt;code&gt;dyn Trait&lt;/code&gt; 是由生命周期参数化的类型构造器；完全解析的类型包含生命周期，如 &lt;code&gt;dyn Trait + 'static&lt;/code&gt;。生命周期在许多情况下可省略，此时实际使用的生命周期可能是某个默认生命周期，或经推断得出。&lt;/p&gt;</description></item><item><title>4.5.3.2 高级准则</title><link>https://before80.github.io/prgms/Rust/rustLearning/dyn-trait/dyn-trait-lifetimes/elision-rules/4.5.3.2-elision-advanced/</link><pubDate>Sun, 23 Aug 2026 10:16:00 +0800</pubDate><guid>https://before80.github.io/prgms/Rust/rustLearning/dyn-trait/dyn-trait-lifetimes/elision-rules/4.5.3.2-elision-advanced/</guid><description>&lt;blockquote&gt;
&lt;p&gt;译文 · 基于 &lt;a href="https://quinedot.github.io/rust-learning/"&gt;Learning Rust&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="elision-advanced"&gt;高级准则&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://quinedot.github.io/rust-learning/dyn-elision-advanced.html"&gt;https://quinedot.github.io/rust-learning/dyn-elision-advanced.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;本节介绍如何为自己的泛型数据类型引导省略行为，并指出与上一节基本准则相比的一些例外。&lt;/p&gt;
&lt;h2 id="guiding-behavior-of-your-own-types"&gt;引导自有类型的行为&lt;/h2&gt;
&lt;p&gt;声明带生命周期参数 &lt;code&gt;'a&lt;/code&gt; 和 trait 参数 &lt;code&gt;T: ?Sized&lt;/code&gt; 的自定义类型时，包含&lt;em&gt;显式&lt;/em&gt; &lt;code&gt;T: 'a&lt;/code&gt; 约束会使省略行为与引用 &lt;code&gt;&amp;amp;'a T&lt;/code&gt; 及 &lt;code&gt;Ref&amp;lt;'a, T&amp;gt;&lt;/code&gt; 等 &lt;code&gt;std&lt;/code&gt; 类型相同：&lt;/p&gt;</description></item><item><title>4.5.3.3 Trait 约束交互</title><link>https://before80.github.io/prgms/Rust/rustLearning/dyn-trait/dyn-trait-lifetimes/elision-rules/4.5.3.3-elision-trait-bounds/</link><pubDate>Sun, 23 Aug 2026 10:16:00 +0800</pubDate><guid>https://before80.github.io/prgms/Rust/rustLearning/dyn-trait/dyn-trait-lifetimes/elision-rules/4.5.3.3-elision-trait-bounds/</guid><description>&lt;blockquote&gt;
&lt;p&gt;译文 · 基于 &lt;a href="https://quinedot.github.io/rust-learning/"&gt;Learning Rust&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="elision-trait-bounds"&gt;Trait 约束交互&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://quinedot.github.io/rust-learning/dyn-elision-trait-bounds.html"&gt;https://quinedot.github.io/rust-learning/dyn-elision-trait-bounds.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;当 trait 本身有生命周期约束时，这些约束可能影响 &lt;code&gt;dyn Trait&lt;/code&gt; 生命周期省略的行为。影响发生的位置和方式没有适当文档，但我们会在此涵盖一些情况。&lt;/p&gt;</description></item><item><title>4.5.3.4 引用来源</title><link>https://before80.github.io/prgms/Rust/rustLearning/dyn-trait/dyn-trait-lifetimes/elision-rules/4.5.3.4-elision-citations/</link><pubDate>Sun, 23 Aug 2026 10:16:00 +0800</pubDate><guid>https://before80.github.io/prgms/Rust/rustLearning/dyn-trait/dyn-trait-lifetimes/elision-rules/4.5.3.4-elision-citations/</guid><description>&lt;blockquote&gt;
&lt;p&gt;译文 · 基于 &lt;a href="https://quinedot.github.io/rust-learning/"&gt;Learning Rust&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="elision-citations"&gt;引用来源&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://quinedot.github.io/rust-learning/dyn-elision-citations.html"&gt;https://quinedot.github.io/rust-learning/dyn-elision-citations.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;最后我们将所涵盖的 &lt;code&gt;dyn Trait&lt;/code&gt; 生命周期省略与当前参考材料对比，并提供省略曲折历史的一些引用。&lt;/p&gt;
&lt;h2 id="summary-of-differences-from-the-reference"&gt;与参考手册的差异摘要&lt;/h2&gt;
&lt;p&gt;trait 对象生命周期省略的官方文档&lt;a href="https://doc.rust-lang.org/reference/lifetime-elision.html#default-trait-object-lifetimes"&gt;可在此找到。&lt;/a&gt;&lt;/p&gt;</description></item></channel></rss>