Skip to content

Commit

Permalink
Merge #522
Browse files Browse the repository at this point in the history
522: Update for 1.81.0 r=pietroalbini a=Veykril



Co-authored-by: Lukas Wirth <[email protected]>
  • Loading branch information
bors-ferrocene[bot] and Veykril authored Sep 24, 2024
2 parents 64a2662 + c512ac1 commit 00ec6a1
Show file tree
Hide file tree
Showing 3 changed files with 52 additions and 4 deletions.
3 changes: 3 additions & 0 deletions src/attributes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -223,6 +223,9 @@ The following :t:`[built-in attribute]s` are :dt:`[diagnostics attribute]s`:
* :dp:`fls_29y8icoou1gx`
:t:`Attribute` ``warn``.

* :dp:`fls_NrTL2FruARAv`
:t:`Attribute` ``expect``.

:dp:`fls_3fxhz0olhbcy`
The following :t:`[built-in attribute]s` are :dt:`[documentation attribute]s`:

Expand Down
41 changes: 41 additions & 0 deletions src/changelog.rst
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,47 @@ with the change that has been applied due to it.
just the language changes that had an impact to the FLS. See the `release
notes`_ for a full list of changes.

Language changes in Rust 1.81.0
-------------------------------

* `Abort on uncaught panics in `extern "C"` functions. <https://github.com/rust-lang/rust/pull/116088/>`_

* No change: unwinding is not specified in the FLS

* `Fix ambiguous cases of multiple `&` in elided self lifetimes. <https://github.com/rust-lang/rust/pull/117967/>`_

* Changed paragraph: :p:`fls_crb6m6b3cdwh`

* New paragraph: :p:`fls_d4u3y82hdadc`

* `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.

* New paragraph: :p:`fls_NrTL2FruARAv`

* `Change method resolution to constrain hidden types instead of rejecting method candidates. <https://github.com/rust-lang/rust/pull/123962/>`_

* No change: the concrete type inference resolution is not part of the FLS

* `Bump `elided_lifetimes_in_associated_constant` to deny. <https://github.com/rust-lang/rust/pull/124211/>`_

* No change: lints are not part of the FLS

* `\`offset_from\`: always allow pointers to point to the same address. <https://github.com/rust-lang/rust/pull/124921/>`_

* No change: this previous restriction is not specified in the FLS

* `Allow constraining opaque types during subtyping in the trait system. <https://github.com/rust-lang/rust/pull/125447/>`_

* No change: the concrete type inference resolution is not part of the FLS

* `Allow constraining opaque types during various unsizing casts. <https://github.com/rust-lang/rust/pull/125610/>`_

* No change: the concrete type inference resolution is not part of the FLS

* `Deny keyword lifetimes pre-expansion. <https://github.com/rust-lang/rust/pull/126762/>`_

* No change: the FLS already specifies this restriction in :s:`Lifetime`

Language changes in Rust 1.80.0
-------------------------------

Expand Down
12 changes: 8 additions & 4 deletions src/types-and-traits.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3200,6 +3200,10 @@ An :dt:`input lifetime` is one of the following :t:`[lifetime]s`:
:std:`core::ops::Fn`, :std:`core::ops::FnMut`, and :std:`core::ops::FnOnce`
:t:`[trait]s`.

:dp:`fls_d4u3y82hdadc`
A :dt:`self input lifetime` is an :t:`input lifetime` of a :t:`self parameter`
that is a :t:`lifetime` of a :t:`reference type` whose referent is :c:`Self`.

* :dp:`fls_ks8wlufmhz6d`
Any :t:`lifetime` related to an :t:`implementing type` and an
:t:`implemented trait` of an :t:`implementation`.
Expand Down Expand Up @@ -3231,10 +3235,10 @@ An :dt:`output lifetime` is one of the following :t:`[lifetime]s`:
:t:`lifetime` is assigned to all :t:`elided` :t:`[output lifetime]s`.

#. :dp:`fls_crb6m6b3cdwh`
If a :t:`function` has a :t:`self parameter` of the form ``&self``,
``&mut self``, or ``self: T`` where ``T`` is a :t:`type` with a
:t:`lifetime`, then the :t:`lifetime` of the :t:`self parameter` is assigned
to all :t:`elided` :t:`[output lifetime]s`.
If a :t:`function` has a :t:`self parameter` with exactly 1
:t:`self input lifetime`, then the :t:`lifetime` of the
:t:`self input lifetime` is assigned to all :t:`elided`
:t:`[output lifetime]s`.

#. :dp:`fls_ac9tdlfwp5et`
Otherwise this is a static error.
Expand Down

0 comments on commit 00ec6a1

Please sign in to comment.