diff --git a/src/attributes.rst b/src/attributes.rst
index bc91fec8..80ef645b 100644
--- a/src/attributes.rst
+++ b/src/attributes.rst
@@ -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`:
diff --git a/src/changelog.rst b/src/changelog.rst
index 6327b484..5e92d7db 100644
--- a/src/changelog.rst
+++ b/src/changelog.rst
@@ -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. `_
+
+ * No change: unwinding is not specified in the FLS
+
+* `Fix ambiguous cases of multiple `&` in elided self lifetimes. `_
+
+ * Changed paragraph: :p:`fls_crb6m6b3cdwh`
+
+ * New paragraph: :p:`fls_d4u3y82hdadc`
+
+* `Stabilize `#[expect]` for lints (RFC 2383), `_ 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. `_
+
+ * No change: the concrete type inference resolution is not part of the FLS
+
+* `Bump `elided_lifetimes_in_associated_constant` to deny. `_
+
+ * No change: lints are not part of the FLS
+
+* `\`offset_from\`: always allow pointers to point to the same address. `_
+
+ * No change: this previous restriction is not specified in the FLS
+
+* `Allow constraining opaque types during subtyping in the trait system. `_
+
+ * No change: the concrete type inference resolution is not part of the FLS
+
+* `Allow constraining opaque types during various unsizing casts. `_
+
+ * No change: the concrete type inference resolution is not part of the FLS
+
+* `Deny keyword lifetimes pre-expansion. `_
+
+ * No change: the FLS already specifies this restriction in :s:`Lifetime`
+
Language changes in Rust 1.80.0
-------------------------------
diff --git a/src/types-and-traits.rst b/src/types-and-traits.rst
index d4ce29f2..fa939276 100644
--- a/src/types-and-traits.rst
+++ b/src/types-and-traits.rst
@@ -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`.
@@ -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.