Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 33 additions & 1 deletion src/changelog.rst
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,38 @@ 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.97.0
-------------------------------

- `Consider 'Result<T, Uninhabited>' and 'ControlFlow<Uninhabited, T>' to be equivalent to 'T' for must use lint <https://github.com/rust-lang/rust/pull/148214>`_

- Lints are outside the scope of the FLS.

- `Add allow-by-default 'dead_code_pub_in_binary' lint for unused pub items in binary crates <https://github.com/rust-lang/rust/pull/149509>`_

- Lints are outside the scope of the FLS.

- `Stabilize the 'div32', 'lam-bh', 'lamcas', 'ld-seq-sa' and 'scq' target features <https://github.com/rust-lang/rust/pull/154510>`_

- The target is outside the scope of the FLS

- `Stabilize 'cfg(target_has_atomic_primitive_alignment)' <https://github.com/rust-lang/rust/pull/155006>`_

- Configuration options are environment-specific and not exhaustive

- `Allow trailing 'self' in imports in more cases <https://github.com/rust-lang/rust/pull/155137>`_

Changed paragraphs:

- :p:`fls_uSajfdSsbxna`
- :p:`fls_2bkcn83smy2y`
- :p:`fls_ar03D5rxjzy0`

FLS maintenance
---------------

New paragraph: :p:`fls_oRdi3KXFbJcR`

Language changes in Rust 1.96.0
-------------------------------

Expand Down Expand Up @@ -195,7 +227,7 @@ Language changes in Rust 1.95.0
- :t:`well-formed pointer`

Changed glossary entries:

- :t:`pointer type`
- :t:`raw pointer`

Expand Down
9 changes: 6 additions & 3 deletions src/entities-and-resolution.rst
Original file line number Diff line number Diff line change
Expand Up @@ -298,7 +298,10 @@ A :t:`path` is subject to :t:`path resolution`.
If a :t:`path segment` is expressed as either :t:`keyword` ``crate``, :t:`keyword` ``$crate``, or :t:`keyword` ``Self``, then the :t:`path segment` shall be the first :t:`path segment` of a :t:`path`.

:dp:`fls_uSajfdSsbxna`
If a :t:`path segment` is expressed as :t:`keyword` ``self``, then the :t:`path segment` shall be either the first :t:`path segment` of a :t:`path`, or the last :t:`path segment` of a :t:`simple import` that appears in a :t:`nesting import`.
If a :t:`path segment` is expressed as :t:`keyword` ``self``, then the :t:`path segment` shall either be the first or the last :t:`path segment` of the :t:`path`.

:dp:`fls_oRdi3KXFbJcR`
If the last :t:`path segment` of a :t:`path` is expressed as :t:`keyword` ``self``, the :t:`entity` brought into :t:`scope` shall be a :t:`module`, an :t:`enum`, or a :t:`trait`.

@kirtchev-adacore kirtchev-adacore Aug 3, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
If the last :t:`path segment` of a :t:`path` is expressed as :t:`keyword` ``self``, the :t:`entity` brought into :t:`scope` shall be a :t:`module`, an :t:`enum`, or a :t:`trait`.
If the last :t:`path segment` of a :t:`path` is expressed as :t:`keyword` ``self``, then the :t:`entity` brought into :t:`scope` shall be an :t:`enum`, a :t:`module`, or a :t:`trait`.

View changes since the review


:dp:`fls_774uryecc2sx`
A :t:`path` that starts with a :t:`path segment` that is expressed as
Expand Down Expand Up @@ -1049,7 +1052,7 @@ An :dt:`import path prefix` is the fully constructed :t:`path` prefix of a
the current :t:`use import`.

:dp:`fls_2bkcn83smy2y`
A :dt:`simple import` is a :t:`use import` that brings into :t:`scope` an :t:`entity` selected by its :t:`simple import path`, or by its :t:`import path prefix` when its :t:`simple path` ends in :t:`keyword` ``self`` and the :t:`simple path` appears in a :t:`nesting import`.
A :dt:`simple import` is a :t:`use import` that brings into :t:`scope` an :t:`entity` selected by its :t:`simple import path`, or by its :t:`import path prefix` when its :t:`simple path` ends in :t:`keyword` ``self``.

:dp:`fls_v3a6y2ze44v2`
A :t:`glob import` is a :t:`use import` that brings all :t:`entities <entity>`
Expand Down Expand Up @@ -1083,7 +1086,7 @@ A :t:`simple import` brings :t:`[name]s` into :t:`scope` as follows:
If the :t:`simple import` appears in a :t:`nesting import` and the last :t:`path segment` of its :t:`simple path` is expressed as :t:`keyword` ``self``, then the :t:`simple import` brings the :t:`entity` in :t:`type namespace` that the :t:`import path prefix` resolves to into :t:`scope`.

* :dp:`fls_ar03D5rxjzy0`
If the :t:`simple path` is expressed as :t:`keyword` ``self``, then the :t:`simple import` brings the containing :t:`module` into :t:`scope`.
If the :t:`simple path` is expressed as :t:`keyword` ``self``, then the :t:`simple import` brings the :t:`entity` that its :t:`import path prefix` resolves to into :t:`scope`.

* :dp:`fls_ce73bg0BqV1X`
Otherwise bring all :t:`entities <entity>` that the :t:`simple import path`
Expand Down
2 changes: 1 addition & 1 deletion version.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
SPDX-FileCopyrightText: The Ferrocene Developers
SPDX-FileCopyrightText: The Rust Project Developers

.. |spec_version| replace:: 1.96.0
.. |spec_version| replace:: 1.97.0
Loading