Skip to content

Commit 00ec6a1

Browse files
Merge #522
522: Update for 1.81.0 r=pietroalbini a=Veykril Co-authored-by: Lukas Wirth <lukas.wirth@ferrous-systems.com>
2 parents 64a2662 + c512ac1 commit 00ec6a1

File tree

3 files changed

+52
-4
lines changed

3 files changed

+52
-4
lines changed

src/attributes.rst

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,9 @@ The following :t:`[built-in attribute]s` are :dt:`[diagnostics attribute]s`:
223223
* :dp:`fls_29y8icoou1gx`
224224
:t:`Attribute` ``warn``.
225225

226+
* :dp:`fls_NrTL2FruARAv`
227+
:t:`Attribute` ``expect``.
228+
226229
:dp:`fls_3fxhz0olhbcy`
227230
The following :t:`[built-in attribute]s` are :dt:`[documentation attribute]s`:
228231

src/changelog.rst

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,47 @@ with the change that has been applied due to it.
1818
just the language changes that had an impact to the FLS. See the `release
1919
notes`_ for a full list of changes.
2020

21+
Language changes in Rust 1.81.0
22+
-------------------------------
23+
24+
* `Abort on uncaught panics in `extern "C"` functions. <https://github.com/rust-lang/rust/pull/116088/>`_
25+
26+
* No change: unwinding is not specified in the FLS
27+
28+
* `Fix ambiguous cases of multiple `&` in elided self lifetimes. <https://github.com/rust-lang/rust/pull/117967/>`_
29+
30+
* Changed paragraph: :p:`fls_crb6m6b3cdwh`
31+
32+
* New paragraph: :p:`fls_d4u3y82hdadc`
33+
34+
* `Stabilize `#[expect]` for lints (RFC 2383), <https://github.com/rust-lang/rust/pull/120924/>`_ like `#[allow]` with a warning if the lint is _not_ fulfilled.
35+
36+
* New paragraph: :p:`fls_NrTL2FruARAv`
37+
38+
* `Change method resolution to constrain hidden types instead of rejecting method candidates. <https://github.com/rust-lang/rust/pull/123962/>`_
39+
40+
* No change: the concrete type inference resolution is not part of the FLS
41+
42+
* `Bump `elided_lifetimes_in_associated_constant` to deny. <https://github.com/rust-lang/rust/pull/124211/>`_
43+
44+
* No change: lints are not part of the FLS
45+
46+
* `\`offset_from\`: always allow pointers to point to the same address. <https://github.com/rust-lang/rust/pull/124921/>`_
47+
48+
* No change: this previous restriction is not specified in the FLS
49+
50+
* `Allow constraining opaque types during subtyping in the trait system. <https://github.com/rust-lang/rust/pull/125447/>`_
51+
52+
* No change: the concrete type inference resolution is not part of the FLS
53+
54+
* `Allow constraining opaque types during various unsizing casts. <https://github.com/rust-lang/rust/pull/125610/>`_
55+
56+
* No change: the concrete type inference resolution is not part of the FLS
57+
58+
* `Deny keyword lifetimes pre-expansion. <https://github.com/rust-lang/rust/pull/126762/>`_
59+
60+
* No change: the FLS already specifies this restriction in :s:`Lifetime`
61+
2162
Language changes in Rust 1.80.0
2263
-------------------------------
2364

src/types-and-traits.rst

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3200,6 +3200,10 @@ An :dt:`input lifetime` is one of the following :t:`[lifetime]s`:
32003200
:std:`core::ops::Fn`, :std:`core::ops::FnMut`, and :std:`core::ops::FnOnce`
32013201
:t:`[trait]s`.
32023202

3203+
:dp:`fls_d4u3y82hdadc`
3204+
A :dt:`self input lifetime` is an :t:`input lifetime` of a :t:`self parameter`
3205+
that is a :t:`lifetime` of a :t:`reference type` whose referent is :c:`Self`.
3206+
32033207
* :dp:`fls_ks8wlufmhz6d`
32043208
Any :t:`lifetime` related to an :t:`implementing type` and an
32053209
:t:`implemented trait` of an :t:`implementation`.
@@ -3231,10 +3235,10 @@ An :dt:`output lifetime` is one of the following :t:`[lifetime]s`:
32313235
:t:`lifetime` is assigned to all :t:`elided` :t:`[output lifetime]s`.
32323236

32333237
#. :dp:`fls_crb6m6b3cdwh`
3234-
If a :t:`function` has a :t:`self parameter` of the form ``&self``,
3235-
``&mut self``, or ``self: T`` where ``T`` is a :t:`type` with a
3236-
:t:`lifetime`, then the :t:`lifetime` of the :t:`self parameter` is assigned
3237-
to all :t:`elided` :t:`[output lifetime]s`.
3238+
If a :t:`function` has a :t:`self parameter` with exactly 1
3239+
:t:`self input lifetime`, then the :t:`lifetime` of the
3240+
:t:`self input lifetime` is assigned to all :t:`elided`
3241+
:t:`[output lifetime]s`.
32383242

32393243
#. :dp:`fls_ac9tdlfwp5et`
32403244
Otherwise this is a static error.

0 commit comments

Comments
 (0)