]> git.lizzy.rs Git - rust.git/blob - src/test/ui/issues/issue-47364.rs
Rollup merge of #100168 - WaffleLapkin:improve_diagnostics_for_missing_type_in_a_cons...
[rust.git] / src / test / 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 }