-
-
Notifications
You must be signed in to change notification settings - Fork 70
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #228 from dtolnay/automod
Split up normalizer unit tests into dir
- Loading branch information
Showing
18 changed files
with
465 additions
and
477 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
test_normalize! {" | ||
error[E0277]: no implementation for `u8 >> &str` | ||
--> src/main.rs:2:20 | ||
| | ||
2 | let _x = 42_u8 >> \"bar\"; | ||
| ^^ no implementation for `u8 >> &str` | ||
| | ||
= help: the trait `Shr<&str>` is not implemented for `u8` | ||
= help: the following other types implement trait `Shr<Rhs>`: | ||
<&'a i128 as Shr<i128>> | ||
<&'a i128 as Shr<i16>> | ||
<&'a i128 as Shr<i32>> | ||
<&'a i128 as Shr<i64>> | ||
<&'a i128 as Shr<i8>> | ||
<&'a i128 as Shr<isize>> | ||
<&'a i128 as Shr<u128>> | ||
<&'a i128 as Shr<u16>> | ||
and 568 others | ||
" " | ||
error[E0277]: no implementation for `u8 >> &str` | ||
--> src/main.rs:2:20 | ||
| | ||
2 | let _x = 42_u8 >> \"bar\"; | ||
| ^^ no implementation for `u8 >> &str` | ||
| | ||
= help: the trait `Shr<&str>` is not implemented for `u8` | ||
= help: the following other types implement trait `Shr<Rhs>`: | ||
<&'a i128 as Shr<i128>> | ||
<&'a i128 as Shr<i16>> | ||
<&'a i128 as Shr<i32>> | ||
<&'a i128 as Shr<i64>> | ||
<&'a i128 as Shr<i8>> | ||
<&'a i128 as Shr<isize>> | ||
<&'a i128 as Shr<u128>> | ||
<&'a i128 as Shr<u16>> | ||
and $N others | ||
"} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
test_normalize! {" | ||
error: `self` parameter is only allowed in associated functions | ||
--> /git/trybuild/test_suite/tests/ui/error.rs:11:23 | ||
| | ||
11 | async fn bad_endpoint(self) -> Result<HttpResponseOkObject<()>, HttpError> { | ||
| ^^^^ not semantically valid as function parameter | ||
error: aborting due to 2 previous errors | ||
For more information about this error, try `rustc --explain E0401`. | ||
error: could not compile `trybuild-tests`. | ||
To learn more, run the command again with --verbose. | ||
" " | ||
error: `self` parameter is only allowed in associated functions | ||
--> tests/ui/error.rs:11:23 | ||
| | ||
11 | async fn bad_endpoint(self) -> Result<HttpResponseOkObject<()>, HttpError> { | ||
| ^^^^ not semantically valid as function parameter | ||
"} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
test_normalize! {" | ||
error[E0308]: mismatched types | ||
--> tests/compile-fail/surface_source_interval_badarg.rs:7:25 | ||
| | ||
5 | let mut df = hydroflow_syntax! { | ||
| __________________- | ||
6 | | // Should be a `Duration`. | ||
7 | | source_interval(5) -> for_each(std::mem::drop); | ||
| | ^ expected `Duration`, found integer | ||
8 | | }; | ||
| |_____- arguments to this function are incorrect | ||
| | ||
note: function defined here | ||
--> /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.26.0/src/time/interval.rs:74:8 | ||
| | ||
74 | pub fn interval(period: Duration) -> Interval { | ||
| ^^^^^^^^ | ||
" " | ||
error[E0308]: mismatched types | ||
--> tests/compile-fail/surface_source_interval_badarg.rs:7:25 | ||
| | ||
5 | let mut df = hydroflow_syntax! { | ||
| __________________- | ||
6 | | // Should be a `Duration`. | ||
7 | | source_interval(5) -> for_each(std::mem::drop); | ||
| | ^ expected `Duration`, found integer | ||
8 | | }; | ||
| |_____- arguments to this function are incorrect | ||
| | ||
note: function defined here | ||
--> $CARGO/tokio-1.26.0/src/time/interval.rs | ||
| | ||
| pub fn interval(period: Duration) -> Interval { | ||
| ^^^^^^^^ | ||
"} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
test_normalize! {" | ||
error[E0277]: the trait bound `Thread: serde::de::Deserialize<'_>` is not satisfied | ||
--> src/main.rs:2:36 | ||
| | ||
2 | let _ = serde_json::from_str::<std::thread::Thread>(\"???\"); | ||
| ^^^^^^^^^^^^^^^^^^^ the trait `serde::de::Deserialize<'_>` is not implemented for `Thread` | ||
| | ||
::: /home/ferris/.cargo/registry/src/github.com-1ecc6299db9ec823/serde_json-1.0.64/src/de.rs:2584:8 | ||
| | ||
2584 | T: de::Deserialize<'a>, | ||
| ------------------- required by this bound in `serde_json::from_str` | ||
For more information about this error, try `rustc --explain E0277`. | ||
error: could not compile `testing` due to previous error | ||
" " | ||
error[E0277]: the trait bound `Thread: serde::de::Deserialize<'_>` is not satisfied | ||
--> src/main.rs:2:36 | ||
| | ||
2 | let _ = serde_json::from_str::<std::thread::Thread>(\"???\"); | ||
| ^^^^^^^^^^^^^^^^^^^ the trait `serde::de::Deserialize<'_>` is not implemented for `Thread` | ||
| | ||
::: $CARGO/serde_json-1.0.64/src/de.rs | ||
| | ||
| T: de::Deserialize<'a>, | ||
| ------------------- required by this bound in `serde_json::from_str` | ||
"} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
test_normalize! {" | ||
error[E0277]: the trait bound `QueryParams: serde::de::Deserialize<'de>` is not satisfied | ||
--> \\git\\trybuild\\test_suite\\tests\\ui\\error.rs:22:61 | ||
" " | ||
error[E0277]: the trait bound `QueryParams: serde::de::Deserialize<'de>` is not satisfied | ||
--> tests/ui/error.rs:22:61 | ||
"} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
test_normalize! { | ||
DIR="/git/dropshot/dropshot" | ||
WORKSPACE="/git/dropshot" | ||
INPUT="tests/fail/bad_endpoint4.rs" | ||
" | ||
error[E0277]: the trait bound `QueryParams: schemars::JsonSchema` is not satisfied | ||
--> /git/dropshot/dropshot/tests/fail/bad_endpoint4.rs:24:14 | ||
| | ||
24 | _params: Query<QueryParams>, | ||
| ^^^^^^^^^^^^^^^^^^ the trait `schemars::JsonSchema` is not implemented for `QueryParams` | ||
| | ||
note: required by a bound in `dropshot::Query` | ||
--> /git/dropshot/dropshot/src/handler.rs:547:48 | ||
| | ||
547 | pub struct Query<QueryType: DeserializeOwned + JsonSchema + Send + Sync> { | ||
| ^^^^^^^^^^ required by this bound in `dropshot::Query` | ||
" " | ||
error[E0277]: the trait bound `QueryParams: schemars::JsonSchema` is not satisfied | ||
--> tests/fail/bad_endpoint4.rs:24:14 | ||
| | ||
24 | _params: Query<QueryParams>, | ||
| ^^^^^^^^^^^^^^^^^^ the trait `schemars::JsonSchema` is not implemented for `QueryParams` | ||
| | ||
note: required by a bound in `dropshot::Query` | ||
--> src/handler.rs | ||
| | ||
| pub struct Query<QueryType: DeserializeOwned + JsonSchema + Send + Sync> { | ||
| ^^^^^^^^^^ required by this bound in `dropshot::Query` | ||
"} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
test_normalize! {" | ||
error: reached the recursion limit while instantiating `test::<Cons<Cons<Cons<Cons<Cons<...>>>>>>` | ||
--> src/main.rs:18:11 | ||
| | ||
18 | _ => {test (n-1, i+1, Cons {head:2*i+1, tail:first}, Cons{head:i*i, tail:second})} | ||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ||
| | ||
note: `test` defined here | ||
--> src/main.rs:16:1 | ||
| | ||
16 | fn test<T:Dot> (n:isize, i:isize, first:T, second:T) ->isize { | ||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ||
= note: the full type name has been written to `/playground/target/debug/deps/playground-c53df771d95c66fb.c7a39e8d0dd9c781.long-type-16688711729771999621.txt` | ||
the full type name has been written to `/playground/target/debug/deps/playground-c53df771d95c66fb.c7a39e8d0dd9c781.long-type-16688711729771999621.txt` | ||
" " | ||
error: reached the recursion limit while instantiating `test::<Cons<Cons<Cons<Cons<Cons<...>>>>>>` | ||
--> src/main.rs:18:11 | ||
| | ||
18 | _ => {test (n-1, i+1, Cons {head:2*i+1, tail:first}, Cons{head:i*i, tail:second})} | ||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ||
| | ||
note: `test` defined here | ||
--> src/main.rs:16:1 | ||
| | ||
16 | fn test<T:Dot> (n:isize, i:isize, first:T, second:T) ->isize { | ||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ||
"} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
test_normalize! { | ||
DIR="D:\\repro" | ||
INPUT="tests\\ui\\nonzero_fail.rs" | ||
" | ||
error[E0080]: evaluation of constant value failed | ||
--> D:\\repro\\tests\\ui\\nonzero_fail.rs:7:10 | ||
| | ||
7 | #[derive(NonZeroRepr)] | ||
| ^^^^^^^^^^^ the evaluated program panicked at 'expected non-zero discriminant expression', D:\\repro\\tests\\ui\\nonzero_fail.rs:7:10 | ||
" " | ||
error[E0080]: evaluation of constant value failed | ||
--> tests/ui/nonzero_fail.rs:7:10 | ||
| | ||
7 | #[derive(NonZeroRepr)] | ||
| ^^^^^^^^^^^ the evaluated program panicked at 'expected non-zero discriminant expression', $DIR/tests/ui/nonzero_fail.rs:7:10 | ||
"} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
test_normalize! { | ||
DIR="/pyo3" | ||
WORKSPACE="/pyo3" | ||
" | ||
error: `async fn` is not yet supported for Python functions. | ||
Additional crates such as `pyo3-asyncio` can be used to integrate async Rust and Python. For more information, see https://github.com/PyO3/pyo3/issues/1632 | ||
--> tests/ui/invalid_pyfunctions.rs:10:1 | ||
| | ||
10 | async fn async_function() {} | ||
| ^^^^^ | ||
" " | ||
error: `async fn` is not yet supported for Python functions. | ||
Additional crates such as `pyo3-asyncio` can be used to integrate async Rust and Python. For more information, see https://github.com/PyO3/pyo3/issues/1632 | ||
--> tests/ui/invalid_pyfunctions.rs:10:1 | ||
| | ||
10 | async fn async_function() {} | ||
| ^^^^^ | ||
"} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
test_normalize! {" | ||
error[E0599]: the method `to_cxx_exception` exists for reference `&NonError`, but its trait bounds were not satisfied | ||
--> tests/ui/result_no_display.rs:4:19 | ||
| | ||
4 | fn f() -> Result<()>; | ||
| ^^^^^^^^^^ method cannot be called on `&NonError` due to unsatisfied trait bounds | ||
... | ||
8 | pub struct NonError; | ||
| ------------------- doesn't satisfy `NonError: std::fmt::Display` | ||
| | ||
= note: the following trait bounds were not satisfied: | ||
`NonError: std::fmt::Display` | ||
which is required by `&NonError: ToCxxExceptionDefault` | ||
note: the trait `std::fmt::Display` must be implemented | ||
--> /rustc/c5c7d2b37780dac1092e75f12ab97dd56c30861d/library/core/src/fmt/mod.rs:786:1 | ||
| | ||
| pub trait Display { | ||
| ^^^^^^^^^^^^^^^^^ | ||
= note: this error originates in the macro `::cxx::map_rust_error_to_cxx_exception` (in Nightly builds, run with -Z macro-backtrace for more info) | ||
" " | ||
error[E0599]: the method `to_cxx_exception` exists for reference `&NonError`, but its trait bounds were not satisfied | ||
--> tests/ui/result_no_display.rs:4:19 | ||
| | ||
4 | fn f() -> Result<()>; | ||
| ^^^^^^^^^^ method cannot be called on `&NonError` due to unsatisfied trait bounds | ||
... | ||
8 | pub struct NonError; | ||
| ------------------- doesn't satisfy `NonError: std::fmt::Display` | ||
| | ||
= note: the following trait bounds were not satisfied: | ||
`NonError: std::fmt::Display` | ||
which is required by `&NonError: ToCxxExceptionDefault` | ||
note: the trait `std::fmt::Display` must be implemented | ||
--> $RUST/core/src/fmt/mod.rs | ||
| | ||
| pub trait Display { | ||
| ^^^^^^^^^^^^^^^^^ | ||
= note: this error originates in the macro `::cxx::map_rust_error_to_cxx_exception` (in Nightly builds, run with -Z macro-backtrace for more info) | ||
"} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
test_normalize! { | ||
INPUT="tests/ui/not-repeatable.rs" | ||
" | ||
error[E0599]: no method named `quote_into_iter` found for struct `std::net::Ipv4Addr` in the current scope | ||
--> /git/trybuild/test_suite/tests/ui/not-repeatable.rs:6:13 | ||
| | ||
6 | let _ = quote! { #(#ip)* }; | ||
| ^^^^^^^^^^^^^^^^^^ method not found in `std::net::Ipv4Addr` | ||
| | ||
::: /rustlib/src/rust/src/libstd/net/ip.rs:83:1 | ||
::: /rustlib/src/rust/library/std/src/net/ip.rs:83:1 | ||
| | ||
83 | pub struct Ipv4Addr { | ||
| ------------------- | ||
| | | ||
| doesn't satisfy `std::net::Ipv4Addr: quote::to_tokens::ToTokens` | ||
" " | ||
error[E0599]: no method named `quote_into_iter` found for struct `std::net::Ipv4Addr` in the current scope | ||
--> tests/ui/not-repeatable.rs:6:13 | ||
| | ||
6 | let _ = quote! { #(#ip)* }; | ||
| ^^^^^^^^^^^^^^^^^^ method not found in `std::net::Ipv4Addr` | ||
| | ||
::: $RUST/src/libstd/net/ip.rs | ||
::: $RUST/std/src/net/ip.rs | ||
| | ||
| pub struct Ipv4Addr { | ||
| ------------------- | ||
| | | ||
| doesn't satisfy `std::net::Ipv4Addr: quote::to_tokens::ToTokens` | ||
"} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
test_normalize! {" | ||
error[E0277]: the trait bound `diesel::query_builder::SelectStatement<users::table, diesel::query_builder::select_clause::DefaultSelectClause, diesel::query_builder::distinct_clause::NoDistinctClause, diesel::query_builder::where_clause::WhereClause<diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<posts::columns::id, diesel::expression::bound::Bound<diesel::sql_types::Integer, i32>>>>>: diesel::query_builder::IntoUpdateTarget` is not satisfied | ||
--> $DIR/update_requires_valid_where_clause.rs:21:12 | ||
| | ||
21 | update(users::table.filter(posts::id.eq(1))); | ||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `diesel::query_builder::IntoUpdateTarget` is not implemented for `diesel::query_builder::SelectStatement<users::table, diesel::query_builder::select_clause::DefaultSelectClause, diesel::query_builder::distinct_clause::NoDistinctClause, diesel::query_builder::where_clause::WhereClause<diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<posts::columns::id, diesel::expression::bound::Bound<diesel::sql_types::Integer, i32>>>>>` | ||
| | ||
::: /home/user/documents/rust/diesel/diesel/src/query_builder/functions.rs:78:18 | ||
| | ||
78 | pub fn update<T: IntoUpdateTarget>(source: T) -> UpdateStatement<T::Table, T::WhereClause> { | ||
| ---------------- required by this bound in `diesel::update` | ||
| | ||
= help: the following implementations were found: | ||
<diesel::query_builder::SelectStatement<F, diesel::query_builder::select_clause::DefaultSelectClause, diesel::query_builder::distinct_clause::NoDistinctClause, W> as diesel::query_builder::IntoUpdateTarget> | ||
" " | ||
error[E0277]: the trait bound `diesel::query_builder::SelectStatement<users::table, diesel::query_builder::select_clause::DefaultSelectClause, diesel::query_builder::distinct_clause::NoDistinctClause, diesel::query_builder::where_clause::WhereClause<diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<posts::columns::id, diesel::expression::bound::Bound<diesel::sql_types::Integer, i32>>>>>: diesel::query_builder::IntoUpdateTarget` is not satisfied | ||
--> $DIR/update_requires_valid_where_clause.rs:21:12 | ||
| | ||
21 | update(users::table.filter(posts::id.eq(1))); | ||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `diesel::query_builder::IntoUpdateTarget` is not implemented for `diesel::query_builder::SelectStatement<users::table, diesel::query_builder::select_clause::DefaultSelectClause, diesel::query_builder::distinct_clause::NoDistinctClause, diesel::query_builder::where_clause::WhereClause<diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<posts::columns::id, diesel::expression::bound::Bound<diesel::sql_types::Integer, i32>>>>>` | ||
| | ||
::: $DIESEL/src/query_builder/functions.rs | ||
| | ||
| pub fn update<T: IntoUpdateTarget>(source: T) -> UpdateStatement<T::Table, T::WhereClause> { | ||
| ---------------- required by this bound in `diesel::update` | ||
| | ||
= help: the following implementations were found: | ||
<diesel::query_builder::SelectStatement<F, diesel::query_builder::select_clause::DefaultSelectClause, diesel::query_builder::distinct_clause::NoDistinctClause, W> as diesel::query_builder::IntoUpdateTarget> | ||
"} |
Oops, something went wrong.