@@ -139,6 +139,7 @@ impl std::error::Error for InvalidRustEdition {}
139
139
define_rust_editions ! {
140
140
Edition2018 ( 2018 ) => 31 ,
141
141
Edition2021 ( 2021 ) => 56 ,
142
+ Edition2024 ( 2024 ) => 85 ,
142
143
}
143
144
144
145
impl RustTarget {
@@ -162,9 +163,9 @@ impl Default for RustEdition {
162
163
/// This macro defines the [`RustTarget`] and [`RustFeatures`] types.
163
164
macro_rules! define_rust_targets {
164
165
(
165
- Nightly => { $( $nightly_feature: ident $( ( $nightly_edition: literal) ) * $( : #$issue: literal) ?) ,* $( , ) ?} $( , ) ?
166
+ Nightly => { $( $nightly_feature: ident $( ( $nightly_edition: literal) ) | * $( : #$issue: literal) ?) ,* $( , ) ?} $( , ) ?
166
167
$(
167
- $variant: ident( $minor: literal) => { $( $feature: ident $( ( $edition: literal) ) * $( : #$pull: literal) ?) ,* $( , ) ?} ,
168
+ $variant: ident( $minor: literal) => { $( $feature: ident $( ( $edition: literal) ) | * $( : #$pull: literal) ?) ,* $( , ) ?} ,
168
169
) *
169
170
$( , ) ?
170
171
) => {
@@ -255,7 +256,7 @@ define_rust_targets! {
255
256
} ,
256
257
Stable_1_77 ( 77 ) => {
257
258
offset_of: #106655 ,
258
- literal_cstr( 2021 ) : #117472 ,
259
+ literal_cstr( 2021 ) | ( 2024 ) : #117472 ,
259
260
} ,
260
261
Stable_1_73 ( 73 ) => { thiscall_abi: #42202 } ,
261
262
Stable_1_71 ( 71 ) => { c_unwind_abi: #106075 } ,
@@ -406,6 +407,26 @@ impl Default for RustFeatures {
406
407
mod test {
407
408
use super :: * ;
408
409
410
+ #[ test]
411
+ fn release_versions_for_editions ( ) {
412
+ assert_eq ! (
413
+ "1.33" . parse:: <RustTarget >( ) . unwrap( ) . latest_edition( ) ,
414
+ RustEdition :: Edition2018
415
+ ) ;
416
+ assert_eq ! (
417
+ "1.56" . parse:: <RustTarget >( ) . unwrap( ) . latest_edition( ) ,
418
+ RustEdition :: Edition2021
419
+ ) ;
420
+ assert_eq ! (
421
+ "1.85" . parse:: <RustTarget >( ) . unwrap( ) . latest_edition( ) ,
422
+ RustEdition :: Edition2024
423
+ ) ;
424
+ assert_eq ! (
425
+ "nightly" . parse:: <RustTarget >( ) . unwrap( ) . latest_edition( ) ,
426
+ RustEdition :: Edition2024
427
+ ) ;
428
+ }
429
+
409
430
#[ test]
410
431
fn target_features ( ) {
411
432
let features =
0 commit comments