惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Vercel News
Vercel News
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Apple Machine Learning Research
Apple Machine Learning Research
T
Tailwind CSS Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
人人都是产品经理
人人都是产品经理
V
V2EX
量子位
Last Week in AI
Last Week in AI
Jina AI
Jina AI
博客园 - 【当耐特】
爱范儿
爱范儿
宝玉的分享
宝玉的分享
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Hugging Face - Blog
Hugging Face - Blog
博客园 - 三生石上(FineUI控件)
有赞技术团队
有赞技术团队
小众软件
小众软件
IT之家
IT之家
博客园_首页
博客园 - 聂微东
S
SegmentFault 最新的问题
阮一峰的网络日志
阮一峰的网络日志
博客园 - 叶小钗

Rust Blog

Security Advisory for Cargo (CVE-2026-5223) | Rust Blog Security Advisory for Cargo (CVE-2026-5222) | Rust Blog Project goals update — April 2026 (end of 2025H2) | Rust Blog Rust is participating in Outreachy | Rust Blog Raising the baseline for the `nvptx64-nvidia-cuda` target | Rust Blog Announcing Google Summer of Code 2026 selected projects | Rust Blog Announcing Rust 1.95.0 | Rust Blog docs.rs: building fewer targets by default | Rust Blog Changes to WebAssembly targets and handling undefined symbols | Rust Blog Announcing Rust 1.94.1 | Rust Blog Security advisory for Cargo | Rust Blog What we heard about Rust's challenges | Rust Blog Call for Testing: Build Dir Layout v2 | Rust Blog Announcing rustup 1.29.0 | Rust Blog Announcing Rust 1.94.0 | Rust Blog 2025 State of Rust Survey Results | Rust Blog Rust debugging survey 2026 | Rust Blog Update on the October 15, 2018 incident on crates.io Announcing Rust 1.29.2 Announcing Rust 1.29 Announcing Rust 1.28 What is Rust 2018? Announcing Rust 1.27.2 Announcing Rust 1.27.1 Security Advisory for rustdoc Announcing Rust 1.27 Announcing Rust 1.26.2 Announcing Rust 1.26.1 Rust turns three Announcing Rust 1.26
Lang team design meeting: well-formedness and type aliase...
Niko Matsakis on behalf of the lang team · 2020-07-29 · via Rust Blog

Hello! Did you know that the lang team now has regular design meetings? We use these meetings to dig deeper into the output of active project groups. After the meeting, we typically post a recording to YouTube as well as some minutes into the lang-team repository. I wanted to write a quick update listing out some of the meetings we've had recently as well as some of our upcoming meetings.

This blog post is about the meeting we held on 2020-07-29. We discussed the idea of trying to enforce the "well-formedness" rules for type aliases, as has been floated on and off over the years.

The context is that the compiler's current rules expand type aliases as if they were a kind of macro, which means that we don't wind up enforcing many sorts of rules about them.

For example, the following type alias definition is legal even though it would be an error to ever use it:

struct MyType<T: Display> { t: T }

// This alias, perhaps, should err, as `Vec<u32>: Display`
// does not hold:
type MyAlias = MyType<Vec<u32>>;

For more information, check out the minutes from the meeting or watch the recording. We covered a number of examples of what goes wrong, as well as various possible "endstates" that we might want to reach (for example, there is an argument that the above example should be accepted after all, perhaps with a warning).

The conclusion during the meeting was that we would not put a lot of energy into type aliases at this time, and in particular we wouldn't aim for any Edition-related migrations and hard-errors, but we would accept PRs that introduce warnings for type alias definitions that are always an error to use. (Like any conclusion that happens in a meeting, it may be revised if we encounter new evidence that changes our minds.)