Skip to content

Standardize Changelog content#691

Merged
tshepang merged 1 commit intorust-lang:mainfrom
kirtchev-adacore:fls-690-standardize-changelog
Apr 8, 2026
Merged

Standardize Changelog content#691
tshepang merged 1 commit intorust-lang:mainfrom
kirtchev-adacore:fls-690-standardize-changelog

Conversation

@kirtchev-adacore
Copy link
Copy Markdown
Contributor

This MR updates the contents of the Changelog to follow the instructions given in the Developer Guide.

Closes #690

@kirtchev-adacore kirtchev-adacore self-assigned this Apr 6, 2026
@kirtchev-adacore kirtchev-adacore force-pushed the fls-690-standardize-changelog branch 2 times, most recently from ab01740 to 3fdb09e Compare April 6, 2026 10:19
Comment thread src/changelog.rst
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I do wonder, should we refer to it as FLS or the FLS

  • outside the scope of FLS
  • outside the scope of the FLS

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

If you spell out FLS, then "outside the scope of the Functional Language Specification" is proper English. So I think "the FLS" is correct. But then again English is not my native language...

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

@traviscross what do you think

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.

"The FLS" is correct.

Comment thread src/changelog.rst Outdated
Comment thread src/changelog.rst Outdated
Comment thread src/changelog.rst
Comment thread src/changelog.rst Outdated
- `Show a warning when \`-Ctarget-feature\` is used to toggle features that can lead to unsoundness due to ABI mismatches <https://github.com/rust-lang/rust/pull/129884>`_

* No change: `target-feature` is outside the scope of the FLS
- Code generation options are is outside the scope of the FLS.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I think they should be. What should be outside the scope is the command line part of this, since FLS only documents lang behavior, but not tool use.

Maybe something like...

Tool usage is outside the scope of the FLS.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Any details about a conforming tool should be outside the scope of the FLS, including code generation options.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Some code generation options are at language level (as in, visible in the source code), and those would be in scope I think. Am looking at https://rust-lang.github.io/fls/attributes.html#code-generation-attributes.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Note that what you linked are code generation attributes, which are within the scope of the FLS.

-Ctarget-feature is a code generation option, which should not be documented in the FLS. Hence my proposed wording.

Copy link
Copy Markdown
Member

@tshepang tshepang Apr 7, 2026

Choose a reason for hiding this comment

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

I think then we should use more generic wording, to be more clear, because being this specific, like "Code generation options are not in scope", could imply some command line options are in scope.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Could you post your suggested wording? I feel like I am trying to guess what you are thinking of.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I incorporated your suggestion.

Comment thread src/changelog.rst Outdated
Comment thread src/changelog.rst Outdated
Comment thread src/changelog.rst Outdated
Comment thread src/changelog.rst Outdated
Comment thread src/changelog.rst Outdated
Comment thread src/changelog.rst Outdated
Comment thread src/changelog.rst Outdated
- `Stabilize \`#[cfg(target_abi = ...)]\` <https://github.com/rust-lang/rust/pull/119590/>`_

* No change: ``cfg`` and ``cfg_attr`` configuration predicates are not part of the FLS
- Configuration predicates are outside the scope of the FLS.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

this is outside the scope of this PR (pun), but it does not sound true, does it

Copy link
Copy Markdown
Contributor Author

@kirtchev-adacore kirtchev-adacore Apr 7, 2026

Choose a reason for hiding this comment

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

I do not understand what you mean. We document configuration predicates as part of cfg and cfg_attr, and we define them as

A configuration predicate is a construct that evaluates statically to either true or false, and controls conditional compilation.

Are you trying to say that individual configuration options are outside the scope of the FLS?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

the claim is that "Configuration predicates are outside the scope of the FLS", but it would be outside the scope of this PR to change that claim, since it only changes message format

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I think the proper wording should be "Configuration options are outside the scope of the FLS.". What do you think?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

if that is referring to command line options (tool use), yeah, but this is not the case here, or is it

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

The text I proposed is referring to

ConfigurationOption ::=
    ConfigurationOptionName ConfigurationOptionValue?

but now I am noticing that we do not define the term "configuration option".

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

in that case, those are in scope (I believe)

note that I was not suggesting a change here, but more a confirmation that this changelog entry is wrong (but I am not very confident)

Copy link
Copy Markdown
Contributor Author

@kirtchev-adacore kirtchev-adacore Apr 7, 2026

Choose a reason for hiding this comment

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

The FLS does not list specific configuration options. All it says is

The evaluation of a configuration option is tool-defined.

The syntax is in scope, but the actual pairs of option names and option values are not, because they are tool-specific.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Oh, I see, thanks. I should look at improving that text... it's not so clear to me.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

In the mean time, I updated the changelog entry.

Comment thread src/changelog.rst Outdated
Comment thread src/changelog.rst Outdated
- `Remove unnecessary type inference when using associated types inside of higher ranked \`where\`-bounds <https://github.com/rust-lang/rust/pull/119849>`_

* No change: the FLS does not specify type inference to such a degree
- Concrete type inference resolution is outside the scope of the FLS.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

is it called type inference resolution

note: there are other uses of the term in this pr

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I changed the occurrences into "The mechanism of type inference resolution is outside the scope of the FLS."

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

my question is more on "resolution"... it's not a word I have seen used with "type inference"

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

After skimming through the related PR, this looks like a compiler bug fix. Agreed?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I would not call call it a bug. It is, however, a behavior change that delves more deep than the FLS cares to describe.

My comment here, though, was about the inclusion of the word, "resolution".

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

OK. I reworded the text to be similar to the original.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

just a note that other instances of "type inference resolution" introduced by this pr remain

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Fixed.

Comment thread src/changelog.rst Outdated
Comment thread src/changelog.rst Outdated
@kirtchev-adacore kirtchev-adacore force-pushed the fls-690-standardize-changelog branch from 3fdb09e to ac9a511 Compare April 7, 2026 07:20
Comment thread src/changelog.rst Outdated
Comment thread src/changelog.rst Outdated
@kirtchev-adacore kirtchev-adacore force-pushed the fls-690-standardize-changelog branch from ac9a511 to 510b62a Compare April 7, 2026 12:24
@rustbot
Copy link
Copy Markdown
Collaborator

rustbot commented Apr 7, 2026

This PR was rebased onto a different main commit. Here's a range-diff highlighting what actually changed.

Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers.

@kirtchev-adacore kirtchev-adacore force-pushed the fls-690-standardize-changelog branch from 510b62a to 0a86e4b Compare April 7, 2026 12:40
Comment thread src/changelog.rst Outdated
@kirtchev-adacore kirtchev-adacore force-pushed the fls-690-standardize-changelog branch 3 times, most recently from 96602c3 to 02f5f9e Compare April 7, 2026 12:55
Copy link
Copy Markdown
Member

@tshepang tshepang left a comment

Choose a reason for hiding this comment

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

last consistency nits, and this is good enough for me

View changes since this review

Comment thread src/changelog.rst Outdated
- `Revert “Update wasm-related dependencies in CI” <https://github.com/rust-lang/rust/pull/152259>`_

- No change: the target is outside the scope of FLS
- The target is outside the scope of FLS.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Suggested change
- The target is outside the scope of FLS.
- The target is outside the scope of the FLS.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Fixed.

Comment thread src/changelog.rst Outdated
- `Stabilize several s390x vector-related target features and the is_s390x_feature_detected! macro <https://github.com/rust-lang/rust/pull/145656>`_

- No change: the target is outside the scope of FLS
- The target is outside the scope of FLS.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Suggested change
- The target is outside the scope of FLS.
- The target is outside the scope of the FLS.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Fixed.

Comment thread src/changelog.rst Outdated
- `Add warn-by-default const_item_interior_mutations lint to warn against calls which mutate interior mutable const items <https://github.com/rust-lang/rust/pull/148407>`_

- Lints are outside the scope of FLS
- Lints are outside the scope of FLS.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Suggested change
- Lints are outside the scope of FLS.
- Lints are outside the scope of the FLS.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Fixed.

Comment thread src/changelog.rst Outdated
- `Add warn-by-default function_casts_as_integer lint <https://github.com/rust-lang/rust/pull/141470>`_

- Lints are outside the scope of FLS
- Lints are outside the scope of FLS.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Suggested change
- Lints are outside the scope of FLS.
- Lints are outside the scope of the FLS.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Fixed.

This MR updates the contents of the Changelog to follow the instructions
given in the Developer Guide.

Closes rust-lang#690
@kirtchev-adacore kirtchev-adacore force-pushed the fls-690-standardize-changelog branch from 02f5f9e to 6a3409e Compare April 8, 2026 14:29
@tshepang tshepang added this pull request to the merge queue Apr 8, 2026
@tshepang
Copy link
Copy Markdown
Member

tshepang commented Apr 8, 2026

this was more work than I expected... thanks @kirtchev-adacore

Merged via the queue into rust-lang:main with commit 2f4f33c Apr 8, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Standardize the Changelog

4 participants