Skip to content

Commit 18d79cb

Browse files
committed
Also track the error output for the chumsky example
1 parent 1aa978f commit 18d79cb

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

test_cases/tests/chumsky/json.stderr

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
error[E0271]: type mismatch resolving `<fn(Vec<char>) -> String as FnOnce<(Vec<char>,)>>::Output == Json`
2+
--> tests/chumsky/json.rs:92:17
3+
|
4+
92 | .or(string)
5+
| -- ^^^^^^ expected enum `Json`, found struct `String`
6+
| |
7+
| required by a bound introduced by this call
8+
|
9+
= note: required because of the requirements on the impl of `chumsky::Parser<char, Json>` for `chumsky::combinator::Map<chumsky::combinator::Map<Then<chumsky::combinator::Map<Then<Just<char, char, chumsky::error::Simple<char, _>>, Repeated<Or<chumsky::primitive::Filter<[closure@$DIR/tests/chumsky/json.rs:59:33: 59:60], chumsky::error::Simple<char, _>>, chumsky::combinator::Map<Then<Just<char, char, chumsky::error::Simple<char, _>>, Or<Or<Or<Or<Or<Or<Or<Or<Just<char, char, chumsky::error::Simple<char, _>>, Just<char, char, chumsky::error::Simple<char, _>>>, Just<char, char, chumsky::error::Simple<char, _>>>, To<Just<char, char, chumsky::error::Simple<char, _>>, char, char>>, To<Just<char, char, chumsky::error::Simple<char, _>>, char, char>>, To<Just<char, char, chumsky::error::Simple<char, _>>, char, char>>, To<Just<char, char, chumsky::error::Simple<char, _>>, char, char>>, To<Just<char, char, chumsky::error::Simple<char, _>>, char, char>>, chumsky::combinator::Map<Then<Just<char, char, chumsky::error::Simple<char, _>>, Validate<chumsky::combinator::Map<Repeated<chumsky::primitive::Filter<[closure@$DIR/tests/chumsky/json.rs:44:28: 44:53], chumsky::error::Simple<char, _>>>, fn(Vec<char>) -> String, Vec<char>>, String, [closure@$DIR/tests/chumsky/json.rs:48:35: 54:26]>>, fn((char, char)) -> char, (char, char)>>>, fn((char, char)) -> char, (char, char)>>>>, fn((char, Vec<char>)) -> Vec<char>, (char, Vec<char>)>, Just<char, char, chumsky::error::Simple<char, _>>>, fn((Vec<char>, char)) -> Vec<char>, (Vec<char>, char)>, fn(Vec<char>) -> String, Vec<char>>`
10+
= note: 1 redundant requirement hidden
11+
= note: required because of the requirements on the impl of `chumsky::Parser<char, Json>` for `Label<chumsky::combinator::Map<chumsky::combinator::Map<Then<chumsky::combinator::Map<Then<Just<char, char, chumsky::error::Simple<char, _>>, Repeated<Or<chumsky::primitive::Filter<[closure@$DIR/tests/chumsky/json.rs:59:33: 59:60], chumsky::error::Simple<char, _>>, chumsky::combinator::Map<Then<Just<char, char, chumsky::error::Simple<char, _>>, Or<Or<Or<Or<Or<Or<Or<Or<Just<char, char, chumsky::error::Simple<char, _>>, Just<char, char, chumsky::error::Simple<char, _>>>, Just<char, char, chumsky::error::Simple<char, _>>>, To<Just<char, char, chumsky::error::Simple<char, _>>, char, char>>, To<Just<char, char, chumsky::error::Simple<char, _>>, char, char>>, To<Just<char, char, chumsky::error::Simple<char, _>>, char, char>>, To<Just<char, char, chumsky::error::Simple<char, _>>, char, char>>, To<Just<char, char, chumsky::error::Simple<char, _>>, char, char>>, chumsky::combinator::Map<Then<Just<char, char, chumsky::error::Simple<char, _>>, Validate<chumsky::combinator::Map<Repeated<chumsky::primitive::Filter<[closure@$DIR/tests/chumsky/json.rs:44:28: 44:53], chumsky::error::Simple<char, _>>>, fn(Vec<char>) -> String, Vec<char>>, String, [closure@$DIR/tests/chumsky/json.rs:48:35: 54:26]>>, fn((char, char)) -> char, (char, char)>>>, fn((char, char)) -> char, (char, char)>>>>, fn((char, Vec<char>)) -> Vec<char>, (char, Vec<char>)>, Just<char, char, chumsky::error::Simple<char, _>>>, fn((Vec<char>, char)) -> Vec<char>, (Vec<char>, char)>, fn(Vec<char>) -> String, Vec<char>>, &str>`
12+
note: required by a bound in `or`
13+
--> $CARGO/chumsky-0.8.0/src/lib.rs
14+
|
15+
| P: Parser<I, O, Error = Self::Error>,
16+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `or`
17+
18+
error[E0599]: the method `or` exists for struct `Or<Or<Or<Or<Label<To<Just<char, &str, chumsky::error::Simple<char, _>>, &str, Json>, &str>, Label<To<Just<char, &str, chumsky::error::Simple<char, _>>, &str, Json>, &str>>, Label<To<Just<char, &str, chumsky::error::Simple<char, _>>, &str, Json>, &str>>, chumsky::combinator::Map<Label<chumsky::combinator::Map<chumsky::combinator::Map<chumsky::combinator::Map<chumsky::combinator::Map<Then<chumsky::combinator::Map<Then<chumsky::combinator::Map<Then<OrNot<Just<char, char, chumsky::error::Simple<char, _>>>, impl chumsky::Parser<char, <char as Character>::Collection, Error = chumsky::error::Simple<char, _>> + Copy + Clone>, fn((Option<char>, String)) -> Vec<char>, (Option<char>, String)>, chumsky::combinator::Map<OrNot<chumsky::combinator::Map<Then<Just<char, char, chumsky::error::Simple<char, _>>, impl chumsky::Parser<char, <char as Character>::Collection, Error = chumsky::error::Simple<char, _>> + Copy + Clone>, fn((char, String)) -> Vec<char>, (char, String)>>, fn(Option<Vec<char>>) -> Vec<char>, Option<Vec<char>>>>, fn((Vec<char>, Vec<char>)) -> Vec<char>, (Vec<char>, Vec<char>)>, chumsky::combinator::Map<OrNot<chumsky::combinator::Map<Then<chumsky::combinator::Map<Then<Or<Just<char, char, chumsky::error::Simple<char, _>>, Just<char, char, chumsky::error::Simple<char, _>>>, OrNot<Or<Just<char, char, chumsky::error::Simple<char, _>>, Just<char, char, chumsky::error::Simple<char, _>>>>>, fn((char, Option<char>)) -> Vec<char>, (char, Option<char>)>, impl chumsky::Parser<char, <char as Character>::Collection, Error = chumsky::error::Simple<char, _>> + Copy + Clone>, fn((Vec<char>, String)) -> Vec<char>, (Vec<char>, String)>>, fn(Option<Vec<char>>) -> Vec<char>, Option<Vec<char>>>>, fn((Vec<char>, Vec<char>)) -> Vec<char>, (Vec<char>, Vec<char>)>, fn(Vec<char>) -> String, Vec<char>>, fn(String) -> Result<f64, ParseFloatError>, String>, fn(Result<f64, ParseFloatError>) -> f64, Result<f64, ParseFloatError>>, &str>, fn(f64) -> Json {Json::Num}, f64>>, Label<chumsky::combinator::Map<chumsky::combinator::Map<Then<chumsky::combinator::Map<Then<Just<char, char, chumsky::error::Simple<char, _>>, Repeated<Or<chumsky::primitive::Filter<[closure@$DIR/tests/chumsky/json.rs:59:33: 59:60], chumsky::error::Simple<char, _>>, chumsky::combinator::Map<Then<Just<char, char, chumsky::error::Simple<char, _>>, Or<Or<Or<Or<Or<Or<Or<Or<Just<char, char, chumsky::error::Simple<char, _>>, Just<char, char, chumsky::error::Simple<char, _>>>, Just<char, char, chumsky::error::Simple<char, _>>>, To<Just<char, char, chumsky::error::Simple<char, _>>, char, char>>, To<Just<char, char, chumsky::error::Simple<char, _>>, char, char>>, To<Just<char, char, chumsky::error::Simple<char, _>>, char, char>>, To<Just<char, char, chumsky::error::Simple<char, _>>, char, char>>, To<Just<char, char, chumsky::error::Simple<char, _>>, char, char>>, chumsky::combinator::Map<Then<Just<char, char, chumsky::error::Simple<char, _>>, Validate<chumsky::combinator::Map<Repeated<chumsky::primitive::Filter<[closure@$DIR/tests/chumsky/json.rs:44:28: 44:53], chumsky::error::Simple<char, _>>>, fn(Vec<char>) -> String, Vec<char>>, String, [closure@$DIR/tests/chumsky/json.rs:48:35: 54:26]>>, fn((char, char)) -> char, (char, char)>>>, fn((char, char)) -> char, (char, char)>>>>, fn((char, Vec<char>)) -> Vec<char>, (char, Vec<char>)>, Just<char, char, chumsky::error::Simple<char, _>>>, fn((Vec<char>, char)) -> Vec<char>, (Vec<char>, char)>, fn(Vec<char>) -> String, Vec<char>>, &str>>`, but its trait bounds were not satisfied
19+
--> tests/chumsky/json.rs:94:14
20+
|
21+
94 | .or(array)
22+
| ^^ method cannot be called on `Or<Or<Or<Or<Label<To<Just<char, &str, chumsky::error::Simple<char, _>>, &str, Json>, &str>, Label<To<Just<char, &str, chumsky::error::Simple<char, _>>, &str, Json>, &str>>, Label<To<Just<char, &str, chumsky::error::Simple<char, _>>, &str, Json>, &str>>, chumsky::combinator::Map<Label<chumsky::combinator::Map<chumsky::combinator::Map<chumsky::combinator::Map<chumsky::combinator::Map<Then<chumsky::combinator::Map<Then<chumsky::combinator::Map<Then<OrNot<Just<char, char, chumsky::error::Simple<char, _>>>, impl chumsky::Parser<char, <char as Character>::Collection, Error = chumsky::error::Simple<char, _>> + Copy + Clone>, fn((Option<char>, String)) -> Vec<char>, (Option<char>, String)>, chumsky::combinator::Map<OrNot<chumsky::combinator::Map<Then<Just<char, char, chumsky::error::Simple<char, _>>, impl chumsky::Parser<char, <char as Character>::Collection, Error = chumsky::error::Simple<char, _>> + Copy + Clone>, fn((char, String)) -> Vec<char>, (char, String)>>, fn(Option<Vec<char>>) -> Vec<char>, Option<Vec<char>>>>, fn((Vec<char>, Vec<char>)) -> Vec<char>, (Vec<char>, Vec<char>)>, chumsky::combinator::Map<OrNot<chumsky::combinator::Map<Then<chumsky::combinator::Map<Then<Or<Just<char, char, chumsky::error::Simple<char, _>>, Just<char, char, chumsky::error::Simple<char, _>>>, OrNot<Or<Just<char, char, chumsky::error::Simple<char, _>>, Just<char, char, chumsky::error::Simple<char, _>>>>>, fn((char, Option<char>)) -> Vec<char>, (char, Option<char>)>, impl chumsky::Parser<char, <char as Character>::Collection, Error = chumsky::error::Simple<char, _>> + Copy + Clone>, fn((Vec<char>, String)) -> Vec<char>, (Vec<char>, String)>>, fn(Option<Vec<char>>) -> Vec<char>, Option<Vec<char>>>>, fn((Vec<char>, Vec<char>)) -> Vec<char>, (Vec<char>, Vec<char>)>, fn(Vec<char>) -> String, Vec<char>>, fn(String) -> Result<f64, ParseFloatError>, String>, fn(Result<f64, ParseFloatError>) -> f64, Result<f64, ParseFloatError>>, &str>, fn(f64) -> Json {Json::Num}, f64>>, Label<chumsky::combinator::Map<chumsky::combinator::Map<Then<chumsky::combinator::Map<Then<Just<char, char, chumsky::error::Simple<char, _>>, Repeated<Or<chumsky::primitive::Filter<[closure@$DIR/tests/chumsky/json.rs:59:33: 59:60], chumsky::error::Simple<char, _>>, chumsky::combinator::Map<Then<Just<char, char, chumsky::error::Simple<char, _>>, Or<Or<Or<Or<Or<Or<Or<Or<Just<char, char, chumsky::error::Simple<char, _>>, Just<char, char, chumsky::error::Simple<char, _>>>, Just<char, char, chumsky::error::Simple<char, _>>>, To<Just<char, char, chumsky::error::Simple<char, _>>, char, char>>, To<Just<char, char, chumsky::error::Simple<char, _>>, char, char>>, To<Just<char, char, chumsky::error::Simple<char, _>>, char, char>>, To<Just<char, char, chumsky::error::Simple<char, _>>, char, char>>, To<Just<char, char, chumsky::error::Simple<char, _>>, char, char>>, chumsky::combinator::Map<Then<Just<char, char, chumsky::error::Simple<char, _>>, Validate<chumsky::combinator::Map<Repeated<chumsky::primitive::Filter<[closure@$DIR/tests/chumsky/json.rs:44:28: 44:53], chumsky::error::Simple<char, _>>>, fn(Vec<char>) -> String, Vec<char>>, String, [closure@$DIR/tests/chumsky/json.rs:48:35: 54:26]>>, fn((char, char)) -> char, (char, char)>>>, fn((char, char)) -> char, (char, char)>>>>, fn((char, Vec<char>)) -> Vec<char>, (char, Vec<char>)>, Just<char, char, chumsky::error::Simple<char, _>>>, fn((Vec<char>, char)) -> Vec<char>, (Vec<char>, char)>, fn(Vec<char>) -> String, Vec<char>>, &str>>` due to unsatisfied trait bounds
23+
|
24+
::: $CARGO/chumsky-0.8.0/src/combinator.rs
25+
|
26+
| pub struct Or<A, B>(pub(crate) A, pub(crate) B);
27+
| ------------------- doesn't satisfy `_: chumsky::Parser<_, _>`
28+
|
29+
= note: the following trait bounds were not satisfied:
30+
`Or<Or<Or<Or<Label<To<Just<char, &str, chumsky::error::Simple<char, _>>, &str, Json>, &str>, Label<To<Just<char, &str, chumsky::error::Simple<char, _>>, &str, Json>, &str>>, Label<To<Just<char, &str, chumsky::error::Simple<char, _>>, &str, Json>, &str>>, chumsky::combinator::Map<Label<chumsky::combinator::Map<chumsky::combinator::Map<chumsky::combinator::Map<chumsky::combinator::Map<Then<chumsky::combinator::Map<Then<chumsky::combinator::Map<Then<OrNot<Just<char, char, chumsky::error::Simple<char, _>>>, impl chumsky::Parser<char, <char as Character>::Collection, Error = chumsky::error::Simple<char, _>> + Copy + Clone>, fn((Option<char>, String)) -> Vec<char>, (Option<char>, String)>, chumsky::combinator::Map<OrNot<chumsky::combinator::Map<Then<Just<char, char, chumsky::error::Simple<char, _>>, impl chumsky::Parser<char, <char as Character>::Collection, Error = chumsky::error::Simple<char, _>> + Copy + Clone>, fn((char, String)) -> Vec<char>, (char, String)>>, fn(Option<Vec<char>>) -> Vec<char>, Option<Vec<char>>>>, fn((Vec<char>, Vec<char>)) -> Vec<char>, (Vec<char>, Vec<char>)>, chumsky::combinator::Map<OrNot<chumsky::combinator::Map<Then<chumsky::combinator::Map<Then<Or<Just<char, char, chumsky::error::Simple<char, _>>, Just<char, char, chumsky::error::Simple<char, _>>>, OrNot<Or<Just<char, char, chumsky::error::Simple<char, _>>, Just<char, char, chumsky::error::Simple<char, _>>>>>, fn((char, Option<char>)) -> Vec<char>, (char, Option<char>)>, impl chumsky::Parser<char, <char as Character>::Collection, Error = chumsky::error::Simple<char, _>> + Copy + Clone>, fn((Vec<char>, String)) -> Vec<char>, (Vec<char>, String)>>, fn(Option<Vec<char>>) -> Vec<char>, Option<Vec<char>>>>, fn((Vec<char>, Vec<char>)) -> Vec<char>, (Vec<char>, Vec<char>)>, fn(Vec<char>) -> String, Vec<char>>, fn(String) -> Result<f64, ParseFloatError>, String>, fn(Result<f64, ParseFloatError>) -> f64, Result<f64, ParseFloatError>>, &str>, fn(f64) -> Json {Json::Num}, f64>>, Label<chumsky::combinator::Map<chumsky::combinator::Map<Then<chumsky::combinator::Map<Then<Just<char, char, chumsky::error::Simple<char, _>>, Repeated<Or<chumsky::primitive::Filter<[closure@$DIR/tests/chumsky/json.rs:59:33: 59:60], chumsky::error::Simple<char, _>>, chumsky::combinator::Map<Then<Just<char, char, chumsky::error::Simple<char, _>>, Or<Or<Or<Or<Or<Or<Or<Or<Just<char, char, chumsky::error::Simple<char, _>>, Just<char, char, chumsky::error::Simple<char, _>>>, Just<char, char, chumsky::error::Simple<char, _>>>, To<Just<char, char, chumsky::error::Simple<char, _>>, char, char>>, To<Just<char, char, chumsky::error::Simple<char, _>>, char, char>>, To<Just<char, char, chumsky::error::Simple<char, _>>, char, char>>, To<Just<char, char, chumsky::error::Simple<char, _>>, char, char>>, To<Just<char, char, chumsky::error::Simple<char, _>>, char, char>>, chumsky::combinator::Map<Then<Just<char, char, chumsky::error::Simple<char, _>>, Validate<chumsky::combinator::Map<Repeated<chumsky::primitive::Filter<[closure@$DIR/tests/chumsky/json.rs:44:28: 44:53], chumsky::error::Simple<char, _>>>, fn(Vec<char>) -> String, Vec<char>>, String, [closure@$DIR/tests/chumsky/json.rs:48:35: 54:26]>>, fn((char, char)) -> char, (char, char)>>>, fn((char, char)) -> char, (char, char)>>>>, fn((char, Vec<char>)) -> Vec<char>, (char, Vec<char>)>, Just<char, char, chumsky::error::Simple<char, _>>>, fn((Vec<char>, char)) -> Vec<char>, (Vec<char>, char)>, fn(Vec<char>) -> String, Vec<char>>, &str>>: chumsky::Parser<_, _>`
31+
which is required by `&Or<Or<Or<Or<Label<To<Just<char, &str, chumsky::error::Simple<char, _>>, &str, Json>, &str>, Label<To<Just<char, &str, chumsky::error::Simple<char, _>>, &str, Json>, &str>>, Label<To<Just<char, &str, chumsky::error::Simple<char, _>>, &str, Json>, &str>>, chumsky::combinator::Map<Label<chumsky::combinator::Map<chumsky::combinator::Map<chumsky::combinator::Map<chumsky::combinator::Map<Then<chumsky::combinator::Map<Then<chumsky::combinator::Map<Then<OrNot<Just<char, char, chumsky::error::Simple<char, _>>>, impl chumsky::Parser<char, <char as Character>::Collection, Error = chumsky::error::Simple<char, _>> + Copy + Clone>, fn((Option<char>, String)) -> Vec<char>, (Option<char>, String)>, chumsky::combinator::Map<OrNot<chumsky::combinator::Map<Then<Just<char, char, chumsky::error::Simple<char, _>>, impl chumsky::Parser<char, <char as Character>::Collection, Error = chumsky::error::Simple<char, _>> + Copy + Clone>, fn((char, String)) -> Vec<char>, (char, String)>>, fn(Option<Vec<char>>) -> Vec<char>, Option<Vec<char>>>>, fn((Vec<char>, Vec<char>)) -> Vec<char>, (Vec<char>, Vec<char>)>, chumsky::combinator::Map<OrNot<chumsky::combinator::Map<Then<chumsky::combinator::Map<Then<Or<Just<char, char, chumsky::error::Simple<char, _>>, Just<char, char, chumsky::error::Simple<char, _>>>, OrNot<Or<Just<char, char, chumsky::error::Simple<char, _>>, Just<char, char, chumsky::error::Simple<char, _>>>>>, fn((char, Option<char>)) -> Vec<char>, (char, Option<char>)>, impl chumsky::Parser<char, <char as Character>::Collection, Error = chumsky::error::Simple<char, _>> + Copy + Clone>, fn((Vec<char>, String)) -> Vec<char>, (Vec<char>, String)>>, fn(Option<Vec<char>>) -> Vec<char>, Option<Vec<char>>>>, fn((Vec<char>, Vec<char>)) -> Vec<char>, (Vec<char>, Vec<char>)>, fn(Vec<char>) -> String, Vec<char>>, fn(String) -> Result<f64, ParseFloatError>, String>, fn(Result<f64, ParseFloatError>) -> f64, Result<f64, ParseFloatError>>, &str>, fn(f64) -> Json {Json::Num}, f64>>, Label<chumsky::combinator::Map<chumsky::combinator::Map<Then<chumsky::combinator::Map<Then<Just<char, char, chumsky::error::Simple<char, _>>, Repeated<Or<chumsky::primitive::Filter<[closure@$DIR/tests/chumsky/json.rs:59:33: 59:60], chumsky::error::Simple<char, _>>, chumsky::combinator::Map<Then<Just<char, char, chumsky::error::Simple<char, _>>, Or<Or<Or<Or<Or<Or<Or<Or<Just<char, char, chumsky::error::Simple<char, _>>, Just<char, char, chumsky::error::Simple<char, _>>>, Just<char, char, chumsky::error::Simple<char, _>>>, To<Just<char, char, chumsky::error::Simple<char, _>>, char, char>>, To<Just<char, char, chumsky::error::Simple<char, _>>, char, char>>, To<Just<char, char, chumsky::error::Simple<char, _>>, char, char>>, To<Just<char, char, chumsky::error::Simple<char, _>>, char, char>>, To<Just<char, char, chumsky::error::Simple<char, _>>, char, char>>, chumsky::combinator::Map<Then<Just<char, char, chumsky::error::Simple<char, _>>, Validate<chumsky::combinator::Map<Repeated<chumsky::primitive::Filter<[closure@$DIR/tests/chumsky/json.rs:44:28: 44:53], chumsky::error::Simple<char, _>>>, fn(Vec<char>) -> String, Vec<char>>, String, [closure@$DIR/tests/chumsky/json.rs:48:35: 54:26]>>, fn((char, char)) -> char, (char, char)>>>, fn((char, char)) -> char, (char, char)>>>>, fn((char, Vec<char>)) -> Vec<char>, (char, Vec<char>)>, Just<char, char, chumsky::error::Simple<char, _>>>, fn((Vec<char>, char)) -> Vec<char>, (Vec<char>, char)>, fn(Vec<char>) -> String, Vec<char>>, &str>>: chumsky::Parser<_, _>`

0 commit comments

Comments
 (0)