mirror of
https://github.com/yewstack/yew.git
synced 2025-12-08 21:26:25 +00:00
bump MSRV to 1.84.0 and use resolver 3 (#3900)
This commit is contained in:
parent
06845fff9f
commit
5f919bd185
4
.github/workflows/main-checks.yml
vendored
4
.github/workflows/main-checks.yml
vendored
@ -69,7 +69,7 @@ jobs:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
toolchain:
|
||||
- 1.78.0
|
||||
- 1.84.0
|
||||
- stable
|
||||
|
||||
steps:
|
||||
@ -120,7 +120,7 @@ jobs:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
toolchain:
|
||||
- 1.78.0
|
||||
- 1.84.0
|
||||
- stable
|
||||
- nightly
|
||||
|
||||
|
||||
1255
Cargo.lock
generated
1255
Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
@ -7,7 +7,7 @@ members = [
|
||||
default-members = [
|
||||
"packages/*",
|
||||
]
|
||||
resolver = "2"
|
||||
resolver = "3"
|
||||
|
||||
[profile.release]
|
||||
lto = true
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
name = "yew-agent-macro"
|
||||
version = "0.2.0"
|
||||
edition = "2021"
|
||||
rust-version = "1.78.0"
|
||||
rust-version = "1.84.0"
|
||||
authors = ["Kaede Hoshikawa <futursolo@icloud.com>"]
|
||||
repository = "https://github.com/yewstack/yew"
|
||||
homepage = "https://yew.rs"
|
||||
|
||||
@ -9,7 +9,7 @@ edition = "2021"
|
||||
readme = "../../README.md"
|
||||
description = "Agents for Yew"
|
||||
license = "MIT OR Apache-2.0"
|
||||
rust-version = "1.78.0"
|
||||
rust-version = "1.84.0"
|
||||
|
||||
[dependencies]
|
||||
yew = { version = "0.21.0", path = "../yew" }
|
||||
|
||||
@ -10,7 +10,7 @@ license = "MIT OR Apache-2.0"
|
||||
keywords = ["web", "wasm", "frontend", "webasm", "webassembly"]
|
||||
categories = ["gui", "web-programming", "wasm"]
|
||||
description = "A framework for making client-side single-page apps"
|
||||
rust-version = "1.78.0"
|
||||
rust-version = "1.84.0"
|
||||
|
||||
[lib]
|
||||
proc-macro = true
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
[tasks.test]
|
||||
clear = true
|
||||
toolchain = "1.78.0"
|
||||
toolchain = "1.84.0"
|
||||
command = "cargo"
|
||||
# test target can be optionally specified like `cargo make test html_macro`,
|
||||
args = ["test", "${@}"]
|
||||
|
||||
@ -14,17 +14,17 @@ error[E0277]: the trait bound `Classes: From<{integer}>` is not satisfied
|
||||
--> tests/classes_macro/classes-fail.rs:4:14
|
||||
|
|
||||
4 | classes!(42);
|
||||
| ^^ the trait `From<{integer}>` is not implemented for `Classes`, which is required by `{integer}: Into<Classes>`
|
||||
| ^^ the trait `From<{integer}>` is not implemented for `Classes`
|
||||
|
|
||||
= help: the following other types implement trait `From<T>`:
|
||||
<Classes as From<implicit_clone::unsync::string::IString>>
|
||||
<Classes as From<Cow<'static, str>>>
|
||||
<Classes as From<Vec<T>>>
|
||||
<Classes as From<String>>
|
||||
<Classes as From<Option<T>>>
|
||||
<Classes as From<[T; SIZE]>>
|
||||
<Classes as From<&String>>
|
||||
<Classes as From<&implicit_clone::unsync::string::IString>>
|
||||
`Classes` implements `From<&Option<T>>`
|
||||
`Classes` implements `From<&String>`
|
||||
`Classes` implements `From<&[T]>`
|
||||
`Classes` implements `From<&implicit_clone::unsync::string::IString>`
|
||||
`Classes` implements `From<&str>`
|
||||
`Classes` implements `From<Cow<'_, str>>`
|
||||
`Classes` implements `From<Option<T>>`
|
||||
`Classes` implements `From<String>`
|
||||
and $N others
|
||||
= note: required for `{integer}` to implement `Into<Classes>`
|
||||
note: required by a bound in `Classes::push`
|
||||
@ -37,17 +37,17 @@ error[E0277]: the trait bound `Classes: From<{float}>` is not satisfied
|
||||
--> tests/classes_macro/classes-fail.rs:5:14
|
||||
|
|
||||
5 | classes!(42.0);
|
||||
| ^^^^ the trait `From<{float}>` is not implemented for `Classes`, which is required by `{float}: Into<Classes>`
|
||||
| ^^^^ the trait `From<{float}>` is not implemented for `Classes`
|
||||
|
|
||||
= help: the following other types implement trait `From<T>`:
|
||||
<Classes as From<implicit_clone::unsync::string::IString>>
|
||||
<Classes as From<Cow<'static, str>>>
|
||||
<Classes as From<Vec<T>>>
|
||||
<Classes as From<String>>
|
||||
<Classes as From<Option<T>>>
|
||||
<Classes as From<[T; SIZE]>>
|
||||
<Classes as From<&String>>
|
||||
<Classes as From<&implicit_clone::unsync::string::IString>>
|
||||
`Classes` implements `From<&Option<T>>`
|
||||
`Classes` implements `From<&String>`
|
||||
`Classes` implements `From<&[T]>`
|
||||
`Classes` implements `From<&implicit_clone::unsync::string::IString>`
|
||||
`Classes` implements `From<&str>`
|
||||
`Classes` implements `From<Cow<'_, str>>`
|
||||
`Classes` implements `From<Option<T>>`
|
||||
`Classes` implements `From<String>`
|
||||
and $N others
|
||||
= note: required for `{float}` to implement `Into<Classes>`
|
||||
note: required by a bound in `Classes::push`
|
||||
@ -62,18 +62,18 @@ error[E0277]: the trait bound `Classes: From<{integer}>` is not satisfied
|
||||
9 | classes!(vec![42]);
|
||||
| ---^^^^^
|
||||
| |
|
||||
| the trait `From<{integer}>` is not implemented for `Classes`, which is required by `Vec<{integer}>: Into<Classes>`
|
||||
| the trait `From<{integer}>` is not implemented for `Classes`
|
||||
| required by a bound introduced by this call
|
||||
|
|
||||
= help: the following other types implement trait `From<T>`:
|
||||
<Classes as From<implicit_clone::unsync::string::IString>>
|
||||
<Classes as From<Cow<'static, str>>>
|
||||
<Classes as From<Vec<T>>>
|
||||
<Classes as From<String>>
|
||||
<Classes as From<Option<T>>>
|
||||
<Classes as From<[T; SIZE]>>
|
||||
<Classes as From<&String>>
|
||||
<Classes as From<&implicit_clone::unsync::string::IString>>
|
||||
`Classes` implements `From<&Option<T>>`
|
||||
`Classes` implements `From<&String>`
|
||||
`Classes` implements `From<&[T]>`
|
||||
`Classes` implements `From<&implicit_clone::unsync::string::IString>`
|
||||
`Classes` implements `From<&str>`
|
||||
`Classes` implements `From<Cow<'_, str>>`
|
||||
`Classes` implements `From<Option<T>>`
|
||||
`Classes` implements `From<String>`
|
||||
and $N others
|
||||
= note: required for `{integer}` to implement `Into<Classes>`
|
||||
= note: required for `Classes` to implement `From<Vec<{integer}>>`
|
||||
@ -89,17 +89,17 @@ error[E0277]: the trait bound `Classes: From<{integer}>` is not satisfied
|
||||
--> tests/classes_macro/classes-fail.rs:13:14
|
||||
|
|
||||
13 | classes!(some);
|
||||
| ^^^^ the trait `From<{integer}>` is not implemented for `Classes`, which is required by `Option<{integer}>: Into<Classes>`
|
||||
| ^^^^ the trait `From<{integer}>` is not implemented for `Classes`
|
||||
|
|
||||
= help: the following other types implement trait `From<T>`:
|
||||
<Classes as From<implicit_clone::unsync::string::IString>>
|
||||
<Classes as From<Cow<'static, str>>>
|
||||
<Classes as From<Vec<T>>>
|
||||
<Classes as From<String>>
|
||||
<Classes as From<Option<T>>>
|
||||
<Classes as From<[T; SIZE]>>
|
||||
<Classes as From<&String>>
|
||||
<Classes as From<&implicit_clone::unsync::string::IString>>
|
||||
`Classes` implements `From<&Option<T>>`
|
||||
`Classes` implements `From<&String>`
|
||||
`Classes` implements `From<&[T]>`
|
||||
`Classes` implements `From<&implicit_clone::unsync::string::IString>`
|
||||
`Classes` implements `From<&str>`
|
||||
`Classes` implements `From<Cow<'_, str>>`
|
||||
`Classes` implements `From<Option<T>>`
|
||||
`Classes` implements `From<String>`
|
||||
and $N others
|
||||
= note: required for `{integer}` to implement `Into<Classes>`
|
||||
= note: required for `Classes` to implement `From<Option<{integer}>>`
|
||||
@ -115,17 +115,17 @@ error[E0277]: the trait bound `Classes: From<u32>` is not satisfied
|
||||
--> tests/classes_macro/classes-fail.rs:14:14
|
||||
|
|
||||
14 | classes!(none);
|
||||
| ^^^^ the trait `From<u32>` is not implemented for `Classes`, which is required by `Option<u32>: Into<Classes>`
|
||||
| ^^^^ the trait `From<u32>` is not implemented for `Classes`
|
||||
|
|
||||
= help: the following other types implement trait `From<T>`:
|
||||
<Classes as From<implicit_clone::unsync::string::IString>>
|
||||
<Classes as From<Cow<'static, str>>>
|
||||
<Classes as From<Vec<T>>>
|
||||
<Classes as From<String>>
|
||||
<Classes as From<Option<T>>>
|
||||
<Classes as From<[T; SIZE]>>
|
||||
<Classes as From<&String>>
|
||||
<Classes as From<&implicit_clone::unsync::string::IString>>
|
||||
`Classes` implements `From<&Option<T>>`
|
||||
`Classes` implements `From<&String>`
|
||||
`Classes` implements `From<&[T]>`
|
||||
`Classes` implements `From<&implicit_clone::unsync::string::IString>`
|
||||
`Classes` implements `From<&str>`
|
||||
`Classes` implements `From<Cow<'_, str>>`
|
||||
`Classes` implements `From<Option<T>>`
|
||||
`Classes` implements `From<String>`
|
||||
and $N others
|
||||
= note: required for `u32` to implement `Into<Classes>`
|
||||
= note: required for `Classes` to implement `From<Option<u32>>`
|
||||
@ -141,17 +141,17 @@ error[E0277]: the trait bound `Classes: From<{integer}>` is not satisfied
|
||||
--> tests/classes_macro/classes-fail.rs:16:21
|
||||
|
|
||||
16 | classes!("one", 42);
|
||||
| ^^ the trait `From<{integer}>` is not implemented for `Classes`, which is required by `{integer}: Into<Classes>`
|
||||
| ^^ the trait `From<{integer}>` is not implemented for `Classes`
|
||||
|
|
||||
= help: the following other types implement trait `From<T>`:
|
||||
<Classes as From<implicit_clone::unsync::string::IString>>
|
||||
<Classes as From<Cow<'static, str>>>
|
||||
<Classes as From<Vec<T>>>
|
||||
<Classes as From<String>>
|
||||
<Classes as From<Option<T>>>
|
||||
<Classes as From<[T; SIZE]>>
|
||||
<Classes as From<&String>>
|
||||
<Classes as From<&implicit_clone::unsync::string::IString>>
|
||||
`Classes` implements `From<&Option<T>>`
|
||||
`Classes` implements `From<&String>`
|
||||
`Classes` implements `From<&[T]>`
|
||||
`Classes` implements `From<&implicit_clone::unsync::string::IString>`
|
||||
`Classes` implements `From<&str>`
|
||||
`Classes` implements `From<Cow<'_, str>>`
|
||||
`Classes` implements `From<Option<T>>`
|
||||
`Classes` implements `From<String>`
|
||||
and $N others
|
||||
= note: required for `{integer}` to implement `Into<Classes>`
|
||||
note: required by a bound in `Classes::push`
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
#[allow(dead_code)]
|
||||
#[rustversion::attr(stable(1.78), test)]
|
||||
#[rustversion::attr(stable(1.84.0), test)]
|
||||
fn classes_macro() {
|
||||
let t = trybuild::TestCases::new();
|
||||
t.pass("tests/classes_macro/*-pass.rs");
|
||||
|
||||
@ -67,7 +67,17 @@ error[E0277]: not all required properties have been provided
|
||||
35 | ::yew::props!{ Props { } };
|
||||
| ^^^^^ missing required properties for this component
|
||||
|
|
||||
= help: the trait `HasProp<t3::_Props::value, _>` is not implemented for `AssertAllProps`, which is required by `AssertAllProps: AllPropsFor<t3::PropsBuilder, _>`
|
||||
= help: the trait `HasProp<t3::_Props::value, _>` is not implemented for `AssertAllProps`
|
||||
= help: the following other types implement trait `HasProp<P, How>`:
|
||||
`CheckChildrenPropsAll<B>` implements `HasProp<P, &dyn HasProp<P, How>>`
|
||||
`CheckContextProviderPropsAll<B>` implements `HasProp<P, &dyn HasProp<P, How>>`
|
||||
`HasContextProviderPropschildren<B>` implements `HasProp<P, &dyn HasProp<P, How>>`
|
||||
`HasContextProviderPropschildren<B>` implements `HasProp<children, HasContextProviderPropschildren<B>>`
|
||||
`HasContextProviderPropscontext<B>` implements `HasProp<P, &dyn HasProp<P, How>>`
|
||||
`HasContextProviderPropscontext<B>` implements `HasProp<yew::context::_ContextProviderProps::context, HasContextProviderPropscontext<B>>`
|
||||
`suspense::component::CheckSuspensePropsAll<B>` implements `HasProp<P, &dyn HasProp<P, How>>`
|
||||
`t10::CheckPropsAll<B>` implements `HasProp<P, &dyn HasProp<P, How>>`
|
||||
and $N others
|
||||
note: required for `t3::CheckPropsAll<AssertAllProps>` to implement `HasAllProps<t3::Props, (_,)>`
|
||||
--> tests/derive_props/fail.rs:29:21
|
||||
|
|
||||
@ -90,7 +100,17 @@ error[E0277]: not all required properties have been provided
|
||||
47 | ::yew::props!{ Props { } };
|
||||
| ^^^^^ missing required properties for this component
|
||||
|
|
||||
= help: the trait `HasProp<t4::_Props::value, _>` is not implemented for `AssertAllProps`, which is required by `AssertAllProps: AllPropsFor<t4::PropsBuilder, _>`
|
||||
= help: the trait `HasProp<t4::_Props::value, _>` is not implemented for `AssertAllProps`
|
||||
= help: the following other types implement trait `HasProp<P, How>`:
|
||||
`CheckChildrenPropsAll<B>` implements `HasProp<P, &dyn HasProp<P, How>>`
|
||||
`CheckContextProviderPropsAll<B>` implements `HasProp<P, &dyn HasProp<P, How>>`
|
||||
`HasContextProviderPropschildren<B>` implements `HasProp<P, &dyn HasProp<P, How>>`
|
||||
`HasContextProviderPropschildren<B>` implements `HasProp<children, HasContextProviderPropschildren<B>>`
|
||||
`HasContextProviderPropscontext<B>` implements `HasProp<P, &dyn HasProp<P, How>>`
|
||||
`HasContextProviderPropscontext<B>` implements `HasProp<yew::context::_ContextProviderProps::context, HasContextProviderPropscontext<B>>`
|
||||
`suspense::component::CheckSuspensePropsAll<B>` implements `HasProp<P, &dyn HasProp<P, How>>`
|
||||
`t10::CheckPropsAll<B>` implements `HasProp<P, &dyn HasProp<P, How>>`
|
||||
and $N others
|
||||
note: required for `t4::CheckPropsAll<AssertAllProps>` to implement `HasAllProps<t4::Props, (_,)>`
|
||||
--> tests/derive_props/fail.rs:41:21
|
||||
|
|
||||
@ -125,7 +145,7 @@ error[E0277]: expected a `FnOnce()` closure, found `{integer}`
|
||||
76 | #[prop_or_else(123)]
|
||||
| ^^^ expected an `FnOnce()` closure, found `{integer}`
|
||||
|
|
||||
= help: the trait `FnOnce<()>` is not implemented for `{integer}`
|
||||
= help: the trait `FnOnce()` is not implemented for `{integer}`
|
||||
= note: wrap the `{integer}` in a closure with no arguments: `|| { /* code */ }`
|
||||
note: required by a bound in `Option::<T>::unwrap_or_else`
|
||||
--> $RUST/core/src/option.rs
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
#[allow(dead_code)]
|
||||
#[rustversion::attr(stable(1.78), test)]
|
||||
#[rustversion::attr(stable(1.84.0), test)]
|
||||
fn derive_props() {
|
||||
let t = trybuild::TestCases::new();
|
||||
t.pass("tests/derive_props/pass.rs");
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
#[allow(dead_code)]
|
||||
#[rustversion::attr(stable(1.78), test)]
|
||||
#[rustversion::attr(stable(1.84.0), test)]
|
||||
fn tests() {
|
||||
let t = trybuild::TestCases::new();
|
||||
t.pass("tests/function_component_attr/*-pass.rs");
|
||||
|
||||
@ -11,6 +11,6 @@ error[E0277]: the trait bound `u32: IntoHtmlResult` is not satisfied
|
||||
| ^^^^^^^^^^^^^^^^^^ the trait `IntoHtmlResult` is not implemented for `u32`
|
||||
|
|
||||
= help: the following other types implement trait `IntoHtmlResult`:
|
||||
VNode
|
||||
Result<VNode, RenderError>
|
||||
VNode
|
||||
= note: this error originates in the attribute macro `component` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
@ -15,7 +15,17 @@ error[E0277]: not all required properties have been provided
|
||||
22 | html! { <Comp<Props> /> };
|
||||
| ^^^^ missing required properties for this component
|
||||
|
|
||||
= help: the trait `HasProp<a, _>` is not implemented for `AssertAllProps`, which is required by `AssertAllProps: AllPropsFor<PropsBuilder, _>`
|
||||
= help: the trait `HasProp<a, _>` is not implemented for `AssertAllProps`
|
||||
= help: the following other types implement trait `HasProp<P, How>`:
|
||||
`CheckChildrenPropsAll<B>` implements `HasProp<P, &dyn HasProp<P, How>>`
|
||||
`CheckContextProviderPropsAll<B>` implements `HasProp<P, &dyn HasProp<P, How>>`
|
||||
`CheckPropsAll<B>` implements `HasProp<P, &dyn HasProp<P, How>>`
|
||||
`HasContextProviderPropschildren<B>` implements `HasProp<P, &dyn HasProp<P, How>>`
|
||||
`HasContextProviderPropschildren<B>` implements `HasProp<children, HasContextProviderPropschildren<B>>`
|
||||
`HasContextProviderPropscontext<B>` implements `HasProp<P, &dyn HasProp<P, How>>`
|
||||
`HasContextProviderPropscontext<B>` implements `HasProp<yew::context::_ContextProviderProps::context, HasContextProviderPropscontext<B>>`
|
||||
`HasPropsa<B>` implements `HasProp<P, &dyn HasProp<P, How>>`
|
||||
and $N others
|
||||
note: required for `CheckPropsAll<AssertAllProps>` to implement `HasAllProps<Props, (_,)>`
|
||||
--> tests/function_component_attr/generic-props-fail.rs:3:17
|
||||
|
|
||||
@ -47,11 +57,11 @@ error[E0277]: the trait bound `MissingTypeBounds: yew::Properties` is not satisf
|
||||
| ^^^^ the trait `yew::Properties` is not implemented for `MissingTypeBounds`
|
||||
|
|
||||
= help: the following other types implement trait `yew::Properties`:
|
||||
Props
|
||||
ContextProviderProps<T>
|
||||
ChildrenProps
|
||||
SuspenseProps
|
||||
()
|
||||
ChildrenProps
|
||||
ContextProviderProps<T>
|
||||
Props
|
||||
SuspenseProps
|
||||
note: required by a bound in `Comp`
|
||||
--> tests/function_component_attr/generic-props-fail.rs:11:8
|
||||
|
|
||||
@ -71,11 +81,6 @@ error[E0599]: the function or associated item `new` exists for struct `VChild<Co
|
||||
27 | html! { <Comp<MissingTypeBounds> /> };
|
||||
| ^^^^ function or associated item cannot be called on `VChild<Comp<MissingTypeBounds>>` due to unsatisfied trait bounds
|
||||
|
|
||||
note: if you're trying to build a new `VChild<Comp<MissingTypeBounds>>`, consider using `VChild::<COMP>::new` which returns `VChild<_>`
|
||||
--> $WORKSPACE/packages/yew/src/virtual_dom/vcomp.rs
|
||||
|
|
||||
| pub fn new(props: COMP::Properties, key: Option<Key>) -> Self {
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
= note: the following trait bounds were not satisfied:
|
||||
`Comp<MissingTypeBounds>: yew::BaseComponent`
|
||||
note: the trait `yew::BaseComponent` must be implemented
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
#[allow(dead_code)]
|
||||
#[rustversion::attr(stable(1.78), test)]
|
||||
#[rustversion::attr(stable(1.84.0), test)]
|
||||
fn tests() {
|
||||
let t = trybuild::TestCases::new();
|
||||
t.pass("tests/hook_attr/*-pass.rs");
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
#[allow(dead_code)]
|
||||
#[rustversion::attr(stable(1.78), test)]
|
||||
#[rustversion::attr(stable(1.84.0), test)]
|
||||
fn tests() {
|
||||
let t = trybuild::TestCases::new();
|
||||
t.pass("tests/hook_macro/*-pass.rs");
|
||||
|
||||
@ -4,7 +4,7 @@ error[E0277]: the trait bound `(): Into<NodeSeq<(), VNode>>` is not satisfied
|
||||
6 | { () }
|
||||
| ^^
|
||||
| |
|
||||
| the trait `std::fmt::Display` is not implemented for `()`, which is required by `(): Into<NodeSeq<_, _>>`
|
||||
| the trait `std::fmt::Display` is not implemented for `()`
|
||||
| required by a bound introduced by this call
|
||||
|
|
||||
= note: required for `()` to implement `ToString`
|
||||
@ -17,7 +17,7 @@ error[E0277]: the trait bound `(): Into<VNode>` is not satisfied
|
||||
--> tests/html_macro/block-fail.rs:15:17
|
||||
|
|
||||
15 | <>{ for (0..3).map(|_| not_tree()) }</>
|
||||
| ^^^^^^ the trait `std::fmt::Display` is not implemented for `()`, which is required by `(): Into<_>`
|
||||
| ^^^^^^ the trait `std::fmt::Display` is not implemented for `()`
|
||||
|
|
||||
= note: required for `()` to implement `ToString`
|
||||
= note: required for `VNode` to implement `From<()>`
|
||||
|
||||
@ -466,7 +466,8 @@ error[E0277]: the trait bound `(): IntoPropValue<String>` is not satisfied
|
||||
| |
|
||||
| required by a bound introduced by this call
|
||||
|
|
||||
= help: the trait `IntoPropValue<VNode>` is implemented for `()`
|
||||
= help: the trait `IntoPropValue<String>` is not implemented for `()`
|
||||
but trait `IntoPropValue<VNode>` is implemented for it
|
||||
= help: for that trait implementation, expected `VNode`, found `String`
|
||||
note: required by a bound in `ChildPropertiesBuilder::string`
|
||||
--> tests/html_macro/component-fail.rs:4:17
|
||||
@ -487,14 +488,14 @@ error[E0277]: the trait bound `{integer}: IntoPropValue<String>` is not satisfie
|
||||
| required by a bound introduced by this call
|
||||
|
|
||||
= help: the following other types implement trait `IntoPropValue<T>`:
|
||||
isize
|
||||
i8
|
||||
f32
|
||||
f64
|
||||
i128
|
||||
i16
|
||||
i32
|
||||
i64
|
||||
i128
|
||||
usize
|
||||
u8
|
||||
i8
|
||||
isize
|
||||
and $N others
|
||||
note: required by a bound in `ChildPropertiesBuilder::string`
|
||||
--> tests/html_macro/component-fail.rs:4:17
|
||||
@ -515,14 +516,14 @@ error[E0277]: the trait bound `{integer}: IntoPropValue<String>` is not satisfie
|
||||
| required by a bound introduced by this call
|
||||
|
|
||||
= help: the following other types implement trait `IntoPropValue<T>`:
|
||||
isize
|
||||
i8
|
||||
f32
|
||||
f64
|
||||
i128
|
||||
i16
|
||||
i32
|
||||
i64
|
||||
i128
|
||||
usize
|
||||
u8
|
||||
i8
|
||||
isize
|
||||
and $N others
|
||||
note: required by a bound in `ChildPropertiesBuilder::string`
|
||||
--> tests/html_macro/component-fail.rs:4:17
|
||||
@ -559,7 +560,8 @@ error[E0277]: the trait bound `u32: IntoPropValue<i32>` is not satisfied
|
||||
| |
|
||||
| required by a bound introduced by this call
|
||||
|
|
||||
= help: the trait `IntoPropValue<VNode>` is implemented for `u32`
|
||||
= help: the trait `IntoPropValue<i32>` is not implemented for `u32`
|
||||
but trait `IntoPropValue<VNode>` is implemented for it
|
||||
= help: for that trait implementation, expected `VNode`, found `i32`
|
||||
note: required by a bound in `ChildPropertiesBuilder::int`
|
||||
--> tests/html_macro/component-fail.rs:4:17
|
||||
@ -577,7 +579,17 @@ error[E0277]: not all required properties have been provided
|
||||
99 | html! { <Child string="abc" /> };
|
||||
| ^^^^^ missing required properties for this component
|
||||
|
|
||||
= help: the trait `HasProp<int, _>` is not implemented for `AssertAllProps`, which is required by `AssertAllProps: AllPropsFor<ChildPropertiesBuilder, _>`
|
||||
= help: the trait `HasProp<int, _>` is not implemented for `AssertAllProps`
|
||||
= help: the following other types implement trait `HasProp<P, How>`:
|
||||
`CheckChildContainerPropertiesAll<B>` implements `HasProp<P, &dyn HasProp<P, How>>`
|
||||
`CheckChildPropertiesAll<B>` implements `HasProp<P, &dyn HasProp<P, How>>`
|
||||
`CheckChildrenPropsAll<B>` implements `HasProp<P, &dyn HasProp<P, How>>`
|
||||
`CheckContextProviderPropsAll<B>` implements `HasProp<P, &dyn HasProp<P, How>>`
|
||||
`CheckHtmlInPropsPropertiesAll<B>` implements `HasProp<P, &dyn HasProp<P, How>>`
|
||||
`HasChildContainerPropertieschildren<B>` implements `HasProp<P, &dyn HasProp<P, How>>`
|
||||
`HasChildContainerPropertieschildren<B>` implements `HasProp<_ChildContainerProperties::children, HasChildContainerPropertieschildren<B>>`
|
||||
`HasChildPropertiesint<B>` implements `HasProp<P, &dyn HasProp<P, How>>`
|
||||
and $N others
|
||||
note: required for `CheckChildPropertiesAll<AssertAllProps>` to implement `HasAllProps<ChildProperties, (_,)>`
|
||||
--> tests/html_macro/component-fail.rs:4:17
|
||||
|
|
||||
@ -627,7 +639,17 @@ error[E0277]: not all required properties have been provided
|
||||
115 | html! { <ChildContainer /> };
|
||||
| ^^^^^^^^^^^^^^ missing required properties for this component
|
||||
|
|
||||
= help: the trait `HasProp<_ChildContainerProperties::children, _>` is not implemented for `AssertAllProps`, which is required by `AssertAllProps: AllPropsFor<ChildContainerPropertiesBuilder, _>`
|
||||
= help: the trait `HasProp<_ChildContainerProperties::children, _>` is not implemented for `AssertAllProps`
|
||||
= help: the following other types implement trait `HasProp<P, How>`:
|
||||
`CheckChildContainerPropertiesAll<B>` implements `HasProp<P, &dyn HasProp<P, How>>`
|
||||
`CheckChildPropertiesAll<B>` implements `HasProp<P, &dyn HasProp<P, How>>`
|
||||
`CheckChildrenPropsAll<B>` implements `HasProp<P, &dyn HasProp<P, How>>`
|
||||
`CheckContextProviderPropsAll<B>` implements `HasProp<P, &dyn HasProp<P, How>>`
|
||||
`CheckHtmlInPropsPropertiesAll<B>` implements `HasProp<P, &dyn HasProp<P, How>>`
|
||||
`HasChildContainerPropertieschildren<B>` implements `HasProp<P, &dyn HasProp<P, How>>`
|
||||
`HasChildContainerPropertieschildren<B>` implements `HasProp<_ChildContainerProperties::children, HasChildContainerPropertieschildren<B>>`
|
||||
`HasChildPropertiesint<B>` implements `HasProp<P, &dyn HasProp<P, How>>`
|
||||
and $N others
|
||||
note: required for `CheckChildContainerPropertiesAll<AssertAllProps>` to implement `HasAllProps<ChildContainerProperties, (_,)>`
|
||||
--> tests/html_macro/component-fail.rs:24:17
|
||||
|
|
||||
@ -650,7 +672,17 @@ error[E0277]: not all required properties have been provided
|
||||
116 | html! { <ChildContainer></ChildContainer> };
|
||||
| ^^^^^^^^^^^^^^ missing required properties for this component
|
||||
|
|
||||
= help: the trait `HasProp<_ChildContainerProperties::children, _>` is not implemented for `AssertAllProps`, which is required by `AssertAllProps: AllPropsFor<ChildContainerPropertiesBuilder, _>`
|
||||
= help: the trait `HasProp<_ChildContainerProperties::children, _>` is not implemented for `AssertAllProps`
|
||||
= help: the following other types implement trait `HasProp<P, How>`:
|
||||
`CheckChildContainerPropertiesAll<B>` implements `HasProp<P, &dyn HasProp<P, How>>`
|
||||
`CheckChildPropertiesAll<B>` implements `HasProp<P, &dyn HasProp<P, How>>`
|
||||
`CheckChildrenPropsAll<B>` implements `HasProp<P, &dyn HasProp<P, How>>`
|
||||
`CheckContextProviderPropsAll<B>` implements `HasProp<P, &dyn HasProp<P, How>>`
|
||||
`CheckHtmlInPropsPropertiesAll<B>` implements `HasProp<P, &dyn HasProp<P, How>>`
|
||||
`HasChildContainerPropertieschildren<B>` implements `HasProp<P, &dyn HasProp<P, How>>`
|
||||
`HasChildContainerPropertieschildren<B>` implements `HasProp<_ChildContainerProperties::children, HasChildContainerPropertieschildren<B>>`
|
||||
`HasChildPropertiesint<B>` implements `HasProp<P, &dyn HasProp<P, How>>`
|
||||
and $N others
|
||||
note: required for `CheckChildContainerPropertiesAll<AssertAllProps>` to implement `HasAllProps<ChildContainerProperties, (_,)>`
|
||||
--> tests/html_macro/component-fail.rs:24:17
|
||||
|
|
||||
@ -676,8 +708,8 @@ error[E0277]: the trait bound `yew::virtual_dom::VText: IntoPropValue<ChildrenRe
|
||||
| required by a bound introduced by this call
|
||||
|
|
||||
= help: the following other types implement trait `IntoPropValue<T>`:
|
||||
<yew::virtual_dom::VText as IntoPropValue<ChildrenRenderer<VNode>>>
|
||||
<yew::virtual_dom::VText as IntoPropValue<VNode>>
|
||||
`yew::virtual_dom::VText` implements `IntoPropValue<ChildrenRenderer<VNode>>`
|
||||
`yew::virtual_dom::VText` implements `IntoPropValue<VNode>`
|
||||
note: required by a bound in `ChildContainerPropertiesBuilder::children`
|
||||
--> tests/html_macro/component-fail.rs:24:17
|
||||
|
|
||||
@ -692,7 +724,7 @@ error[E0277]: the trait bound `VChild<Child>: From<yew::virtual_dom::VList>` is
|
||||
--> tests/html_macro/component-fail.rs:118:29
|
||||
|
|
||||
118 | html! { <ChildContainer><></></ChildContainer> };
|
||||
| ^ the trait `From<yew::virtual_dom::VList>` is not implemented for `VChild<Child>`, which is required by `yew::virtual_dom::VList: Into<_>`
|
||||
| ^ the trait `From<yew::virtual_dom::VList>` is not implemented for `VChild<Child>`
|
||||
|
|
||||
= note: required for `yew::virtual_dom::VList` to implement `Into<VChild<Child>>`
|
||||
|
||||
@ -704,7 +736,8 @@ error[E0277]: the trait bound `VNode: IntoPropValue<ChildrenRenderer<VChild<Chil
|
||||
| |
|
||||
| required by a bound introduced by this call
|
||||
|
|
||||
= help: the trait `IntoPropValue<ChildrenRenderer<VNode>>` is implemented for `VNode`
|
||||
= help: the trait `IntoPropValue<ChildrenRenderer<VChild<Child>>>` is not implemented for `VNode`
|
||||
but trait `IntoPropValue<ChildrenRenderer<VNode>>` is implemented for it
|
||||
= help: for that trait implementation, expected `VNode`, found `VChild<Child>`
|
||||
note: required by a bound in `ChildContainerPropertiesBuilder::children`
|
||||
--> tests/html_macro/component-fail.rs:24:17
|
||||
|
||||
@ -2,7 +2,7 @@ error[E0277]: the trait bound `Unimplemented: yew::Component` is not satisfied
|
||||
--> tests/html_macro/component-unimplemented-fail.rs:6:14
|
||||
|
|
||||
6 | html! { <Unimplemented /> };
|
||||
| ^^^^^^^^^^^^^ the trait `yew::Component` is not implemented for `Unimplemented`, which is required by `Unimplemented: BaseComponent`
|
||||
| ^^^^^^^^^^^^^ the trait `yew::Component` is not implemented for `Unimplemented`
|
||||
|
|
||||
= help: the trait `yew::Component` is implemented for `ContextProvider<T>`
|
||||
= note: required for `Unimplemented` to implement `BaseComponent`
|
||||
@ -12,21 +12,17 @@ error[E0599]: the function or associated item `new` exists for struct `VChild<Un
|
||||
--> tests/html_macro/component-unimplemented-fail.rs:6:14
|
||||
|
|
||||
3 | struct Unimplemented;
|
||||
| -------------------- doesn't satisfy `Unimplemented: BaseComponent`
|
||||
| -------------------- doesn't satisfy `Unimplemented: BaseComponent` or `Unimplemented: yew::Component`
|
||||
...
|
||||
6 | html! { <Unimplemented /> };
|
||||
| ^^^^^^^^^^^^^ function or associated item cannot be called on `VChild<Unimplemented>` due to unsatisfied trait bounds
|
||||
|
|
||||
note: if you're trying to build a new `VChild<Unimplemented>`, consider using `VChild::<COMP>::new` which returns `VChild<_>`
|
||||
--> $WORKSPACE/packages/yew/src/virtual_dom/vcomp.rs
|
||||
|
|
||||
| pub fn new(props: COMP::Properties, key: Option<Key>) -> Self {
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
= note: the following trait bounds were not satisfied:
|
||||
`Unimplemented: BaseComponent`
|
||||
note: the trait `BaseComponent` must be implemented
|
||||
`Unimplemented: yew::Component`
|
||||
which is required by `Unimplemented: BaseComponent`
|
||||
note: the trait `yew::Component` must be implemented
|
||||
--> $WORKSPACE/packages/yew/src/html/component/mod.rs
|
||||
|
|
||||
| pub trait BaseComponent: Sized + 'static {
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
| pub trait Component: Sized + 'static {
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
= note: this error originates in the macro `html` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
@ -434,7 +434,8 @@ error[E0277]: the trait bound `(): IntoPropValue<Option<implicit_clone::unsync::
|
||||
43 | html! { <input type={()} /> };
|
||||
| ^^ the trait `IntoPropValue<Option<implicit_clone::unsync::string::IString>>` is not implemented for `()`
|
||||
|
|
||||
= help: the trait `IntoPropValue<VNode>` is implemented for `()`
|
||||
= help: the trait `IntoPropValue<Option<implicit_clone::unsync::string::IString>>` is not implemented for `()`
|
||||
but trait `IntoPropValue<VNode>` is implemented for it
|
||||
= help: for that trait implementation, expected `VNode`, found `Option<implicit_clone::unsync::string::IString>`
|
||||
|
||||
error[E0277]: the trait bound `(): IntoPropValue<Option<implicit_clone::unsync::string::IString>>` is not satisfied
|
||||
@ -443,7 +444,8 @@ error[E0277]: the trait bound `(): IntoPropValue<Option<implicit_clone::unsync::
|
||||
44 | html! { <input value={()} /> };
|
||||
| ^^ the trait `IntoPropValue<Option<implicit_clone::unsync::string::IString>>` is not implemented for `()`
|
||||
|
|
||||
= help: the trait `IntoPropValue<VNode>` is implemented for `()`
|
||||
= help: the trait `IntoPropValue<Option<implicit_clone::unsync::string::IString>>` is not implemented for `()`
|
||||
but trait `IntoPropValue<VNode>` is implemented for it
|
||||
= help: for that trait implementation, expected `VNode`, found `Option<implicit_clone::unsync::string::IString>`
|
||||
|
||||
error[E0277]: the trait bound `(): IntoPropValue<Option<implicit_clone::unsync::string::IString>>` is not satisfied
|
||||
@ -452,7 +454,8 @@ error[E0277]: the trait bound `(): IntoPropValue<Option<implicit_clone::unsync::
|
||||
45 | html! { <a href={()} /> };
|
||||
| ^^ the trait `IntoPropValue<Option<implicit_clone::unsync::string::IString>>` is not implemented for `()`
|
||||
|
|
||||
= help: the trait `IntoPropValue<VNode>` is implemented for `()`
|
||||
= help: the trait `IntoPropValue<Option<implicit_clone::unsync::string::IString>>` is not implemented for `()`
|
||||
but trait `IntoPropValue<VNode>` is implemented for it
|
||||
= help: for that trait implementation, expected `VNode`, found `Option<implicit_clone::unsync::string::IString>`
|
||||
|
||||
error[E0277]: the trait bound `NotToString: IntoPropValue<Option<implicit_clone::unsync::string::IString>>` is not satisfied
|
||||
@ -462,14 +465,14 @@ error[E0277]: the trait bound `NotToString: IntoPropValue<Option<implicit_clone:
|
||||
| ^^^^^^^^^^^ the trait `IntoPropValue<Option<implicit_clone::unsync::string::IString>>` is not implemented for `NotToString`
|
||||
|
|
||||
= help: the following other types implement trait `IntoPropValue<T>`:
|
||||
<bool as IntoPropValue<VNode>>
|
||||
<char as IntoPropValue<VNode>>
|
||||
<isize as IntoPropValue<VNode>>
|
||||
<i8 as IntoPropValue<VNode>>
|
||||
<i16 as IntoPropValue<VNode>>
|
||||
<i32 as IntoPropValue<VNode>>
|
||||
<i64 as IntoPropValue<VNode>>
|
||||
<i128 as IntoPropValue<VNode>>
|
||||
`&'static [(K, V)]` implements `IntoPropValue<implicit_clone::unsync::map::IMap<K, V>>`
|
||||
`&'static [T]` implements `IntoPropValue<implicit_clone::unsync::array::IArray<T>>`
|
||||
`&'static str` implements `IntoPropValue<Classes>`
|
||||
`&'static str` implements `IntoPropValue<Option<String>>`
|
||||
`&'static str` implements `IntoPropValue<Option<implicit_clone::unsync::string::IString>>`
|
||||
`&'static str` implements `IntoPropValue<String>`
|
||||
`&'static str` implements `IntoPropValue<implicit_clone::unsync::string::IString>`
|
||||
`&String` implements `IntoPropValue<VNode>`
|
||||
and $N others
|
||||
|
||||
error[E0277]: the trait bound `Option<NotToString>: IntoPropValue<Option<implicit_clone::unsync::string::IString>>` is not satisfied
|
||||
@ -482,14 +485,14 @@ error[E0277]: the trait bound `Option<NotToString>: IntoPropValue<Option<implici
|
||||
| required by a bound introduced by this call
|
||||
|
|
||||
= help: the following other types implement trait `IntoPropValue<T>`:
|
||||
<Option<Cow<'static, str>> as IntoPropValue<Option<implicit_clone::unsync::string::IString>>>
|
||||
<Option<VChild<T>> as IntoPropValue<Option<ChildrenRenderer<C>>>>
|
||||
<Option<VNode> as IntoPropValue<VNode>>
|
||||
<Option<Rc<str>> as IntoPropValue<Option<implicit_clone::unsync::string::IString>>>
|
||||
<Option<String> as IntoPropValue<Option<implicit_clone::unsync::string::IString>>>
|
||||
<Option<&'static str> as IntoPropValue<Option<implicit_clone::unsync::string::IString>>>
|
||||
<Option<&'static str> as IntoPropValue<Option<String>>>
|
||||
<Option<F> as IntoPropValue<Option<yew::Callback<I, O>>>>
|
||||
`Option<&str>` implements `IntoPropValue<Option<String>>`
|
||||
`Option<&str>` implements `IntoPropValue<Option<implicit_clone::unsync::string::IString>>`
|
||||
`Option<Cow<'_, str>>` implements `IntoPropValue<Option<implicit_clone::unsync::string::IString>>`
|
||||
`Option<F>` implements `IntoPropValue<Option<yew::Callback<I, O>>>`
|
||||
`Option<Rc<str>>` implements `IntoPropValue<Option<implicit_clone::unsync::string::IString>>`
|
||||
`Option<String>` implements `IntoPropValue<Option<implicit_clone::unsync::string::IString>>`
|
||||
`Option<VChild<T>>` implements `IntoPropValue<Option<ChildrenRenderer<C>>>`
|
||||
`Option<VNode>` implements `IntoPropValue<VNode>`
|
||||
|
||||
error[E0277]: the trait bound `Option<{integer}>: IntoPropValue<Option<implicit_clone::unsync::string::IString>>` is not satisfied
|
||||
--> tests/html_macro/element-fail.rs:48:22
|
||||
@ -501,14 +504,14 @@ error[E0277]: the trait bound `Option<{integer}>: IntoPropValue<Option<implicit_
|
||||
| required by a bound introduced by this call
|
||||
|
|
||||
= help: the following other types implement trait `IntoPropValue<T>`:
|
||||
<Option<Cow<'static, str>> as IntoPropValue<Option<implicit_clone::unsync::string::IString>>>
|
||||
<Option<VChild<T>> as IntoPropValue<Option<ChildrenRenderer<C>>>>
|
||||
<Option<VNode> as IntoPropValue<VNode>>
|
||||
<Option<Rc<str>> as IntoPropValue<Option<implicit_clone::unsync::string::IString>>>
|
||||
<Option<String> as IntoPropValue<Option<implicit_clone::unsync::string::IString>>>
|
||||
<Option<&'static str> as IntoPropValue<Option<implicit_clone::unsync::string::IString>>>
|
||||
<Option<&'static str> as IntoPropValue<Option<String>>>
|
||||
<Option<F> as IntoPropValue<Option<yew::Callback<I, O>>>>
|
||||
`Option<&str>` implements `IntoPropValue<Option<String>>`
|
||||
`Option<&str>` implements `IntoPropValue<Option<implicit_clone::unsync::string::IString>>`
|
||||
`Option<Cow<'_, str>>` implements `IntoPropValue<Option<implicit_clone::unsync::string::IString>>`
|
||||
`Option<F>` implements `IntoPropValue<Option<yew::Callback<I, O>>>`
|
||||
`Option<Rc<str>>` implements `IntoPropValue<Option<implicit_clone::unsync::string::IString>>`
|
||||
`Option<String>` implements `IntoPropValue<Option<implicit_clone::unsync::string::IString>>`
|
||||
`Option<VChild<T>>` implements `IntoPropValue<Option<ChildrenRenderer<C>>>`
|
||||
`Option<VNode>` implements `IntoPropValue<VNode>`
|
||||
|
||||
error[E0277]: the trait bound `{integer}: IntoEventCallback<MouseEvent>` is not satisfied
|
||||
--> tests/html_macro/element-fail.rs:51:28
|
||||
@ -516,14 +519,14 @@ error[E0277]: the trait bound `{integer}: IntoEventCallback<MouseEvent>` is not
|
||||
51 | html! { <input onclick=1 /> };
|
||||
| -----------------------^-----
|
||||
| | |
|
||||
| | the trait `Fn<(MouseEvent,)>` is not implemented for `{integer}`, which is required by `{integer}: IntoEventCallback<MouseEvent>`
|
||||
| | the trait `Fn(MouseEvent)` is not implemented for `{integer}`
|
||||
| required by a bound introduced by this call
|
||||
|
|
||||
= help: the following other types implement trait `IntoEventCallback<EVENT>`:
|
||||
yew::Callback<EVENT>
|
||||
Option<yew::Callback<EVENT>>
|
||||
Option<T>
|
||||
&yew::Callback<EVENT>
|
||||
Option<T>
|
||||
Option<yew::Callback<EVENT>>
|
||||
yew::Callback<EVENT>
|
||||
= note: required for `{integer}` to implement `IntoEventCallback<MouseEvent>`
|
||||
note: required by a bound in `yew::html::onclick::Wrapper::__macro_new`
|
||||
--> $WORKSPACE/packages/yew/src/html/listener/events.rs
|
||||
@ -531,7 +534,6 @@ note: required by a bound in `yew::html::onclick::Wrapper::__macro_new`
|
||||
| / impl_short! {
|
||||
| | onauxclick(MouseEvent)
|
||||
| | onclick(MouseEvent)
|
||||
| |
|
||||
... |
|
||||
| | ontransitionstart(TransitionEvent)
|
||||
| | }
|
||||
@ -547,14 +549,12 @@ error[E0277]: the trait bound `yew::Callback<String>: IntoEventCallback<MouseEve
|
||||
52 | html! { <input onclick={Callback::from(|a: String| ())} /> };
|
||||
| ------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------
|
||||
| | |
|
||||
| | the trait `Fn<(MouseEvent,)>` is not implemented for `yew::Callback<String>`, which is required by `yew::Callback<String>: IntoEventCallback<MouseEvent>`
|
||||
| | the trait `Fn(MouseEvent)` is not implemented for `yew::Callback<String>`
|
||||
| required by a bound introduced by this call
|
||||
|
|
||||
= help: the following other types implement trait `IntoEventCallback<EVENT>`:
|
||||
yew::Callback<EVENT>
|
||||
Option<yew::Callback<EVENT>>
|
||||
Option<T>
|
||||
&yew::Callback<EVENT>
|
||||
yew::Callback<EVENT>
|
||||
= note: required for `yew::Callback<String>` to implement `IntoEventCallback<MouseEvent>`
|
||||
note: required by a bound in `yew::html::onclick::Wrapper::__macro_new`
|
||||
--> $WORKSPACE/packages/yew/src/html/listener/events.rs
|
||||
@ -562,7 +562,6 @@ note: required by a bound in `yew::html::onclick::Wrapper::__macro_new`
|
||||
| / impl_short! {
|
||||
| | onauxclick(MouseEvent)
|
||||
| | onclick(MouseEvent)
|
||||
| |
|
||||
... |
|
||||
| | ontransitionstart(TransitionEvent)
|
||||
| | }
|
||||
@ -582,15 +581,14 @@ error[E0277]: the trait bound `Option<{integer}>: IntoEventCallback<FocusEvent>`
|
||||
| required by a bound introduced by this call
|
||||
|
|
||||
= help: the following other types implement trait `IntoEventCallback<EVENT>`:
|
||||
Option<yew::Callback<EVENT>>
|
||||
Option<T>
|
||||
Option<yew::Callback<EVENT>>
|
||||
note: required by a bound in `yew::html::onfocus::Wrapper::__macro_new`
|
||||
--> $WORKSPACE/packages/yew/src/html/listener/events.rs
|
||||
|
|
||||
| / impl_short! {
|
||||
| | onauxclick(MouseEvent)
|
||||
| | onclick(MouseEvent)
|
||||
| |
|
||||
... |
|
||||
| | ontransitionstart(TransitionEvent)
|
||||
| | }
|
||||
@ -609,7 +607,8 @@ error[E0277]: the trait bound `(): IntoPropValue<yew::NodeRef>` is not satisfied
|
||||
| the trait `IntoPropValue<yew::NodeRef>` is not implemented for `()`
|
||||
| required by a bound introduced by this call
|
||||
|
|
||||
= help: the trait `IntoPropValue<VNode>` is implemented for `()`
|
||||
= help: the trait `IntoPropValue<yew::NodeRef>` is not implemented for `()`
|
||||
but trait `IntoPropValue<VNode>` is implemented for it
|
||||
= help: for that trait implementation, expected `VNode`, found `yew::NodeRef`
|
||||
|
||||
error[E0277]: the trait bound `Option<yew::NodeRef>: IntoPropValue<yew::NodeRef>` is not satisfied
|
||||
@ -622,14 +621,14 @@ error[E0277]: the trait bound `Option<yew::NodeRef>: IntoPropValue<yew::NodeRef>
|
||||
| required by a bound introduced by this call
|
||||
|
|
||||
= help: the following other types implement trait `IntoPropValue<T>`:
|
||||
<Option<Cow<'static, str>> as IntoPropValue<Option<implicit_clone::unsync::string::IString>>>
|
||||
<Option<VChild<T>> as IntoPropValue<Option<ChildrenRenderer<C>>>>
|
||||
<Option<VNode> as IntoPropValue<VNode>>
|
||||
<Option<Rc<str>> as IntoPropValue<Option<implicit_clone::unsync::string::IString>>>
|
||||
<Option<String> as IntoPropValue<Option<implicit_clone::unsync::string::IString>>>
|
||||
<Option<&'static str> as IntoPropValue<Option<implicit_clone::unsync::string::IString>>>
|
||||
<Option<&'static str> as IntoPropValue<Option<String>>>
|
||||
<Option<F> as IntoPropValue<Option<yew::Callback<I, O>>>>
|
||||
`Option<&str>` implements `IntoPropValue<Option<String>>`
|
||||
`Option<&str>` implements `IntoPropValue<Option<implicit_clone::unsync::string::IString>>`
|
||||
`Option<Cow<'_, str>>` implements `IntoPropValue<Option<implicit_clone::unsync::string::IString>>`
|
||||
`Option<F>` implements `IntoPropValue<Option<yew::Callback<I, O>>>`
|
||||
`Option<Rc<str>>` implements `IntoPropValue<Option<implicit_clone::unsync::string::IString>>`
|
||||
`Option<String>` implements `IntoPropValue<Option<implicit_clone::unsync::string::IString>>`
|
||||
`Option<VChild<T>>` implements `IntoPropValue<Option<ChildrenRenderer<C>>>`
|
||||
`Option<VNode>` implements `IntoPropValue<VNode>`
|
||||
|
||||
error[E0277]: the trait bound `yew::Callback<String>: IntoEventCallback<MouseEvent>` is not satisfied
|
||||
--> tests/html_macro/element-fail.rs:58:29
|
||||
@ -637,14 +636,12 @@ error[E0277]: the trait bound `yew::Callback<String>: IntoEventCallback<MouseEve
|
||||
58 | html! { <input onclick={Callback::from(|a: String| ())} /> };
|
||||
| ------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------
|
||||
| | |
|
||||
| | the trait `Fn<(MouseEvent,)>` is not implemented for `yew::Callback<String>`, which is required by `yew::Callback<String>: IntoEventCallback<MouseEvent>`
|
||||
| | the trait `Fn(MouseEvent)` is not implemented for `yew::Callback<String>`
|
||||
| required by a bound introduced by this call
|
||||
|
|
||||
= help: the following other types implement trait `IntoEventCallback<EVENT>`:
|
||||
yew::Callback<EVENT>
|
||||
Option<yew::Callback<EVENT>>
|
||||
Option<T>
|
||||
&yew::Callback<EVENT>
|
||||
yew::Callback<EVENT>
|
||||
= note: required for `yew::Callback<String>` to implement `IntoEventCallback<MouseEvent>`
|
||||
note: required by a bound in `yew::html::onclick::Wrapper::__macro_new`
|
||||
--> $WORKSPACE/packages/yew/src/html/listener/events.rs
|
||||
@ -652,7 +649,6 @@ note: required by a bound in `yew::html::onclick::Wrapper::__macro_new`
|
||||
| / impl_short! {
|
||||
| | onauxclick(MouseEvent)
|
||||
| | onclick(MouseEvent)
|
||||
| |
|
||||
... |
|
||||
| | ontransitionstart(TransitionEvent)
|
||||
| | }
|
||||
@ -669,14 +665,14 @@ error[E0277]: the trait bound `NotToString: IntoPropValue<Option<implicit_clone:
|
||||
| ^^^^^^^^^^^ the trait `IntoPropValue<Option<implicit_clone::unsync::string::IString>>` is not implemented for `NotToString`
|
||||
|
|
||||
= help: the following other types implement trait `IntoPropValue<T>`:
|
||||
<bool as IntoPropValue<VNode>>
|
||||
<char as IntoPropValue<VNode>>
|
||||
<isize as IntoPropValue<VNode>>
|
||||
<i8 as IntoPropValue<VNode>>
|
||||
<i16 as IntoPropValue<VNode>>
|
||||
<i32 as IntoPropValue<VNode>>
|
||||
<i64 as IntoPropValue<VNode>>
|
||||
<i128 as IntoPropValue<VNode>>
|
||||
`&'static [(K, V)]` implements `IntoPropValue<implicit_clone::unsync::map::IMap<K, V>>`
|
||||
`&'static [T]` implements `IntoPropValue<implicit_clone::unsync::array::IArray<T>>`
|
||||
`&'static str` implements `IntoPropValue<Classes>`
|
||||
`&'static str` implements `IntoPropValue<Option<String>>`
|
||||
`&'static str` implements `IntoPropValue<Option<implicit_clone::unsync::string::IString>>`
|
||||
`&'static str` implements `IntoPropValue<String>`
|
||||
`&'static str` implements `IntoPropValue<implicit_clone::unsync::string::IString>`
|
||||
`&String` implements `IntoPropValue<VNode>`
|
||||
and $N others
|
||||
|
||||
error[E0277]: the trait bound `(): IntoPropValue<yew::NodeRef>` is not satisfied
|
||||
@ -688,20 +684,21 @@ error[E0277]: the trait bound `(): IntoPropValue<yew::NodeRef>` is not satisfied
|
||||
| the trait `IntoPropValue<yew::NodeRef>` is not implemented for `()`
|
||||
| required by a bound introduced by this call
|
||||
|
|
||||
= help: the trait `IntoPropValue<VNode>` is implemented for `()`
|
||||
= help: the trait `IntoPropValue<yew::NodeRef>` is not implemented for `()`
|
||||
but trait `IntoPropValue<VNode>` is implemented for it
|
||||
= help: for that trait implementation, expected `VNode`, found `yew::NodeRef`
|
||||
|
||||
error[E0277]: the trait bound `implicit_clone::unsync::string::IString: From<{integer}>` is not satisfied
|
||||
--> tests/html_macro/element-fail.rs:79:16
|
||||
|
|
||||
79 | html! { <@{55}></@> };
|
||||
| ^^ the trait `From<{integer}>` is not implemented for `implicit_clone::unsync::string::IString`, which is required by `{integer}: Into<implicit_clone::unsync::string::IString>`
|
||||
| ^^ the trait `From<{integer}>` is not implemented for `implicit_clone::unsync::string::IString`
|
||||
|
|
||||
= help: the following other types implement trait `From<T>`:
|
||||
<implicit_clone::unsync::string::IString as From<Cow<'static, str>>>
|
||||
<implicit_clone::unsync::string::IString as From<Rc<str>>>
|
||||
<implicit_clone::unsync::string::IString as From<String>>
|
||||
<implicit_clone::unsync::string::IString as From<Arguments<'_>>>
|
||||
<implicit_clone::unsync::string::IString as From<&implicit_clone::unsync::string::IString>>
|
||||
<implicit_clone::unsync::string::IString as From<&'static str>>
|
||||
`implicit_clone::unsync::string::IString` implements `From<&implicit_clone::unsync::string::IString>`
|
||||
`implicit_clone::unsync::string::IString` implements `From<&str>`
|
||||
`implicit_clone::unsync::string::IString` implements `From<Arguments<'_>>`
|
||||
`implicit_clone::unsync::string::IString` implements `From<Cow<'_, str>>`
|
||||
`implicit_clone::unsync::string::IString` implements `From<Rc<str>>`
|
||||
`implicit_clone::unsync::string::IString` implements `From<String>`
|
||||
= note: required for `{integer}` to implement `Into<implicit_clone::unsync::string::IString>`
|
||||
|
||||
@ -34,7 +34,7 @@ error[E0277]: `()` is not an iterator
|
||||
6 | html! { {for ()} };
|
||||
| ^^ `()` is not an iterator
|
||||
|
|
||||
= help: the trait `Iterator` is not implemented for `()`, which is required by `(): IntoIterator`
|
||||
= help: the trait `Iterator` is not implemented for `()`
|
||||
= note: required for `()` to implement `IntoIterator`
|
||||
|
||||
error[E0277]: `()` doesn't implement `std::fmt::Display`
|
||||
@ -43,7 +43,7 @@ error[E0277]: `()` doesn't implement `std::fmt::Display`
|
||||
13 | html! { {for empty.iter()} };
|
||||
| ^^^^^ `()` cannot be formatted with the default formatter
|
||||
|
|
||||
= help: the trait `std::fmt::Display` is not implemented for `()`, which is required by `VNode: FromIterator<_>`
|
||||
= help: the trait `std::fmt::Display` is not implemented for `()`
|
||||
= note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead
|
||||
= help: the trait `FromIterator<A>` is implemented for `VNode`
|
||||
= note: required for `&()` to implement `std::fmt::Display`
|
||||
@ -60,7 +60,7 @@ error[E0277]: `()` is not an iterator
|
||||
18 | { for () }
|
||||
| ^^ `()` is not an iterator
|
||||
|
|
||||
= help: the trait `Iterator` is not implemented for `()`, which is required by `(): IntoIterator`
|
||||
= help: the trait `Iterator` is not implemented for `()`
|
||||
= note: required for `()` to implement `IntoIterator`
|
||||
note: required by a bound in `into_node_iter`
|
||||
--> $WORKSPACE/packages/yew/src/utils/mod.rs
|
||||
@ -82,7 +82,7 @@ error[E0277]: `()` is not an iterator
|
||||
20 | | };
|
||||
| |_____^ `()` is not an iterator
|
||||
|
|
||||
= help: the trait `Iterator` is not implemented for `()`, which is required by `(): IntoIterator`
|
||||
= help: the trait `Iterator` is not implemented for `()`
|
||||
= note: required for `()` to implement `IntoIterator`
|
||||
note: required by a bound in `into_node_iter`
|
||||
--> $WORKSPACE/packages/yew/src/utils/mod.rs
|
||||
|
||||
@ -4,7 +4,17 @@ error[E0277]: not all required properties have been provided
|
||||
6 | <Foo />
|
||||
| ^^^ missing required properties for this component
|
||||
|
|
||||
= help: the trait `HasProp<bar, _>` is not implemented for `AssertAllProps`, which is required by `AssertAllProps: AllPropsFor<FooPropsBuilder, _>`
|
||||
= help: the trait `HasProp<bar, _>` is not implemented for `AssertAllProps`
|
||||
= help: the following other types implement trait `HasProp<P, How>`:
|
||||
`CheckChildrenPropsAll<B>` implements `HasProp<P, &dyn HasProp<P, How>>`
|
||||
`CheckContextProviderPropsAll<B>` implements `HasProp<P, &dyn HasProp<P, How>>`
|
||||
`CheckFooPropsAll<B>` implements `HasProp<P, &dyn HasProp<P, How>>`
|
||||
`HasContextProviderPropschildren<B>` implements `HasProp<P, &dyn HasProp<P, How>>`
|
||||
`HasContextProviderPropschildren<B>` implements `HasProp<children, HasContextProviderPropschildren<B>>`
|
||||
`HasContextProviderPropscontext<B>` implements `HasProp<P, &dyn HasProp<P, How>>`
|
||||
`HasContextProviderPropscontext<B>` implements `HasProp<yew::context::_ContextProviderProps::context, HasContextProviderPropscontext<B>>`
|
||||
`HasFooPropsbar<B>` implements `HasProp<P, &dyn HasProp<P, How>>`
|
||||
and $N others
|
||||
note: required for `CheckFooPropsAll<AssertAllProps>` to implement `HasAllProps<FooProps, (_, _)>`
|
||||
--> tests/html_macro/missing-props-diagnostics-fail.rs:24:10
|
||||
|
|
||||
@ -27,7 +37,17 @@ error[E0277]: not all required properties have been provided
|
||||
6 | <Foo />
|
||||
| ^^^ missing required properties for this component
|
||||
|
|
||||
= help: the trait `HasProp<baz, _>` is not implemented for `AssertAllProps`, which is required by `AssertAllProps: AllPropsFor<FooPropsBuilder, _>`
|
||||
= help: the trait `HasProp<baz, _>` is not implemented for `AssertAllProps`
|
||||
= help: the following other types implement trait `HasProp<P, How>`:
|
||||
`CheckChildrenPropsAll<B>` implements `HasProp<P, &dyn HasProp<P, How>>`
|
||||
`CheckContextProviderPropsAll<B>` implements `HasProp<P, &dyn HasProp<P, How>>`
|
||||
`CheckFooPropsAll<B>` implements `HasProp<P, &dyn HasProp<P, How>>`
|
||||
`HasContextProviderPropschildren<B>` implements `HasProp<P, &dyn HasProp<P, How>>`
|
||||
`HasContextProviderPropschildren<B>` implements `HasProp<children, HasContextProviderPropschildren<B>>`
|
||||
`HasContextProviderPropscontext<B>` implements `HasProp<P, &dyn HasProp<P, How>>`
|
||||
`HasContextProviderPropscontext<B>` implements `HasProp<yew::context::_ContextProviderProps::context, HasContextProviderPropscontext<B>>`
|
||||
`HasFooPropsbar<B>` implements `HasProp<P, &dyn HasProp<P, How>>`
|
||||
and $N others
|
||||
note: required for `CheckFooPropsAll<AssertAllProps>` to implement `HasAllProps<FooProps, (_, _)>`
|
||||
--> tests/html_macro/missing-props-diagnostics-fail.rs:24:10
|
||||
|
|
||||
@ -50,16 +70,16 @@ error[E0277]: property `baz` is required but not provided
|
||||
13 | <Foo bar={"bar".to_string()} />
|
||||
| ^^^ missing required property `baz`
|
||||
|
|
||||
= help: the trait `HasProp<baz, _>` is not implemented for `AssertAllProps`, which is required by `HasFooPropsbar<AssertAllProps>: AllPropsFor<FooPropsBuilder, _>`
|
||||
= help: the trait `HasProp<baz, _>` is not implemented for `AssertAllProps`
|
||||
= help: the following other types implement trait `HasProp<P, How>`:
|
||||
<HasFooPropsbar<B> as HasProp<bar, HasFooPropsbar<B>>>
|
||||
<HasFooPropsbar<B> as HasProp<P, &dyn HasProp<P, How>>>
|
||||
<HasFooPropsbaz<B> as HasProp<baz, HasFooPropsbaz<B>>>
|
||||
<HasFooPropsbaz<B> as HasProp<P, &dyn HasProp<P, How>>>
|
||||
<CheckFooPropsAll<B> as HasProp<P, &dyn HasProp<P, How>>>
|
||||
<HasContextProviderPropscontext<B> as HasProp<yew::context::_ContextProviderProps::context, HasContextProviderPropscontext<B>>>
|
||||
<HasContextProviderPropscontext<B> as HasProp<P, &dyn HasProp<P, How>>>
|
||||
<HasContextProviderPropschildren<B> as HasProp<children, HasContextProviderPropschildren<B>>>
|
||||
`CheckChildrenPropsAll<B>` implements `HasProp<P, &dyn HasProp<P, How>>`
|
||||
`CheckContextProviderPropsAll<B>` implements `HasProp<P, &dyn HasProp<P, How>>`
|
||||
`CheckFooPropsAll<B>` implements `HasProp<P, &dyn HasProp<P, How>>`
|
||||
`HasContextProviderPropschildren<B>` implements `HasProp<P, &dyn HasProp<P, How>>`
|
||||
`HasContextProviderPropschildren<B>` implements `HasProp<children, HasContextProviderPropschildren<B>>`
|
||||
`HasContextProviderPropscontext<B>` implements `HasProp<P, &dyn HasProp<P, How>>`
|
||||
`HasContextProviderPropscontext<B>` implements `HasProp<yew::context::_ContextProviderProps::context, HasContextProviderPropscontext<B>>`
|
||||
`HasFooPropsbar<B>` implements `HasProp<P, &dyn HasProp<P, How>>`
|
||||
and $N others
|
||||
note: required for `HasFooPropsbar<AssertAllProps>` to implement `HasProp<baz, &dyn HasProp<baz, _>>`
|
||||
--> tests/html_macro/missing-props-diagnostics-fail.rs:24:10
|
||||
|
||||
@ -36,18 +36,18 @@ error[E0277]: `()` doesn't implement `std::fmt::Display`
|
||||
6 | html! { () };
|
||||
| ^^ `()` cannot be formatted with the default formatter
|
||||
|
|
||||
= help: the trait `std::fmt::Display` is not implemented for `()`, which is required by `VNode: From<()>`
|
||||
= help: the trait `std::fmt::Display` is not implemented for `()`
|
||||
= note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead
|
||||
= help: the following other types implement trait `From<T>`:
|
||||
<VNode as From<yew::virtual_dom::VComp>>
|
||||
<VNode as From<VChild<COMP>>>
|
||||
<VNode as From<ChildrenRenderer<VNode>>>
|
||||
<VNode as From<yew::virtual_dom::VList>>
|
||||
<VNode as From<yew::virtual_dom::VPortal>>
|
||||
<VNode as From<yew::virtual_dom::VSuspense>>
|
||||
<VNode as From<yew::virtual_dom::VTag>>
|
||||
<VNode as From<yew::virtual_dom::VText>>
|
||||
<VNode as From<T>>
|
||||
`VNode` implements `From<ChildrenRenderer<VNode>>`
|
||||
`VNode` implements `From<T>`
|
||||
`VNode` implements `From<VChild<COMP>>`
|
||||
`VNode` implements `From<yew::virtual_dom::VComp>`
|
||||
`VNode` implements `From<yew::virtual_dom::VList>`
|
||||
`VNode` implements `From<yew::virtual_dom::VPortal>`
|
||||
`VNode` implements `From<yew::virtual_dom::VSuspense>`
|
||||
`VNode` implements `From<yew::virtual_dom::VTag>`
|
||||
`VNode` implements `From<yew::virtual_dom::VText>`
|
||||
= note: required for `()` to implement `ToString`
|
||||
= note: required for `VNode` to implement `From<()>`
|
||||
= note: this error originates in the macro `html` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
@ -58,18 +58,18 @@ error[E0277]: `()` doesn't implement `std::fmt::Display`
|
||||
17 | not_node()
|
||||
| ^^^^^^^^ `()` cannot be formatted with the default formatter
|
||||
|
|
||||
= help: the trait `std::fmt::Display` is not implemented for `()`, which is required by `VNode: From<()>`
|
||||
= help: the trait `std::fmt::Display` is not implemented for `()`
|
||||
= note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead
|
||||
= help: the following other types implement trait `From<T>`:
|
||||
<VNode as From<yew::virtual_dom::VComp>>
|
||||
<VNode as From<VChild<COMP>>>
|
||||
<VNode as From<ChildrenRenderer<VNode>>>
|
||||
<VNode as From<yew::virtual_dom::VList>>
|
||||
<VNode as From<yew::virtual_dom::VPortal>>
|
||||
<VNode as From<yew::virtual_dom::VSuspense>>
|
||||
<VNode as From<yew::virtual_dom::VTag>>
|
||||
<VNode as From<yew::virtual_dom::VText>>
|
||||
<VNode as From<T>>
|
||||
`VNode` implements `From<ChildrenRenderer<VNode>>`
|
||||
`VNode` implements `From<T>`
|
||||
`VNode` implements `From<VChild<COMP>>`
|
||||
`VNode` implements `From<yew::virtual_dom::VComp>`
|
||||
`VNode` implements `From<yew::virtual_dom::VList>`
|
||||
`VNode` implements `From<yew::virtual_dom::VPortal>`
|
||||
`VNode` implements `From<yew::virtual_dom::VSuspense>`
|
||||
`VNode` implements `From<yew::virtual_dom::VTag>`
|
||||
`VNode` implements `From<yew::virtual_dom::VText>`
|
||||
= note: required for `()` to implement `ToString`
|
||||
= note: required for `VNode` to implement `From<()>`
|
||||
= note: this error originates in the macro `html` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
use yew::{html, html_nested};
|
||||
|
||||
#[allow(dead_code)]
|
||||
#[rustversion::attr(stable(1.78), test)]
|
||||
#[rustversion::attr(stable(1.84.0), test)]
|
||||
fn html_macro() {
|
||||
let t = trybuild::TestCases::new();
|
||||
|
||||
|
||||
@ -22,13 +22,13 @@ error[E0277]: can't compare `Props` with `Props`
|
||||
9 | type Properties = Props;
|
||||
| ^^^^^ no implementation for `Props == Props`
|
||||
|
|
||||
= help: the trait `PartialEq` is not implemented for `Props`, which is required by `<MyComp as yew::Component>::Properties: yew::Properties`
|
||||
= help: the trait `PartialEq` is not implemented for `Props`
|
||||
= help: the following other types implement trait `yew::Properties`:
|
||||
Props
|
||||
ContextProviderProps<T>
|
||||
ChildrenProps
|
||||
SuspenseProps
|
||||
()
|
||||
ChildrenProps
|
||||
ContextProviderProps<T>
|
||||
Props
|
||||
SuspenseProps
|
||||
= note: required for `<MyComp as yew::Component>::Properties` to implement `yew::Properties`
|
||||
note: required by a bound in `yew::Component::Properties`
|
||||
--> $WORKSPACE/packages/yew/src/html/component/mod.rs
|
||||
@ -48,11 +48,11 @@ error[E0277]: the trait bound `Vec<_>: yew::Properties` is not satisfied
|
||||
| ^^^^^^ the trait `yew::Properties` is not implemented for `Vec<_>`
|
||||
|
|
||||
= help: the following other types implement trait `yew::Properties`:
|
||||
Props
|
||||
ContextProviderProps<T>
|
||||
ChildrenProps
|
||||
SuspenseProps
|
||||
()
|
||||
ChildrenProps
|
||||
ContextProviderProps<T>
|
||||
Props
|
||||
SuspenseProps
|
||||
|
||||
error[E0277]: the trait bound `Vec<_>: yew::Properties` is not satisfied
|
||||
--> tests/props_macro/resolve-prop-fail.rs:29:17
|
||||
@ -61,11 +61,11 @@ error[E0277]: the trait bound `Vec<_>: yew::Properties` is not satisfied
|
||||
| ^^^ the trait `yew::Properties` is not implemented for `Vec<_>`
|
||||
|
|
||||
= help: the following other types implement trait `yew::Properties`:
|
||||
Props
|
||||
ContextProviderProps<T>
|
||||
ChildrenProps
|
||||
SuspenseProps
|
||||
()
|
||||
ChildrenProps
|
||||
ContextProviderProps<T>
|
||||
Props
|
||||
SuspenseProps
|
||||
|
||||
error[E0277]: the trait bound `MyComp: yew::Properties` is not satisfied
|
||||
--> tests/props_macro/resolve-prop-fail.rs:30:17
|
||||
@ -74,11 +74,11 @@ error[E0277]: the trait bound `MyComp: yew::Properties` is not satisfied
|
||||
| ^^^^^^ the trait `yew::Properties` is not implemented for `MyComp`
|
||||
|
|
||||
= help: the following other types implement trait `yew::Properties`:
|
||||
Props
|
||||
ContextProviderProps<T>
|
||||
ChildrenProps
|
||||
SuspenseProps
|
||||
()
|
||||
ChildrenProps
|
||||
ContextProviderProps<T>
|
||||
Props
|
||||
SuspenseProps
|
||||
|
||||
error[E0277]: the trait bound `MyNotAComponent: yew::Component` is not satisfied
|
||||
--> tests/props_macro/resolve-prop-fail.rs:31:17
|
||||
@ -87,5 +87,5 @@ error[E0277]: the trait bound `MyNotAComponent: yew::Component` is not satisfied
|
||||
| ^^^^^^^^^^^^^^^ the trait `yew::Component` is not implemented for `MyNotAComponent`
|
||||
|
|
||||
= help: the following other types implement trait `yew::Component`:
|
||||
MyComp
|
||||
ContextProvider<T>
|
||||
MyComp
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
#[allow(dead_code)]
|
||||
#[rustversion::attr(stable(1.78), test)]
|
||||
#[rustversion::attr(stable(1.84.0), test)]
|
||||
fn props_macro() {
|
||||
let t = trybuild::TestCases::new();
|
||||
t.pass("tests/props_macro/*-pass.rs");
|
||||
|
||||
@ -6,7 +6,7 @@ edition = "2021"
|
||||
license = "MIT OR Apache-2.0"
|
||||
description = "Contains macros used with yew-router"
|
||||
repository = "https://github.com/yewstack/yew"
|
||||
rust-version = "1.78.0"
|
||||
rust-version = "1.84.0"
|
||||
|
||||
[lib]
|
||||
proc-macro = true
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
[tasks.test]
|
||||
clear = true
|
||||
toolchain = "1.78.0"
|
||||
toolchain = "1.84.0"
|
||||
command = "cargo"
|
||||
args = ["test"]
|
||||
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
#[allow(dead_code)]
|
||||
#[rustversion::attr(stable(1.78), test)]
|
||||
#[rustversion::attr(stable(1.84.0), test)]
|
||||
fn tests() {
|
||||
let t = trybuild::TestCases::new();
|
||||
t.pass("tests/routable_derive/*-pass.rs");
|
||||
|
||||
@ -9,7 +9,7 @@ keywords = ["web", "yew", "router"]
|
||||
categories = ["gui", "web-programming"]
|
||||
description = "A router implementation for the Yew framework"
|
||||
repository = "https://github.com/yewstack/yew"
|
||||
rust-version = "1.78.0"
|
||||
rust-version = "1.84.0"
|
||||
|
||||
[dependencies]
|
||||
yew = { version = "0.21.0", path = "../yew", default-features= false }
|
||||
|
||||
@ -14,7 +14,7 @@ keywords = ["web", "webasm", "javascript"]
|
||||
categories = ["gui", "wasm", "web-programming"]
|
||||
description = "A framework for creating reliable and efficient web applications"
|
||||
readme = "../../README.md"
|
||||
rust-version = "1.78.0"
|
||||
rust-version = "1.84.0"
|
||||
|
||||
[dependencies]
|
||||
console_error_panic_hook = "0.1"
|
||||
|
||||
@ -1,8 +1,5 @@
|
||||
use std::cell::Cell;
|
||||
#[rustversion::since(1.81)]
|
||||
use std::panic::PanicHookInfo as PanicInfo;
|
||||
#[rustversion::before(1.81)]
|
||||
use std::panic::PanicInfo;
|
||||
use std::rc::Rc;
|
||||
|
||||
use web_sys::Element;
|
||||
|
||||
@ -4,7 +4,7 @@ version = "0.1.0"
|
||||
edition = "2021"
|
||||
build = "build.rs"
|
||||
publish = false
|
||||
rust-version = "1.78"
|
||||
rust-version = "1.84.0"
|
||||
|
||||
[dependencies]
|
||||
yew-agent = { path = "../../packages/yew-agent/" }
|
||||
|
||||
@ -40,13 +40,7 @@ fn should_combine_code_blocks(path: &Path) -> io::Result<bool> {
|
||||
}
|
||||
let mut buf = [0u8; 32];
|
||||
file.read_exact(&mut buf)?;
|
||||
// TODO: Use trim_ascii_end() when MSRV is updated to 1.80+
|
||||
let trimmed = buf
|
||||
.iter()
|
||||
.rposition(|&b| !b.is_ascii_whitespace())
|
||||
.map(|i| &buf[..=i])
|
||||
.unwrap_or(&buf[..0]);
|
||||
Ok(trimmed.ends_with(FLAG))
|
||||
Ok(buf.trim_ascii_end().ends_with(FLAG))
|
||||
}
|
||||
|
||||
fn apply_diff(src: &mut String, preamble: &str, added: &str, removed: &str) -> Result {
|
||||
@ -123,8 +117,7 @@ fn combined_code_blocks(path: &Path) -> Result<String> {
|
||||
}
|
||||
removed += line;
|
||||
removed += "\n";
|
||||
// TODO: Use trim_ascii() when MSRV is updated to 1.80+
|
||||
} else if line.trim() == "// ..." {
|
||||
} else if line.trim_ascii() == "// ..." {
|
||||
// disregard the preamble
|
||||
preamble.clear();
|
||||
} else {
|
||||
|
||||
@ -199,9 +199,7 @@ Example: [ssr_router](https://github.com/yewstack/yew/tree/master/examples/ssr_r
|
||||
Yew supports single thread mode for server-side rendering by `yew::LocalServerRenderer`. This mode would work in a single thread environment like WASI.
|
||||
|
||||
```rust
|
||||
// Build it by `wasm32-wasip1` target or `wasm32-wasip2` target (after rustc 1.78).
|
||||
// You can still use `wasm32-wasi` target to build if you are using older version of rustc (before 1.84).
|
||||
// See https://blog.rust-lang.org/2024/04/09/updates-to-rusts-wasi-targets.html for more information.
|
||||
// Build using `wasm32-wasip1` target or `wasm32-wasip2` target.
|
||||
|
||||
use yew::prelude::*;
|
||||
use yew::LocalServerRenderer;
|
||||
|
||||
@ -11,7 +11,7 @@ bundler for Rust.
|
||||
To install Rust, follow the [official instructions](https://www.rust-lang.org/tools/install).
|
||||
|
||||
:::important
|
||||
The minimum supported Rust version (MSRV) for Yew is `1.78.0`. Older versions will not compile.
|
||||
The minimum supported Rust version (MSRV) for Yew is `1.84.0`. Older versions will not compile.
|
||||
You can check your toolchain version using
|
||||
`rustup show` (under "active toolchain") or `rustc --version`. To update your
|
||||
toolchain, run `rustup update`.
|
||||
|
||||
@ -133,9 +133,7 @@ fn main() {
|
||||
Yewは `yew::LocalServerRenderer` を使用してシングルスレッドでのサーバーサイドレンダリングをサポートしています。このモードはWASIのようなシングルスレッド環境に適しています。
|
||||
|
||||
```rust
|
||||
// Rustc 1.78以降では、`wasm32-wasip1` または `wasm32-wasip2` ターゲットを使用してビルドします。
|
||||
// 古いバージョンのRustc(1.84以前)を使用している場合は、`wasm32-wasi` ターゲットを使用してビルドすることもできます。
|
||||
// 詳細については、https://blog.rust-lang.org/2024/04/09/updates-to-rusts-wasi-targets.html を参照してください。
|
||||
// `wasm32-wasip1` または `wasm32-wasip2` ターゲットを使用してビルドしてください。
|
||||
|
||||
use yew::prelude::*;
|
||||
use yew::LocalServerRenderer;
|
||||
|
||||
@ -9,7 +9,7 @@ Yew アプリケーションをコンパイル、ビルド、パッケージ、
|
||||
Rust をインストールするには、[公式の手順](https://www.rust-lang.org/tools/install) に従ってください。
|
||||
|
||||
:::important
|
||||
Yew がサポートする最低 Rust バージョン(MSRV)は `1.78.0` です。古いバージョンではコンパイルできません。`rustup show`(「active toolchain」の下)または `rustc --version` を使用してツールチェーンのバージョンを確認できます。ツールチェーンを更新するには、`rustup update` を実行してください。
|
||||
Yew がサポートする最低 Rust バージョン(MSRV)は `1.84.0` です。古いバージョンではコンパイルできません。`rustup show`(「active toolchain」の下)または `rustc --version` を使用してツールチェーンのバージョンを確認できます。ツールチェーンを更新するには、`rustup update` を実行してください。
|
||||
:::
|
||||
|
||||
## WebAssembly ターゲットのインストール
|
||||
|
||||
@ -133,9 +133,7 @@ fn main() {
|
||||
Yewは `yew::LocalServerRenderer` を使用してシングルスレッドでのサーバーサイドレンダリングをサポートしています。このモードはWASIのようなシングルスレッド環境に適しています。
|
||||
|
||||
```rust
|
||||
// Rustc 1.78以降では、`wasm32-wasip1` または `wasm32-wasip2` ターゲットを使用してビルドします。
|
||||
// 古いバージョンのRustc(1.84以前)を使用している場合は、`wasm32-wasi` ターゲットを使用してビルドすることもできます。
|
||||
// 詳細については、https://blog.rust-lang.org/2024/04/09/updates-to-rusts-wasi-targets.html を参照してください。
|
||||
// `wasm32-wasip1` または `wasm32-wasip2` ターゲットを使用してビルドしてください。
|
||||
|
||||
use yew::prelude::*;
|
||||
use yew::LocalServerRenderer;
|
||||
|
||||
@ -9,7 +9,7 @@ Yew アプリケーションをコンパイル、ビルド、パッケージ、
|
||||
Rust をインストールするには、[公式の手順](https://www.rust-lang.org/tools/install) に従ってください。
|
||||
|
||||
:::important
|
||||
Yew がサポートする最低 Rust バージョン(MSRV)は `1.78.0` です。古いバージョンではコンパイルできません。`rustup show`(「active toolchain」の下)または `rustc --version` を使用してツールチェーンのバージョンを確認できます。ツールチェーンを更新するには、`rustup update` を実行してください。
|
||||
Yew がサポートする最低 Rust バージョン(MSRV)は `1.84.0` です。古いバージョンではコンパイルできません。`rustup show`(「active toolchain」の下)または `rustc --version` を使用してツールチェーンのバージョンを確認できます。ツールチェーンを更新するには、`rustup update` を実行してください。
|
||||
:::
|
||||
|
||||
## WebAssembly ターゲットのインストール
|
||||
|
||||
@ -133,9 +133,7 @@ fn main() {
|
||||
Yew 支持以单线程进行服务端渲染,通过 `yew::LocalServerRenderer`。这种模式适用于像 WASI 这样的单线程环境。
|
||||
|
||||
```rust
|
||||
// 在构建时使用 `wasm32-wasip1` 或 `wasm32-wasip2` 目标(在 rustc 1.78 之后)。
|
||||
// 如果您使用的是较旧版本的 rustc(1.84 之前),您仍然可以使用 `wasm32-wasi` 目标进行构建。
|
||||
// 有关更多信息,请参见 https://blog.rust-lang.org/2024/04/09/updates-to-rusts-wasi-targets.html。
|
||||
// 使用 `wasm32-wasip1` 或 `wasm32-wasip2` 目标构建。
|
||||
|
||||
use yew::prelude::*;
|
||||
use yew::LocalServerRenderer;
|
||||
|
||||
@ -9,7 +9,7 @@ title: '开始使用'
|
||||
要安装 Rust,请按照[官方说明](https://www.rust-lang.org/tools/install)。
|
||||
|
||||
:::important
|
||||
Yew 支持的最低 Rust 版本(MSRV)是 `1.78.0`。旧版本将无法编译。您可以使用 `rustup show`(在“active toolchain”下)或 `rustc --version` 检查您的工具链版本。要更新您的工具链,请运行 `rustup update`。
|
||||
Yew 支持的最低 Rust 版本(MSRV)是 `1.84.0`。旧版本将无法编译。您可以使用 `rustup show`(在“active toolchain”下)或 `rustc --version` 检查您的工具链版本。要更新您的工具链,请运行 `rustup update`。
|
||||
:::
|
||||
|
||||
## 安装 WebAssembly 目标
|
||||
|
||||
@ -133,9 +133,7 @@ fn main() {
|
||||
Yew 支持以单线程进行服务端渲染,通过 `yew::LocalServerRenderer`。这种模式适用于像 WASI 这样的单线程环境。
|
||||
|
||||
```rust
|
||||
// 在构建时使用 `wasm32-wasip1` 或 `wasm32-wasip2` 目标(在 rustc 1.78 之后)。
|
||||
// 如果您使用的是较旧版本的 rustc(1.84 之前),您仍然可以使用 `wasm32-wasi` 目标进行构建。
|
||||
// 有关更多信息,请参见 https://blog.rust-lang.org/2024/04/09/updates-to-rusts-wasi-targets.html。
|
||||
// 使用 `wasm32-wasip1` 或 `wasm32-wasip2` 目标构建。
|
||||
|
||||
use yew::prelude::*;
|
||||
use yew::LocalServerRenderer;
|
||||
|
||||
@ -9,7 +9,7 @@ title: '开始使用'
|
||||
要安装 Rust,请按照[官方说明](https://www.rust-lang.org/tools/install)。
|
||||
|
||||
:::important
|
||||
Yew 支持的最低 Rust 版本(MSRV)是 `1.78.0`。旧版本将无法编译。您可以使用 `rustup show`(在“active toolchain”下)或 `rustc --version` 检查您的工具链版本。要更新您的工具链,请运行 `rustup update`。
|
||||
Yew 支持的最低 Rust 版本(MSRV)是 `1.84.0`。旧版本将无法编译。您可以使用 `rustup show`(在“active toolchain”下)或 `rustc --version` 检查您的工具链版本。要更新您的工具链,请运行 `rustup update`。
|
||||
:::
|
||||
|
||||
## 安装 WebAssembly 目标
|
||||
|
||||
@ -133,9 +133,7 @@ fn main() {
|
||||
Yew 支援以單一執行緒進行服務端渲染,透過 `yew::LocalServerRenderer`。這種模式適用於像 WASI 這樣的單執行緒環境。
|
||||
|
||||
```rust
|
||||
// 建置時使用 `wasm32-wasip1` 或 `wasm32-wasip2` 目標(在 rustc 1.78 之後)。
|
||||
// 如果您使用的是較舊版本的 rustc(1.84 之前),您仍然可以使用 `wasm32-wasi` 目標進行建置。
|
||||
// 有關更多信息,請參見 https://blog.rust-lang.org/2024/04/09/updates-to-rusts-wasi-targets.html。
|
||||
// 使用 `wasm32-wasip1` 或 `wasm32-wasip2` 目標建置。
|
||||
|
||||
use yew::prelude::*;
|
||||
use yew::LocalServerRenderer;
|
||||
|
||||
@ -9,7 +9,7 @@ title: '開始使用'
|
||||
要安裝 Rust,請按照[官方說明](https://www.rust-lang.org/tools/install)。
|
||||
|
||||
:::important
|
||||
Yew 支援的最低 Rust 版本(MSRV)是 `1.78.0`。舊版將無法編譯。您可以使用 `rustup show`(在「active toolchain」下)或 `rustc --version` 檢查您的工具鏈版本。若要更新您的工具鏈,請執行 `rustup update`。
|
||||
Yew 支援的最低 Rust 版本(MSRV)是 `1.84.0`。舊版將無法編譯。您可以使用 `rustup show`(在「active toolchain」下)或 `rustc --version` 檢查您的工具鏈版本。若要更新您的工具鏈,請執行 `rustup update`。
|
||||
:::
|
||||
|
||||
## 安裝 WebAssembly 目標
|
||||
|
||||
@ -133,9 +133,7 @@ fn main() {
|
||||
Yew 支援以單一執行緒進行服務端渲染,透過 `yew::LocalServerRenderer`。這種模式適用於像 WASI 這樣的單執行緒環境。
|
||||
|
||||
```rust
|
||||
// 建置時使用 `wasm32-wasip1` 或 `wasm32-wasip2` 目標(在 rustc 1.78 之後)。
|
||||
// 如果您使用的是較舊版本的 rustc(1.84 之前),您仍然可以使用 `wasm32-wasi` 目標進行建置。
|
||||
// 有關更多信息,請參見 https://blog.rust-lang.org/2024/04/09/updates-to-rusts-wasi-targets.html。
|
||||
// 使用 `wasm32-wasip1` 或 `wasm32-wasip2` 目標建置。
|
||||
|
||||
use yew::prelude::*;
|
||||
use yew::LocalServerRenderer;
|
||||
|
||||
@ -9,7 +9,7 @@ title: '開始使用'
|
||||
要安裝 Rust,請按照[官方說明](https://www.rust-lang.org/tools/install)。
|
||||
|
||||
:::important
|
||||
Yew 支援的最低 Rust 版本(MSRV)是 `1.78.0`。舊版將無法編譯。您可以使用 `rustup show`(在「active toolchain」下)或 `rustc --version` 檢查您的工具鏈版本。若要更新您的工具鏈,請執行 `rustup update`。
|
||||
Yew 支援的最低 Rust 版本(MSRV)是 `1.84.0`。舊版將無法編譯。您可以使用 `rustup show`(在「active toolchain」下)或 `rustc --version` 檢查您的工具鏈版本。若要更新您的工具鏈,請執行 `rustup update`。
|
||||
:::
|
||||
|
||||
## 安裝 WebAssembly 目標
|
||||
|
||||
@ -199,9 +199,7 @@ Example: [ssr_router](https://github.com/yewstack/yew/tree/master/examples/ssr_r
|
||||
Yew supports single thread mode for server-side rendering by `yew::LocalServerRenderer`. This mode would work in a single thread environment like WASI.
|
||||
|
||||
```rust
|
||||
// Build it by `wasm32-wasip1` target or `wasm32-wasip2` target (after rustc 1.78).
|
||||
// You can still use `wasm32-wasi` target to build if you are using older version of rustc (before 1.84).
|
||||
// See https://blog.rust-lang.org/2024/04/09/updates-to-rusts-wasi-targets.html for more information.
|
||||
// Build using `wasm32-wasip1` target or `wasm32-wasip2` target.
|
||||
|
||||
use yew::prelude::*;
|
||||
use yew::LocalServerRenderer;
|
||||
|
||||
@ -11,7 +11,7 @@ bundler for Rust.
|
||||
To install Rust, follow the [official instructions](https://www.rust-lang.org/tools/install).
|
||||
|
||||
:::important
|
||||
The minimum supported Rust version (MSRV) for Yew is `1.78.0`. Older versions will not compile.
|
||||
The minimum supported Rust version (MSRV) for Yew is `1.84.0`. Older versions will not compile.
|
||||
You can check your toolchain version using
|
||||
`rustup show` (under "active toolchain") or `rustc --version`. To update your
|
||||
toolchain, run `rustup update`.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user