diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:19:03 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:19:03 +0000 |
commit | 64d98f8ee037282c35007b64c2649055c56af1db (patch) | |
tree | 5492bcf97fce41ee1c0b1cc2add283f3e66cdab0 /tests/pretty/issue-4264.pp | |
parent | Adding debian version 1.67.1+dfsg1-1. (diff) | |
download | rustc-64d98f8ee037282c35007b64c2649055c56af1db.tar.xz rustc-64d98f8ee037282c35007b64c2649055c56af1db.zip |
Merging upstream version 1.68.2+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'tests/pretty/issue-4264.pp')
-rw-r--r-- | tests/pretty/issue-4264.pp | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/tests/pretty/issue-4264.pp b/tests/pretty/issue-4264.pp new file mode 100644 index 000000000..18e6d75b1 --- /dev/null +++ b/tests/pretty/issue-4264.pp @@ -0,0 +1,57 @@ +#[prelude_import] +use ::std::prelude::rust_2015::*; +#[macro_use] +extern crate std; +// pretty-compare-only +// pretty-mode:hir,typed +// pp-exact:issue-4264.pp + +// #4264 fixed-length vector types + +fn foo(_: [i32; (3 as usize)]) ({ } as ()) + +fn bar() ({ + const FOO: usize = ((5 as usize) - (4 as usize) as usize); + let _: [(); (FOO as usize)] = ([(() as ())] as [(); 1]); + + let _: [(); (1 as usize)] = ([(() as ())] as [(); 1]); + + let _ = + (((&([(1 as i32), (2 as i32), (3 as i32)] as [i32; 3]) as + &[i32; 3]) as *const _ as *const [i32; 3]) as + *const [i32; (3 as usize)] as *const [i32; 3]); + + + + + + + + + + ({ + let res = + ((::alloc::fmt::format as + for<'a> fn(Arguments<'a>) -> String {format})(((::core::fmt::Arguments::new_v1 + as + fn(&[&'static str], &[ArgumentV1<'_>]) -> Arguments<'_> {Arguments::<'_>::new_v1})((&([("test" + as &str)] as [&str; 1]) as &[&str; 1]), + (&([] as [ArgumentV1<'_>; 0]) as &[ArgumentV1<'_>; 0])) as + Arguments<'_>)) as String); + (res as String) + } as String); + } as ()) +type Foo = [i32; (3 as usize)]; +struct Bar { + x: [i32; (3 as usize)], +} +struct TupleBar([i32; (4 as usize)]); +enum Baz { BazVariant([i32; (5 as usize)]), } +fn id<T>(x: T) -> T ({ (x as T) } as T) +fn use_id() ({ + let _ = + ((id::<[i32; (3 as usize)]> as + fn([i32; 3]) -> [i32; 3] {id::<[i32; 3]>})(([(1 as i32), + (2 as i32), (3 as i32)] as [i32; 3])) as [i32; 3]); + } as ()) +fn main() ({ } as ()) |