From e68a951a54425c6fc5e60bdbbecfc7d35fa6d2a4 Mon Sep 17 00:00:00 2001 From: Brendon Federko Date: Thu, 31 Dec 2020 19:36:04 -0800 Subject: [PATCH 1/2] Upodate tests for latest stable. --- .../from_form_type_errors.stderr | 4 ++ .../ui-fail-stable/route-type-errors.stderr | 53 ++++++++++++++----- .../ui-fail-stable/typed-uri-bad-type.stderr | 10 ++++ 3 files changed, 55 insertions(+), 12 deletions(-) diff --git a/core/codegen/tests/ui-fail-stable/from_form_type_errors.stderr b/core/codegen/tests/ui-fail-stable/from_form_type_errors.stderr index dfc48ea809..db8525ba0f 100644 --- a/core/codegen/tests/ui-fail-stable/from_form_type_errors.stderr +++ b/core/codegen/tests/ui-fail-stable/from_form_type_errors.stderr @@ -3,9 +3,13 @@ error[E0277]: the trait bound `Unknown: FromFormValue<'_>` is not satisfied | 7 | field: Unknown, | ^^^^^ the trait `FromFormValue<'_>` is not implemented for `Unknown` + | + = note: required by `from_form_value` error[E0277]: the trait bound `Foo: FromFormValue<'_>` is not satisfied --> $DIR/from_form_type_errors.rs:14:5 | 14 | field: Foo, | ^^^^^ the trait `FromFormValue<'_>` is not implemented for `Foo` + | + = note: required by `from_form_value` diff --git a/core/codegen/tests/ui-fail-stable/route-type-errors.stderr b/core/codegen/tests/ui-fail-stable/route-type-errors.stderr index bfc5f6df7a..26a525ff7e 100644 --- a/core/codegen/tests/ui-fail-stable/route-type-errors.stderr +++ b/core/codegen/tests/ui-fail-stable/route-type-errors.stderr @@ -3,30 +3,43 @@ error[E0277]: the trait bound `Q: FromParam<'_>` is not satisfied | 6 | fn f0(foo: Q) {} | ^ the trait `FromParam<'_>` is not implemented for `Q` + | + = note: required by `from_param` error[E0277]: the trait bound `Q: FromSegments<'_>` is not satisfied --> $DIR/route-type-errors.rs:9:12 | 9 | fn f1(foo: Q) {} | ^ the trait `FromSegments<'_>` is not implemented for `Q` + | + = note: required by `from_segments` error[E0277]: the trait bound `Q: FromFormValue<'_>` is not satisfied --> $DIR/route-type-errors.rs:12:12 | 12 | fn f2(foo: Q) {} | ^ the trait `FromFormValue<'_>` is not implemented for `Q` + | + = note: required by `from_form_value` error[E0277]: the trait bound `Q: FromFormValue<'_>` is not satisfied - --> $DIR/route-type-errors.rs:12:7 - | -12 | fn f2(foo: Q) {} - | ^^^^^^ the trait `FromFormValue<'_>` is not implemented for `Q` + --> $DIR/route-type-errors.rs:12:7 + | +12 | fn f2(foo: Q) {} + | ^^^^^^ the trait `FromFormValue<'_>` is not implemented for `Q` + | + ::: $WORKSPACE/core/lib/src/request/form/from_form_value.rs + | + | pub trait FromFormValue<'v>: Sized { + | ---------------------------------- required by this bound in `FromFormValue` error[E0277]: the trait bound `Q: FromQuery<'_>` is not satisfied --> $DIR/route-type-errors.rs:15:12 | 15 | fn f3(foo: Q) {} | ^ the trait `FromQuery<'_>` is not implemented for `Q` + | + = note: required by `from_query` error[E0277]: the trait bound `Q: FromData` is not satisfied --> $DIR/route-type-errors.rs:18:12 @@ -37,31 +50,47 @@ error[E0277]: the trait bound `Q: FromData` is not satisfied = note: required because of the requirements on the impl of `FromTransformedData<'_>` for `Q` error[E0277]: the trait bound `Q: FromRequest<'_, '_>` is not satisfied - --> $DIR/route-type-errors.rs:21:10 - | -21 | fn f5(a: Q, foo: Q) {} - | ^ the trait `FromRequest<'_, '_>` is not implemented for `Q` + --> $DIR/route-type-errors.rs:21:10 + | +21 | fn f5(a: Q, foo: Q) {} + | ^ the trait `FromRequest<'_, '_>` is not implemented for `Q` + | + ::: $WORKSPACE/core/lib/src/request/from_request.rs + | + | #[crate::async_trait] + | --------------------- required by this bound in `from_request` error[E0277]: the trait bound `Q: FromParam<'_>` is not satisfied --> $DIR/route-type-errors.rs:21:18 | 21 | fn f5(a: Q, foo: Q) {} | ^ the trait `FromParam<'_>` is not implemented for `Q` + | + = note: required by `from_param` error[E0277]: the trait bound `Q: FromRequest<'_, '_>` is not satisfied - --> $DIR/route-type-errors.rs:24:10 - | -24 | fn f6(a: Q, foo: Q, good: usize, bar: Q) {} - | ^ the trait `FromRequest<'_, '_>` is not implemented for `Q` + --> $DIR/route-type-errors.rs:24:10 + | +24 | fn f6(a: Q, foo: Q, good: usize, bar: Q) {} + | ^ the trait `FromRequest<'_, '_>` is not implemented for `Q` + | + ::: $WORKSPACE/core/lib/src/request/from_request.rs + | + | #[crate::async_trait] + | --------------------- required by this bound in `from_request` error[E0277]: the trait bound `Q: FromParam<'_>` is not satisfied --> $DIR/route-type-errors.rs:24:18 | 24 | fn f6(a: Q, foo: Q, good: usize, bar: Q) {} | ^ the trait `FromParam<'_>` is not implemented for `Q` + | + = note: required by `from_param` error[E0277]: the trait bound `Q: FromParam<'_>` is not satisfied --> $DIR/route-type-errors.rs:24:39 | 24 | fn f6(a: Q, foo: Q, good: usize, bar: Q) {} | ^ the trait `FromParam<'_>` is not implemented for `Q` + | + = note: required by `from_param` diff --git a/core/codegen/tests/ui-fail-stable/typed-uri-bad-type.stderr b/core/codegen/tests/ui-fail-stable/typed-uri-bad-type.stderr index 0ef33a7afd..b5b6164115 100644 --- a/core/codegen/tests/ui-fail-stable/typed-uri-bad-type.stderr +++ b/core/codegen/tests/ui-fail-stable/typed-uri-bad-type.stderr @@ -39,6 +39,8 @@ error[E0277]: the trait bound `S: FromUriParam` is n | 48 | uri!(not_uri_display: 10, S); | ^ the trait `FromUriParam` is not implemented for `S` + | + = note: required by `from_uri_param` error[E0277]: the trait bound `i32: FromUriParam>` is not satisfied --> $DIR/typed-uri-bad-type.rs:53:26 @@ -51,6 +53,7 @@ error[E0277]: the trait bound `i32: FromUriParam> > = note: required because of the requirements on the impl of `FromUriParam>` for `std::option::Option` + = note: required by `from_uri_param` error[E0277]: the trait bound `std::string::String: FromUriParam>` is not satisfied --> $DIR/typed-uri-bad-type.rs:53:43 @@ -65,6 +68,7 @@ error[E0277]: the trait bound `std::string::String: FromUriParam> and 2 others = note: required because of the requirements on the impl of `FromUriParam>` for `std::result::Result` + = note: required by `from_uri_param` error[E0277]: the trait bound `isize: FromUriParam` is not satisfied --> $DIR/typed-uri-bad-type.rs:55:20 @@ -95,12 +99,16 @@ error[E0277]: the trait bound `S: FromUriParam` is | 59 | uri!(other_q: 100, S); | ^ the trait `FromUriParam` is not implemented for `S` + | + = note: required by `from_uri_param` error[E0277]: the trait bound `S: FromUriParam` is not satisfied --> $DIR/typed-uri-bad-type.rs:61:26 | 61 | uri!(other_q: rest = S, id = 100); | ^ the trait `FromUriParam` is not implemented for `S` + | + = note: required by `from_uri_param` error[E0277]: the trait bound `S: Ignorable` is not satisfied --> $DIR/typed-uri-bad-type.rs:36:29 @@ -139,6 +147,8 @@ error[E0277]: the trait bound `S: FromUriParam` is | 65 | uri!(other_q: rest = S, id = _); | ^ the trait `FromUriParam` is not implemented for `S` + | + = note: required by `from_uri_param` error[E0277]: the trait bound `std::option::Option: FromUriParam` is not satisfied --> $DIR/typed-uri-bad-type.rs:69:28 From cb33429ce413410237e47260092dc4a65b3455cd Mon Sep 17 00:00:00 2001 From: Brendon Federko Date: Thu, 31 Dec 2020 18:37:04 -0800 Subject: [PATCH 2/2] Enable 'std' 'indexmap' feature. --- core/http/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/http/Cargo.toml b/core/http/Cargo.toml index b4bd1c317f..9e0d4947ee 100644 --- a/core/http/Cargo.toml +++ b/core/http/Cargo.toml @@ -26,7 +26,7 @@ hyper = { version = "0.13.0", default-features = false, features = ["runtime"] } http = "0.2" mime = "0.3.13" time = "0.2.11" -indexmap = "1.0" +indexmap = { version = "1.5.2", features = ["std"] } state = "0.4" tokio-rustls = { version = "0.14.0", optional = true } tokio = { version = "0.2.9", features = ["sync", "tcp", "time"] }