From 698f8c2f01ea549d77d7dc3338a12e04c11057b9 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 17 Apr 2024 14:02:58 +0200 Subject: Adding upstream version 1.64.0+dfsg1. Signed-off-by: Daniel Baumann --- src/test/ui/proc-macro/span-preservation.rs | 57 +++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 src/test/ui/proc-macro/span-preservation.rs (limited to 'src/test/ui/proc-macro/span-preservation.rs') diff --git a/src/test/ui/proc-macro/span-preservation.rs b/src/test/ui/proc-macro/span-preservation.rs new file mode 100644 index 000000000..0c7358655 --- /dev/null +++ b/src/test/ui/proc-macro/span-preservation.rs @@ -0,0 +1,57 @@ +// For each of these, we should get the appropriate type mismatch error message, +// and the function should be echoed. + +// aux-build:test-macros.rs + +#[macro_use] +extern crate test_macros; + +#[recollect_attr] +fn a() { + let x: usize = "hello"; //~ ERROR mismatched types +} + +#[recollect_attr] +fn b(x: Option) -> usize { + match x { + Some(x) => { return x }, //~ ERROR mismatched types + None => 10 + } +} + +#[recollect_attr] +fn c() { + struct Foo { + a: usize + } + + struct Bar { + a: usize, + b: usize + } + + let x = Foo { a: 10isize }; //~ ERROR mismatched types + let y = Foo { a: 10, b: 10isize }; //~ ERROR has no field named `b` +} + +#[recollect_attr] +extern "C" fn bar() { + 0 //~ ERROR mismatched types +} + +#[recollect_attr] +extern "C" fn baz() { + 0 //~ ERROR mismatched types +} + +#[recollect_attr] +extern "Rust" fn rust_abi() { + 0 //~ ERROR mismatched types +} + +#[recollect_attr] +extern "\x43" fn c_abi_escaped() { + 0 //~ ERROR mismatched types +} + +fn main() {} -- cgit v1.2.3