]> git.proxmox.com Git - rustc.git/blob - tests/ui/issues/issue-47364.rs
New upstream version 1.68.2+dfsg1
[rustc.git] / tests / ui / issues / issue-47364.rs
1 // run-pass
2 #![allow(unused_variables)]
3 // compile-flags: -C codegen-units=8 -O
4 #![allow(non_snake_case)]
5
6 fn main() {
7 nom_sql::selection(b"x ");
8 }
9
10 pub enum Err<P>{
11 Position(P),
12 NodePosition(u32),
13 }
14
15 pub enum IResult<I,O> {
16 Done(I,O),
17 Error(Err<I>),
18 Incomplete(u32, u64)
19 }
20
21 pub fn multispace<T: Copy>(input: T) -> ::IResult<i8, i8> {
22 ::IResult::Done(0, 0)
23 }
24
25 mod nom_sql {
26 fn where_clause(i: &[u8]) -> ::IResult<&[u8], Option<String>> {
27 let X = match ::multispace(i) {
28 ::IResult::Done(..) => ::IResult::Done(i, None::<String>),
29 _ => ::IResult::Error(::Err::NodePosition(0)),
30 };
31 match X {
32 ::IResult::Done(_, _) => ::IResult::Done(i, None),
33 _ => X
34 }
35 }
36
37 pub fn selection(i: &[u8]) {
38 let Y = match {
39 match {
40 where_clause(i)
41 } {
42 ::IResult::Done(_, o) => ::IResult::Done(i, Some(o)),
43 ::IResult::Error(_) => ::IResult::Done(i, None),
44 _ => ::IResult::Incomplete(0, 0),
45 }
46 } {
47 ::IResult::Done(z, _) => ::IResult::Done(z, None::<String>),
48 _ => return ()
49 };
50 match Y {
51 ::IResult::Done(x, _) => {
52 let bytes = b"; ";
53 let len = x.len();
54 bytes[len];
55 }
56 _ => ()
57 }
58 }
59 }