From 9fecac88d3ce37d3c2c483ea712e48baf904f27b Mon Sep 17 00:00:00 2001 From: Philip Herron Date: Sat, 3 Feb 2024 16:02:36 +0000 Subject: gccrs: add test cases to prove type inference is working Fixes #2772 gcc/testsuite/ChangeLog: * rust/compile/issue-2772-1.rs: New test. * rust/compile/issue-2772-2.rs: New test. --- gcc/testsuite/rust/compile/issue-2772-1.rs | 20 ++++++++++++++++++++ gcc/testsuite/rust/compile/issue-2772-2.rs | 20 ++++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 gcc/testsuite/rust/compile/issue-2772-1.rs create mode 100644 gcc/testsuite/rust/compile/issue-2772-2.rs (limited to 'gcc/testsuite/rust') diff --git a/gcc/testsuite/rust/compile/issue-2772-1.rs b/gcc/testsuite/rust/compile/issue-2772-1.rs new file mode 100644 index 0000000..69977db --- /dev/null +++ b/gcc/testsuite/rust/compile/issue-2772-1.rs @@ -0,0 +1,20 @@ +// { dg-options "-w" } +#[lang = "sized"] +pub trait Sized {} + +struct Pair<'a, T, U> +where + T: 'a, + U: 'a, +{ + left: T, + right: U, +} + +pub fn test<'a>() { + let a: i32 = 50; + let x = Pair { + left: &&a, + right: &a, + }; +} diff --git a/gcc/testsuite/rust/compile/issue-2772-2.rs b/gcc/testsuite/rust/compile/issue-2772-2.rs new file mode 100644 index 0000000..b05f2b1 --- /dev/null +++ b/gcc/testsuite/rust/compile/issue-2772-2.rs @@ -0,0 +1,20 @@ +// { dg-options "-w" } +#[lang = "sized"] +pub trait Sized {} + +struct Pair<'a, T, U> +where + T: 'a, + U: 'a, +{ + left: T, + right: U, +} + +pub fn test<'a>() { + let a: i32 = 50; + let x = Pair::<&'_ _, &'_ _> { + left: &&a, + right: &a, + }; +} -- cgit v1.1