From 8f26278a6815fd9a58519c3d0942e37576fd0aca Mon Sep 17 00:00:00 2001 From: Tshepang Mbambo Date: Mon, 1 Sep 2025 11:10:19 +0200 Subject: [PATCH] Revert "dates: refresh type system & traits date annotations to Aug/2025" --- src/borrow_check/region_inference/member_constraints.md | 2 +- src/opaque-types-type-alias-impl-trait.md | 2 +- src/stability.md | 2 +- src/thir.md | 4 ++-- src/traits/chalk.md | 2 +- src/traits/resolution.md | 2 +- src/ty-fold.md | 2 +- src/type-inference.md | 2 +- 8 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/borrow_check/region_inference/member_constraints.md b/src/borrow_check/region_inference/member_constraints.md index 52e7400ff..2804c9772 100644 --- a/src/borrow_check/region_inference/member_constraints.md +++ b/src/borrow_check/region_inference/member_constraints.md @@ -92,7 +92,7 @@ member constraints come in. ## Choices are always lifetime parameters At present, the "choice" regions from a member constraint are always lifetime -parameters from the current function. As of August 2025, +parameters from the current function. As of October 2021, this falls out from the placement of impl Trait, though in the future it may not be the case. We take some advantage of this fact, as it simplifies the current code. In particular, we don't have to consider a case like `'0 member of ['1, diff --git a/src/opaque-types-type-alias-impl-trait.md b/src/opaque-types-type-alias-impl-trait.md index 5a4a31e0a..956f56828 100644 --- a/src/opaque-types-type-alias-impl-trait.md +++ b/src/opaque-types-type-alias-impl-trait.md @@ -15,7 +15,7 @@ it implements `Bar`. Therefore, any of `Bar`'s interface can be used on a `Foo`, but nothing else (regardless of whether it implements any other traits). Since there needs to be a concrete background type, -you can (as of August 2025) express that type +you can (as of January 2021) express that type by using the opaque type in a "defining use site". ```rust,ignore diff --git a/src/stability.md b/src/stability.md index 665215fda..3c4c65fdd 100644 --- a/src/stability.md +++ b/src/stability.md @@ -30,7 +30,7 @@ unstable modules or vice versa. Previously, due to a [rustc bug], stable items inside unstable modules were available to stable code in that location. -As of August 2025, items with [accidentally stabilized +As of September 2024, items with [accidentally stabilized paths] are marked with the `#[rustc_allowed_through_unstable_modules]` attribute to prevent code dependent on those paths from breaking. Do *not* add this attribute to any more items unless that is needed to avoid breaking changes. diff --git a/src/thir.md b/src/thir.md index 6a3525d5b..3d3dafaef 100644 --- a/src/thir.md +++ b/src/thir.md @@ -2,7 +2,7 @@ The THIR ("Typed High-Level Intermediate Representation"), previously called HAIR for "High-Level Abstract IR", is another IR used by rustc that is generated after -[type checking]. It is (as of August 2025) used for +[type checking]. It is (as of January 2024) used for [MIR construction], [exhaustiveness checking], and [unsafety checking]. [type checking]: ./type-checking.md @@ -52,7 +52,7 @@ fn main() { } ``` -Here is how that gets represented in THIR (as of August 2025): +Here is how that gets represented in THIR (as of Aug 2022): ```rust,no_run Thir { diff --git a/src/traits/chalk.md b/src/traits/chalk.md index eac8e6b5c..844f42b98 100644 --- a/src/traits/chalk.md +++ b/src/traits/chalk.md @@ -1,7 +1,7 @@ # Chalk-based trait solving [Chalk][chalk] is an experimental trait solver for Rust that is -(as of August 2025) under development by the [Types team]. +(as of May 2022) under development by the [Types team]. Its goal is to enable a lot of trait system features and bug fixes that are hard to implement (e.g. GATs or specialization). If you would like to help in hacking on the new solver, drop by on the rust-lang Zulip in the [`#t-types`] diff --git a/src/traits/resolution.md b/src/traits/resolution.md index 711b7ebe6..ccb2b0426 100644 --- a/src/traits/resolution.md +++ b/src/traits/resolution.md @@ -120,7 +120,7 @@ the obligation contains unbound inference variables. The subroutines that decide whether a particular impl/where-clause/etc applies to a particular obligation are collectively referred to as the process of -_matching_. For `impl` candidates , +_matching_. For `impl` candidates , this amounts to unifying the impl header (the `Self` type and the trait arguments) while ignoring nested obligations. If matching succeeds then we add it to a set of candidates. There are other rules when assembling candidates for diff --git a/src/ty-fold.md b/src/ty-fold.md index d0fa548a6..23253022f 100644 --- a/src/ty-fold.md +++ b/src/ty-fold.md @@ -1,4 +1,4 @@ - + # `TypeFoldable` and `TypeFolder` In [a previous chapter], we discussed instantiating binders. diff --git a/src/type-inference.md b/src/type-inference.md index 0c7e2839b..2243205f1 100644 --- a/src/type-inference.md +++ b/src/type-inference.md @@ -66,7 +66,7 @@ inference works, or perhaps this blog post on [Unification in the Chalk project]: http://smallcultfollowing.com/babysteps/blog/2017/03/25/unification-in-chalk-part-1/ All told, the inference context stores five kinds of inference variables -(as of August 2025): +(as of March 2023): - Type variables, which come in three varieties: - General type variables (the most common). These can be unified with any