| #[prelude_import] |
| use ::std::prelude::v1::*; |
| #[macro_use] |
| extern crate std; |
| // pretty-compare-only |
| // pretty-mode:hir,typed |
| // pp-exact:issue-4264.pp |
| |
| // #4264 fixed-length vector types |
| |
| pub fn foo(_: [i32; (3 as usize)]) ({ } as ()) |
| |
| pub 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<'r> fn(std::fmt::Arguments<'r>) -> std::string::String {std::fmt::format})(((::core::fmt::Arguments::new_v1 |
| as |
| fn(&[&str], &[std::fmt::ArgumentV1<'_>]) -> std::fmt::Arguments<'_> {std::fmt::Arguments::<'_>::new_v1})((&([("test" |
| as |
| &'static str)] |
| as |
| [&str; 1]) |
| as |
| &[&str; 1]), |
| (&(match (() |
| as |
| ()) |
| { |
| () |
| => |
| ([] |
| as |
| [std::fmt::ArgumentV1<'_>; 0]), |
| } |
| as |
| [std::fmt::ArgumentV1<'_>; 0]) |
| as |
| &[std::fmt::ArgumentV1<'_>; 0])) |
| as |
| std::fmt::Arguments<'_>)) |
| as std::string::String); |
| (res as std::string::String) |
| } as std::string::String); |
| } as ()) |
| pub type Foo = [i32; (3 as usize)]; |
| pub struct Bar { |
| pub x: [i32; (3 as usize)], |
| } |
| pub struct TupleBar([i32; (4 as usize)]); |
| pub enum Baz { BazVariant([i32; (5 as usize)]), } |
| pub fn id<T>(x: T) -> T ({ (x as T) } as T) |
| pub 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 ()) |