diff --git a/.travis.yml b/.travis.yml index fc7ee89f809..dda47d4541b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -15,8 +15,8 @@ before_cache: - ./ci/clear_cache.sh rust: - - 1.35.0 # min supported - - stable + - 1.39.0 # min supported + # - stable (enable when 1.40.0 is released) - beta - nightly @@ -30,9 +30,10 @@ install: - rustup component add rustfmt - rustup component add clippy - rustup target add wasm32-unknown-unknown - - cargo install cargo-update || true - - cargo install-update-config --version =0.2.50 wasm-bindgen-cli - - cargo install-update wasm-bindgen-cli + # - cargo install cargo-update || true + - cargo install -f wasm-bindgen-cli --version 0.2.54 + # - cargo install-update-config --version =0.2.54 wasm-bindgen-cli + # - cargo install-update wasm-bindgen-cli - LATEST_CHROMEDRIVER_VERSION=`curl -s "https://chromedriver.storage.googleapis.com/LATEST_RELEASE"` - curl --retry 5 -LO "https://chromedriver.storage.googleapis.com/${LATEST_CHROMEDRIVER_VERSION}/chromedriver_linux64.zip" - unzip chromedriver_linux64.zip diff --git a/Cargo.toml b/Cargo.toml index 7e77a703f1a..4532efc2963 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -38,7 +38,7 @@ toml = { version = "0.4", optional = true } yew-macro = { version = "0.10.0", path = "crates/macro" } [target.'cfg(all(target_arch = "wasm32", not(cargo_web)))'.dependencies] -wasm-bindgen = "=0.2.50" +wasm-bindgen = "0.2.54" [target.'cfg(target_os = "emscripten")'.dependencies] ryu = "=1.0.0" # 1.0.1 breaks emscripten @@ -49,7 +49,7 @@ trybuild = "1.0" rustversion = "0.1" [target.'cfg(all(target_arch = "wasm32", not(cargo_web)))'.dev-dependencies] -wasm-bindgen-test = "=0.2.50" +wasm-bindgen-test = "0.3.4" [features] default = [] diff --git a/README.md b/README.md index e0702532ee5..9a448d417f2 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@

Build Status Gitter Chat - Rustc Version 1.35+ + Rustc Version 1.39+

diff --git a/examples/js_callback/Cargo.toml b/examples/js_callback/Cargo.toml index af661676f9d..48dc3fc131e 100644 --- a/examples/js_callback/Cargo.toml +++ b/examples/js_callback/Cargo.toml @@ -9,4 +9,4 @@ yew = { path = "../.." } stdweb = "^0.4.20" [target.'cfg(all(target_arch = "wasm32", not(cargo_web)))'.dependencies] -wasm-bindgen = "=0.2.50" +wasm-bindgen = "0.2.54" diff --git a/tests/derive_props/fail.stderr b/tests/derive_props/fail.stderr index 9f626a97d5b..79514b472c5 100644 --- a/tests/derive_props/fail.stderr +++ b/tests/derive_props/fail.stderr @@ -19,7 +19,7 @@ error[E0599]: no method named `build` found for type `t3::PropsBuilder` error[E0599]: no method named `b` found for type `t4::PropsBuilder` in the current scope --> $DIR/fail.rs:48:26 @@ -28,7 +28,8 @@ error[E0599]: no method named `b` found for type `t4::PropsBuilder { - $head; + $head pass_helper! { @ html $($tail)* } }; ( $($content:tt)* ) => { diff --git a/tests/macro/html-block-fail.stderr b/tests/macro/html-block-fail.stderr index f13d27d9b55..69da891a831 100644 --- a/tests/macro/html-block-fail.stderr +++ b/tests/macro/html-block-fail.stderr @@ -35,3 +35,4 @@ error[E0277]: `()` doesn't implement `std::fmt::Display` = note: required because of the requirements on the impl of `std::convert::Into>` for `()` For more information about this error, try `rustc --explain E0277`. +error: could not compile `yew-tests`. diff --git a/tests/macro/html-component-fail-unimplemented.stderr b/tests/macro/html-component-fail-unimplemented.stderr index 185eda68a78..ecef60be81e 100644 --- a/tests/macro/html-component-fail-unimplemented.stderr +++ b/tests/macro/html-component-fail-unimplemented.stderr @@ -5,3 +5,4 @@ error[E0277]: the trait bound `std::string::String: yew::html::Component` is not | ^^^^^^ the trait `yew::html::Component` is not implemented for `std::string::String` For more information about this error, try `rustc --explain E0277`. +error: could not compile `yew-tests`. diff --git a/tests/macro/html-component-fail.stderr b/tests/macro/html-component-fail.stderr index ee45f02e0c6..e9bd6e74fa2 100644 --- a/tests/macro/html-component-fail.stderr +++ b/tests/macro/html-component-fail.stderr @@ -78,7 +78,7 @@ error: expected type, found `/` --> $DIR/html-component-fail.rs:74:14 | 74 | html! { }; - | ^ + | ^ expected type error: this open tag has no corresponding close tag --> $DIR/html-component-fail.rs:75:13 @@ -113,7 +113,7 @@ error[E0599]: no method named `unknown` found for type `ChildPropertiesBuilder }; - | ^^^^^^^ + | ^^^^^^^ method not found in `ChildPropertiesBuilder` error[E0308]: mismatched types --> $DIR/html-component-fail.rs:67:33 @@ -162,6 +162,10 @@ error[E0308]: mismatched types | 72 | html! { }; | ^^^^ expected i32, found u32 +help: you can convert an `u32` to `i32` and panic if the converted value wouldn't fit + | +72 | html! { }; + | ^^^^^^^^^^^^^^^^^^^^^^^^ error[E0599]: no method named `string` found for type `ChildPropertiesBuilder` in the current scope --> $DIR/html-component-fail.rs:73:20 @@ -170,7 +174,7 @@ error[E0599]: no method named `string` found for type `ChildPropertiesBuilder }; - | ^^^^^^ + | ^^^^^^ method not found in `ChildPropertiesBuilder` error[E0599]: no method named `children` found for type `ChildPropertiesBuilder` in the current scope --> $DIR/html-component-fail.rs:77:5 @@ -179,7 +183,7 @@ error[E0599]: no method named `children` found for type `ChildPropertiesBuilder< | - method `children` not found for this ... 77 | html! { { "Not allowed" } }; - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method not found in `ChildPropertiesBuilder` | = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) @@ -227,5 +231,3 @@ error[E0277]: the trait bound `yew::virtual_dom::vcomp::VChild>` for `yew::virtual_dom::vnode::VNode<_>` = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) - -Some errors occurred: E0277, E0308, E0425, E0599, E0609. diff --git a/tests/macro/html-iterable-fail.stderr b/tests/macro/html-iterable-fail.stderr index e14d785dbf7..4536879cd4f 100644 --- a/tests/macro/html-iterable-fail.stderr +++ b/tests/macro/html-iterable-fail.stderr @@ -60,3 +60,4 @@ error[E0277]: `()` doesn't implement `std::fmt::Display` = note: required because of the requirements on the impl of `std::convert::Into>` for `&()` For more information about this error, try `rustc --explain E0277`. +error: could not compile `yew-tests`. diff --git a/tests/macro/html-list-fail.stderr b/tests/macro/html-list-fail.stderr index a618571662d..179b3e02228 100644 --- a/tests/macro/html-list-fail.stderr +++ b/tests/macro/html-list-fail.stderr @@ -39,3 +39,5 @@ error: expected valid html element | 10 | html! { <>invalid }; | ^^^^^^^ + +error: could not compile `yew-tests`. diff --git a/tests/macro/html-node-fail.stderr b/tests/macro/html-node-fail.stderr index 6cc3a67c90a..c36f67cf647 100644 --- a/tests/macro/html-node-fail.stderr +++ b/tests/macro/html-node-fail.stderr @@ -22,7 +22,7 @@ error: unsupported type 11 | html! { b"str" }; | ^^^^^^ -error: int literal is too large +error: integer literal is too large --> $DIR/html-node-fail.rs:12:14 | 12 | html! { 1111111111111111111111111111111111111111111111111111111111111111111111111111 }; @@ -40,7 +40,7 @@ error: unsupported type 14 | html! { { b"str" } }; | ^^^^^^ -error: int literal is too large +error: integer literal is too large --> $DIR/html-node-fail.rs:15:22 | 15 | html! { { 1111111111111111111111111111111111111111111111111111111111111111111111111111 } }; @@ -76,5 +76,6 @@ error[E0277]: `()` doesn't implement `std::fmt::Display` = note: required because of the requirements on the impl of `std::convert::From<()>` for `yew::virtual_dom::vnode::VNode<_>` = note: required by `std::convert::From::from` -Some errors occurred: E0277, E0425. +Some errors have detailed explanations: E0277, E0425. For more information about an error, try `rustc --explain E0277`. +error: could not compile `yew-tests`. diff --git a/tests/macro/html-tag-fail.stderr b/tests/macro/html-tag-fail.stderr index 611180495ea..7ff76430ad4 100644 --- a/tests/macro/html-tag-fail.stderr +++ b/tests/macro/html-tag-fail.stderr @@ -197,7 +197,7 @@ error[E0599]: no method named `to_string` found for type `NotToString` in the cu | ------------------- method `to_string` not found for this ... 37 | html! { }; - | ^^^^^^^^^^^ + | ^^^^^^^^^^^ method not found in `NotToString` | = note: the method `to_string` exists but the following trait bounds were not satisfied: `NotToString : std::string::ToString` @@ -213,5 +213,3 @@ error[E0308]: mismatched types | = note: expected type `yew::html::NodeRef` found type `()` - -Some errors occurred: E0277, E0308, E0599. diff --git a/tests/macro_test.rs b/tests/macro_test.rs index 9c8f08405bd..f5dafaf80ad 100644 --- a/tests/macro_test.rs +++ b/tests/macro_test.rs @@ -1,5 +1,5 @@ #[allow(dead_code)] -#[rustversion::attr(stable(1.35.0), cfg_attr(not(feature = "web_test"), test))] +#[rustversion::attr(stable(1.39.0), cfg_attr(not(feature = "web_test"), test))] fn tests() { let t = trybuild::TestCases::new();