]> git.proxmox.com Git - rustc.git/blame - src/test/pretty/issue-4264.pp
New upstream version 1.48.0~beta.8+dfsg1
[rustc.git] / src / test / pretty / issue-4264.pp
CommitLineData
1a4d82fc 1#[prelude_import]
b7449926 2use ::std::prelude::v1::*;
85aaf69f 3#[macro_use]
8faf50e0 4extern crate std;
1a4d82fc 5// pretty-compare-only
e9174d1e 6// pretty-mode:hir,typed
1a4d82fc
JJ
7// pp-exact:issue-4264.pp
8
9// #4264 fixed-length vector types
10
476ff2be 11pub fn foo(_: [i32; (3 as usize)]) ({ } as ())
1a4d82fc 12
476ff2be
SL
13pub fn bar() ({
14 const FOO: usize = ((5 as usize) - (4 as usize) as usize);
15 let _: [(); (FOO as usize)] = ([(() as ())] as [(); 1]);
1a4d82fc 16
476ff2be 17 let _: [(); (1 as usize)] = ([(() as ())] as [(); 1]);
1a4d82fc 18
476ff2be
SL
19 let _ =
20 (((&([(1 as i32), (2 as i32), (3 as i32)] as [i32; 3])
21 as &[i32; 3]) as *const _ as *const [i32; 3]) as
22 *const [i32; (3 as usize)] as *const [i32; 3]);
1a4d82fc
JJ
23
24
25
26
27
28
29
30
476ff2be 31
60c5eb7d
XL
32 ({
33 let res =
34 ((::alloc::fmt::format as
1b1a35ee
XL
35 for<'r> fn(Arguments<'r>) -> String {format})(((::core::fmt::Arguments::new_v1
36 as
37 fn(&[&'static str], &[ArgumentV1]) -> Arguments {Arguments::new_v1})((&([("test"
38 as
39 &str)]
40 as
41 [&str; 1])
42 as
43 &[&str; 1]),
44 (&(match (()
45 as
46 ())
47 {
48 ()
49 =>
50 ([]
51 as
52 [ArgumentV1; 0]),
53 }
54 as
55 [ArgumentV1; 0])
56 as
57 &[ArgumentV1; 0]))
58 as
59 Arguments))
60 as String);
61 (res as String)
62 } as String);
476ff2be 63 } as ())
85aaf69f 64pub type Foo = [i32; (3 as usize)];
1a4d82fc 65pub struct Bar {
85aaf69f 66 pub x: [i32; (3 as usize)],
1a4d82fc 67}
85aaf69f
SL
68pub struct TupleBar([i32; (4 as usize)]);
69pub enum Baz { BazVariant([i32; (5 as usize)]), }
476ff2be
SL
70pub fn id<T>(x: T) -> T ({ (x as T) } as T)
71pub fn use_id() ({
72 let _ =
73 ((id::<[i32; (3 as usize)]> as
74 fn([i32; 3]) -> [i32; 3] {id::<[i32; 3]>})(([(1
75 as
76 i32),
77 (2
78 as
79 i32),
80 (3
81 as
82 i32)]
83 as
84 [i32; 3]))
85 as [i32; 3]);
86 } as ())
87fn main() ({ } as ())