https://gcc.gnu.org/g:3d42d4fdf1a06da9d04c1f8ca4574def333f1c91

commit r16-3001-g3d42d4fdf1a06da9d04c1f8ca4574def333f1c91
Author: Philip Herron <herron.phi...@googlemail.com>
Date:   Fri Aug 1 21:54:36 2025 +0100

    gccrs: Add test case showing method resolution with const-generics
    
    gcc/testsuite/ChangeLog:
    
            * rust/execute/torture/const-generics-1.rs: New test.
    
    Signed-off-by: Philip Herron <herron.phi...@googlemail.com>

Diff:
---
 .../rust/execute/torture/const-generics-1.rs       | 24 ++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gcc/testsuite/rust/execute/torture/const-generics-1.rs 
b/gcc/testsuite/rust/execute/torture/const-generics-1.rs
new file mode 100644
index 000000000000..dbb7afe6835b
--- /dev/null
+++ b/gcc/testsuite/rust/execute/torture/const-generics-1.rs
@@ -0,0 +1,24 @@
+#[lang = "sized"]
+trait Sized {}
+
+struct Foo<const N: usize>;
+
+impl Foo<1> {
+    fn call(&self) -> i32 {
+        10
+    }
+}
+
+impl Foo<2> {
+    fn call(&self) -> i32 {
+        20
+    }
+}
+
+fn main() -> i32 {
+    let a = Foo::<1> {};
+    let b = Foo::<2> {};
+    let aa = a.call();
+    let bb = b.call();
+    bb - aa - 10
+}

Reply via email to