Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update for 1.81.0 #522

Merged
merged 10 commits into from
Sep 24, 2024
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
Loading