diff options
author | Arthur Cohen <arthur.cohen@embecosm.com> | 2024-02-29 16:09:23 +0100 |
---|---|---|
committer | Arthur Cohen <arthur.cohen@embecosm.com> | 2024-08-01 13:12:16 +0200 |
commit | d0e8bf92395be8c4b5f059f93006655b63e1367e (patch) | |
tree | d216fae37b78d8a25a353ba6edd7546d37e8f059 /gcc | |
parent | 444b41bf06c36af3f8659a5057dae454aac90156 (diff) | |
download | gcc-d0e8bf92395be8c4b5f059f93006655b63e1367e.zip gcc-d0e8bf92395be8c4b5f059f93006655b63e1367e.tar.gz gcc-d0e8bf92395be8c4b5f059f93006655b63e1367e.tar.bz2 |
gccrs: format-args: Add basic test case
gcc/testsuite/ChangeLog:
* rust/compile/format_args_basic_expansion.rs: New test.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/rust/compile/format_args_basic_expansion.rs | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/gcc/testsuite/rust/compile/format_args_basic_expansion.rs b/gcc/testsuite/rust/compile/format_args_basic_expansion.rs new file mode 100644 index 0000000..40bcd3c --- /dev/null +++ b/gcc/testsuite/rust/compile/format_args_basic_expansion.rs @@ -0,0 +1,47 @@ +#![feature(rustc_attrs)] + +#[rustc_builtin_macro] +macro_rules! format_args { + () => {}; +} + +#[lang = "sized"] +trait Sized {} + +pub mod core { + pub mod fmt { + pub struct Formatter; + pub struct Result; + + pub struct Arguments<'a>; + + impl<'a> Arguments<'a> { + pub fn new_v1(_: &'a [&'static str], _: &'a [ArgumentV1<'a>]) -> Arguments<'a> { + Arguments + } + } + + pub struct ArgumentV1<'a>; + + impl<'a> ArgumentV1<'a> { + pub fn new<'b, T>(_: &'b T, _: fn(&T, &mut Formatter) -> Result) -> ArgumentV1 { + ArgumentV1 + } + } + + pub trait Display { + fn fmt(&self, _: &mut Formatter) -> Result; + } + + impl Display for i32 { + fn fmt(&self, _: &mut Formatter) -> Result { + // { dg-warning "unused name .self." "" { target *-*-* } .-1 } + Result + } + } + } +} + +fn main() { + let _formatted = format_args!("hello {}", 15); +} |