summary refs log tree commit diff stats
path: root/subprojects/packagefiles
diff options
context:
space:
mode:
Diffstat (limited to 'subprojects/packagefiles')
-rw-r--r--subprojects/packagefiles/bilge-impl-1.63.0.patch45
-rw-r--r--subprojects/packagefiles/proc-macro2-1-rs/meson.build4
-rw-r--r--subprojects/packagefiles/syn-2-rs/meson.build1
3 files changed, 49 insertions, 1 deletions
diff --git a/subprojects/packagefiles/bilge-impl-1.63.0.patch b/subprojects/packagefiles/bilge-impl-1.63.0.patch
new file mode 100644
index 0000000000..987428a6d6
--- /dev/null
+++ b/subprojects/packagefiles/bilge-impl-1.63.0.patch
@@ -0,0 +1,45 @@
+--- a/src/shared/discriminant_assigner.rs
++++ b/src/shared/discriminant_assigner.rs
+@@ -26,20 +26,20 @@
+         let discriminant_expr = &discriminant.1;

+         let variant_name = &variant.ident;

+ 

+-        let Expr::Lit(ExprLit { lit: Lit::Int(int), .. }) = discriminant_expr else {

++        if let Expr::Lit(ExprLit { lit: Lit::Int(int), .. }) = discriminant_expr {

++            let discriminant_value: u128 = int.base10_parse().unwrap_or_else(unreachable);

++            if discriminant_value > self.max_value() {

++                abort!(variant, "Value of variant exceeds the given number of bits")

++            }

++

++            Some(discriminant_value)

++        } else {

+             abort!(

+                 discriminant_expr,

+                 "variant `{}` is not a number", variant_name;

+                 help = "only literal integers currently supported"

+             )

+-        };

+-

+-        let discriminant_value: u128 = int.base10_parse().unwrap_or_else(unreachable);

+-        if discriminant_value > self.max_value() {

+-            abort!(variant, "Value of variant exceeds the given number of bits")

+         }

+-

+-        Some(discriminant_value)

+     }

+ 

+     fn assign(&mut self, variant: &Variant) -> u128 {

+--- a/src/shared/fallback.rs
++++ b/src/shared/fallback.rs
+@@ -22,8 +22,9 @@
+             }

+             Unnamed(fields) => {

+                 let variant_fields = fields.unnamed.iter();

+-                let Ok(fallback_value) = variant_fields.exactly_one() else {

+-                    abort!(variant, "fallback variant must have exactly one field"; help = "use only one field or change to a unit variant")

++                let fallback_value = match variant_fields.exactly_one() {

++                    Ok(ok) => ok,

++                    _ => abort!(variant, "fallback variant must have exactly one field"; help = "use only one field or change to a unit variant")

+                 };

+ 

+                 if !is_last_variant {

diff --git a/subprojects/packagefiles/proc-macro2-1-rs/meson.build b/subprojects/packagefiles/proc-macro2-1-rs/meson.build
index 818ec59336..8e601b50cc 100644
--- a/subprojects/packagefiles/proc-macro2-1-rs/meson.build
+++ b/subprojects/packagefiles/proc-macro2-1-rs/meson.build
@@ -15,7 +15,9 @@ _proc_macro2_rs = static_library(
   rust_abi: 'rust',
   rust_args: [
     '--cfg', 'feature="proc-macro"',
-    '--cfg', 'span_locations',
+    '--cfg', 'no_literal_byte_character',
+    '--cfg', 'no_literal_c_string',
+    '--cfg', 'no_source_text',
     '--cfg', 'wrap_proc_macro',
   ],
   dependencies: [
diff --git a/subprojects/packagefiles/syn-2-rs/meson.build b/subprojects/packagefiles/syn-2-rs/meson.build
index a53335f309..9f56ce1c24 100644
--- a/subprojects/packagefiles/syn-2-rs/meson.build
+++ b/subprojects/packagefiles/syn-2-rs/meson.build
@@ -24,6 +24,7 @@ _syn_rs = static_library(
     '--cfg', 'feature="printing"',
     '--cfg', 'feature="clone-impls"',
     '--cfg', 'feature="proc-macro"',
+    '--cfg', 'feature="extra-traits"',
   ],
   dependencies: [
     quote_dep,