Skip to content

Commit 23dc919

Browse files
Merge #521
521: Update changelog for 1.80.0 r=pietroalbini a=Veykril Co-authored-by: Lukas Wirth <lukas.wirth@ferrous-systems.com>
2 parents d3baec2 + 01a7946 commit 23dc919

File tree

3 files changed

+73
-5
lines changed

3 files changed

+73
-5
lines changed

src/changelog.rst

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,31 @@ with the change that has been applied due to it.
1818
just the language changes that had an impact to the FLS. See the `release
1919
notes`_ for a full list of changes.
2020

21+
Language changes in Rust 1.80.0
22+
-------------------------------
23+
24+
* `Document maximum allocation size <https://github.com/rust-lang/rust/pull/116675/>`_
25+
26+
* New paragraphs: :p:`fls_CUJyMj0Sj8NS`, :p:`fls_kaomYy0Ml4Nh`, :p:`fls_B5cmkWfD5GNt`, :p:`fls_oqhQ62mDLckN`, :p:`fls_uhwpuv6cx4ip`, :p:`fls_xuuFKmm181bs`
27+
28+
* `Allow zero-byte offsets and ZST read/writes on arbitrary pointers <https://github.com/rust-lang/rust/pull/117329/>`_
29+
30+
* No change: this previous restriction is not specified in the FLS
31+
32+
* `Support C23's variadics without a named parameter <https://github.com/rust-lang/rust/pull/124048/>`_
33+
34+
* No change: this previous restriction is not specified in the FLS
35+
36+
* `Stabilize `exclusive_range_pattern` feature <https://github.com/rust-lang/rust/pull/124459/>`_
37+
38+
* Changed syntax: :s:`RangePattern`
39+
40+
* New syntax: :s:`ExclusiveRangePattern`
41+
42+
* Changed paragraph: :p:`fls_8Q6NfRx4j5V7`
43+
44+
* New paragraphs: :p:`fls_3PyquOKjA7SI`, :p:`fls_8bdOqkO1NuJW`, :p:`fls_EDL1Pi56KQ2H`
45+
2146
Language changes in Rust 1.79.0
2247
-------------------------------
2348

src/patterns.rst

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -433,6 +433,7 @@ Range Patterns
433433
RangePattern ::=
434434
HalfOpenRangePattern
435435
| InclusiveRangePattern
436+
| ExclusiveRangePattern
436437
| ObsoleteRangePattern
437438
438439
HalfOpenRangePattern ::=
@@ -441,6 +442,9 @@ Range Patterns
441442
InclusiveRangePattern ::=
442443
RangePatternLowBound $$..=$$ RangePatternHighBound
443444

445+
ExclusiveRangePattern ::=
446+
RangePatternLowBound $$..$$ RangePatternHighBound
447+
444448
ObsoleteRangePattern ::=
445449
RangePatternLowBound $$...$$ RangePatternHighBound
446450

@@ -471,6 +475,10 @@ A :t:`half-open range pattern` is a :t:`range pattern` with only a
471475
An :t:`inclusive range pattern` is a :t:`range pattern` with both a
472476
:t:`range pattern low bound` and a :t:`range pattern high bound`.
473477

478+
:dp:`fls_3PyquOKjA7SI`
479+
An :t:`exclusive range pattern` is a :t:`range pattern` with both a
480+
:t:`range pattern low bound` and a :t:`range pattern high bound`.
481+
474482
:dp:`fls_akf9x5r6e0ta`
475483
An :t:`obsolete range pattern` is a :t:`range pattern` that uses obsolete syntax
476484
to express an :t:`inclusive range pattern`.
@@ -494,6 +502,10 @@ when the context is a :t:`slice pattern`.
494502
The :t:`range pattern low bound` of an :t:`inclusive range pattern` shall be
495503
less than or equal to its :t:`range pattern high bound`.
496504

505+
:dp:`fls_8bdOqkO1NuJW`
506+
The :t:`range pattern low bound` of an :t:`exclusive range pattern` shall be
507+
less than to its :t:`range pattern high bound`.
508+
497509
:dp:`fls_s2b5n4snc4d7`
498510
An :t:`obsolete range pattern` is equivalent to an :t:`inclusive range pattern`.
499511

@@ -508,11 +520,11 @@ The :t:`[type]s` of the :t:`range pattern low bound` and the
508520
:dp:`fls_3js1645tgh31`
509521
The :t:`type` of a :t:`range pattern` is determined as follows:
510522

511-
* :dp:`fls_wfqrbwrogjnq`
512-
If the :t:`range pattern` is expressed as an :t:`inclusive range pattern` or
513-
an :t:`obsolete range pattern`, then the :t:`type` is the :t:`unified type` of
514-
the :t:`[type]s` of the :t:`range pattern low bound` and the
515-
:t:`range pattern high bound`.
523+
* :dp:`fls_8Q6NfRx4j5V7`
524+
If the :t:`range pattern` is expressed as an :t:`inclusive range pattern`, an
525+
:t:`exclusive range pattern`, or an :t:`obsolete range pattern`, then the
526+
:t:`type` is the :t:`unified type` of the :t:`[type]s` of the
527+
:t:`range pattern low bound` and the :t:`range pattern high bound`.
516528

517529
* :dp:`fls_rgr7t33s0m7m`
518530
Otherwise the :t:`type` is the :t:`type` of the :t:`range pattern low bound`.
@@ -1423,6 +1435,12 @@ Range Pattern Matching
14231435
the inclusive range from the :t:`range pattern low bound` to the
14241436
:t:`range pattern high bound`, then matching succeeds.
14251437

1438+
#. :dp:`fls_EDL1Pi56KQ2H`
1439+
If the :t:`range pattern` is expressed as an :t:`exclusive range pattern`
1440+
and the context :t:`value` is in the exclusive range from the
1441+
:t:`range pattern low bound` to the :t:`range pattern high bound`, then
1442+
matching succeeds.
1443+
14261444
#. :dp:`fls_n4t3xah1pk7i`
14271445
Otherwise matching fails.
14281446

src/values.rst

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,17 @@ Values
1414
A :t:`value` is either a :t:`literal` or the result of a computation, that may
1515
be stored in a memory location, and interpreted based on some :t:`type`.
1616

17+
:dp:`fls_CUJyMj0Sj8NS`
18+
An :dt:`allocated object` is a :t:`value` stored at some memory address.
19+
20+
:dp:`fls_kaomYy0Ml4Nh`
21+
An :t:`[allocated object]s` :dt:`base address` is the the memory address the
22+
object is stored.
23+
24+
:dp:`fls_B5cmkWfD5GNt`
25+
An :t:`[allocated object]s` :dt:`memory size` is the number of bytes the object
26+
spans in memory from its :t:`base address`.
27+
1728
:dp:`fls_rixdyyc525xp`
1829
Two :t:`[value]s` :t:`overlap` when
1930

@@ -37,6 +48,20 @@ Two :t:`[value]s` :t:`overlap` when
3748
It is undefined behavior to create a :t:`value` from uninitialized memory unless
3849
the :t:`type` of the :t:`value` is a :t:`union type`.
3950

51+
:dp:`fls_oqhQ62mDLckN`
52+
It is undefined behavior to create an :t:`allocated object` at :t:`base address`
53+
:c:`null`.
54+
55+
:dp:`fls_uhwpuv6cx4ip`
56+
It is undefined behavior to create an :t:`allocated object` with :t:`memory
57+
size` ``size`` at a :t:`base address` ``base`` where ``base + size`` is greater
58+
than the architectures maximum :c:`usize` value.
59+
60+
:dp:`fls_xuuFKmm181bs`
61+
It is undefined behavior to create an :t:`allocated object` with :t:`memory
62+
size` ``size`` where ``size`` is greater than the architectures maximum
63+
:c:`isize` value.
64+
4065
.. _fls_ixjc5jaamx84:
4166

4267
Constants

0 commit comments

Comments
 (0)