]> git.proxmox.com Git - rustc.git/blame - src/test/ui/issues/issue-47364.rs
New upstream version 1.60.0+dfsg1
[rustc.git] / src / test / ui / issues / issue-47364.rs
CommitLineData
b7449926 1// run-pass
0bf4aa26 2#![allow(unused_variables)]
2c00a5a8 3// compile-flags: -C codegen-units=8 -O
b7449926 4#![allow(non_snake_case)]
2c00a5a8
XL
5
6fn main() {
7 nom_sql::selection(b"x ");
8}
9
10pub enum Err<P>{
11 Position(P),
12 NodePosition(u32),
13}
14
15pub enum IResult<I,O> {
16 Done(I,O),
17 Error(Err<I>),
18 Incomplete(u32, u64)
19}
20
21pub fn multispace<T: Copy>(input: T) -> ::IResult<i8, i8> {
22 ::IResult::Done(0, 0)
23}
24
25mod 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}