error: this opening tag has no corresponding closing tag --> tests/html_macro/component-fail.rs:43:13 | 43 | html! { }; | ^^^^^^^ error: unexpected end of input, expected identifier --> tests/html_macro/component-fail.rs:44:13 | 44 | html! { }; | ^^^^^^^^^^^ error: `with` doesn't have a value. (hint: set the value to `true` or `false` for boolean attributes) --> tests/html_macro/component-fail.rs:45:20 | 45 | html! { }; | ^^^^ error: expected base props expression after `..` --> tests/html_macro/component-fail.rs:46:20 | 46 | html! { }; | ^^ error: unexpected end of input, expected an expression --> tests/html_macro/component-fail.rs:46:13 | 46 | html! { }; | ^^^^^^^^^^^^ error: expected base props expression after `..` --> tests/html_macro/component-fail.rs:47:20 | 47 | html! { }; | ^^ error: unexpected end of input, expected an expression --> tests/html_macro/component-fail.rs:47:28 | 47 | html! { }; | ^ error: `props` doesn't have a value. (hint: set the value to `true` or `false` for boolean attributes) --> tests/html_macro/component-fail.rs:48:20 | 48 | html! { }; | ^^^^^ error: `with` doesn't have a value. (hint: set the value to `true` or `false` for boolean attributes) --> tests/html_macro/component-fail.rs:49:20 | 49 | html! { }; | ^^^^ error: this opening tag has no corresponding closing tag --> tests/html_macro/component-fail.rs:50:13 | 50 | html! { }; | ^^^^^^^^^^^^^^^^ error: `with` doesn't have a value. (hint: set the value to `true` or `false` for boolean attributes) --> tests/html_macro/component-fail.rs:52:20 | 52 | html! { }; | ^^^^ error: `with` doesn't have a value. (hint: set the value to `true` or `false` for boolean attributes) --> tests/html_macro/component-fail.rs:54:20 | 54 | html! { }; | ^^^^ error: base props expression must appear last in list of props --> tests/html_macro/component-fail.rs:55:20 | 55 | html! { }; | ^^^^^^^ error: `with` doesn't have a value. (hint: set the value to `true` or `false` for boolean attributes) --> tests/html_macro/component-fail.rs:56:20 | 56 | html! { }; | ^^^^ error: base props expression must appear last in list of props --> tests/html_macro/component-fail.rs:57:20 | 57 | html! { }; | ^^^^^^^ error: `with` doesn't have a value. (hint: set the value to `true` or `false` for boolean attributes) --> tests/html_macro/component-fail.rs:58:20 | 58 | html! { }; | ^^^^ error: base props expression must appear last in list of props --> tests/html_macro/component-fail.rs:59:20 | 59 | html! { }; | ^^^^^^^ error: `with` doesn't have a value. (hint: set the value to `true` or `false` for boolean attributes) --> tests/html_macro/component-fail.rs:60:20 | 60 | html! { }; | ^^^^ error: base props expression must appear last in list of props --> tests/html_macro/component-fail.rs:61:20 | 61 | html! { }; | ^^^^^^^ error: `with` doesn't have a value. (hint: set the value to `true` or `false` for boolean attributes) --> tests/html_macro/component-fail.rs:62:28 | 62 | html! { }; | ^^^^ error: base props expression must appear last in list of props --> tests/html_macro/component-fail.rs:63:28 | 63 | html! { }; | ^^^^^^^ error: `with` doesn't have a value. (hint: set the value to `true` or `false` for boolean attributes) --> tests/html_macro/component-fail.rs:64:37 | 64 | html! { }; | ^^^^ error: base props expression must appear last in list of props --> tests/html_macro/component-fail.rs:65:37 | 65 | html! { }; | ^^^^^^^ error: `with` doesn't have a value. (hint: set the value to `true` or `false` for boolean attributes) --> tests/html_macro/component-fail.rs:66:47 | 66 | html! { }; | ^^^^ error: `ref` can only be specified once --> tests/html_macro/component-fail.rs:67:29 | 67 | html! { }; | ^^^ error: `with` doesn't have a value. (hint: set the value to `true` or `false` for boolean attributes) --> tests/html_macro/component-fail.rs:68:20 | 68 | html! { }; | ^^^^ error: base props expression must appear last in list of props --> tests/html_macro/component-fail.rs:69:20 | 69 | html! { }; | ^^^^^^^ error: `with` doesn't have a value. (hint: set the value to `true` or `false` for boolean attributes) --> tests/html_macro/component-fail.rs:70:20 | 70 | html! { }; | ^^^^ error: base props expression must appear last in list of props --> tests/html_macro/component-fail.rs:71:20 | 71 | html! { }; | ^^^^^^^ error: `with` doesn't have a value. (hint: set the value to `true` or `false` for boolean attributes) --> tests/html_macro/component-fail.rs:72:20 | 72 | html! { }; | ^^^^ error: base props expression must appear last in list of props --> tests/html_macro/component-fail.rs:73:20 | 73 | html! { }; | ^^^^^^^ error: `with` doesn't have a value. (hint: set the value to `true` or `false` for boolean attributes) --> tests/html_macro/component-fail.rs:74:20 | 74 | html! { }; | ^^^^ error: base props expression must appear last in list of props --> tests/html_macro/component-fail.rs:75:20 | 75 | html! { }; | ^^^^^^^ error: `with` doesn't have a value. (hint: set the value to `true` or `false` for boolean attributes) --> tests/html_macro/component-fail.rs:76:28 | 76 | html! { }; | ^^^^ error: base props expression must appear last in list of props --> tests/html_macro/component-fail.rs:77:28 | 77 | html! { }; | ^^^^^^^ error: `with` doesn't have a value. (hint: set the value to `true` or `false` for boolean attributes) --> tests/html_macro/component-fail.rs:78:39 | 78 | html! { }; | ^^^^ error: base props expression must appear last in list of props --> tests/html_macro/component-fail.rs:79:39 | 79 | html! { }; | ^^^^^^^ error: `with` doesn't have a value. (hint: set the value to `true` or `false` for boolean attributes) --> tests/html_macro/component-fail.rs:80:51 | 80 | html! { }; | ^^^^ error: `r#ref` can only be specified once but is given here again --> tests/html_macro/component-fail.rs:81:31 | 81 | html! { }; | ^^^^^ error: base props expression must appear last in list of props --> tests/html_macro/component-fail.rs:84:20 | 84 | html! { }; | ^^^^^^^^ error: expected identifier, found keyword `type` --> tests/html_macro/component-fail.rs:85:20 | 85 | html! { }; | ^^^^ expected identifier, found keyword | help: escape `type` to use it as an identifier | 85 | html! { }; | ++ error: the property value must be either a literal or enclosed in braces. Consider adding braces around your expression.: Expr::Tuple { attrs: [], paren_token: Paren, elems: [], } --> tests/html_macro/component-fail.rs:86:24 | 86 | html! { }; | ^^ error: expected a valid Rust identifier --> tests/html_macro/component-fail.rs:87:20 | 87 | html! { }; | ^^^^^^^^^^^^^^^^^ error: expected an expression following this equals sign --> tests/html_macro/component-fail.rs:89:26 | 89 | html! { }; | ^ error: `int` can only be specified once but is given here again --> tests/html_macro/component-fail.rs:90:26 | 90 | html! { }; | ^^^ error: `int` can only be specified once but is given here again --> tests/html_macro/component-fail.rs:90:32 | 90 | html! { }; | ^^^ error: cannot use `ref` with components. If you want to specify a property, use `r#ref` here instead. --> tests/html_macro/component-fail.rs:94:26 | 94 | html! { }; | ^^^ error: `ref` can only be specified once --> tests/html_macro/component-fail.rs:95:35 | 95 | html! { }; | ^^^ error: `r#ref` can only be specified once but is given here again --> tests/html_macro/component-fail.rs:97:37 | 97 | html! { }; | ^^^^^ error: this closing tag has no corresponding opening tag --> tests/html_macro/component-fail.rs:100:13 | 100 | html! { }; | ^^^^^^^^ error: this opening tag has no corresponding closing tag --> tests/html_macro/component-fail.rs:101:13 | 101 | html! { }; | ^^^^^^^ error: only one root html element is allowed (hint: you can wrap multiple html elements in a fragment `<>`) --> tests/html_macro/component-fail.rs:102:28 | 102 | html! { }; | ^^^^^^^^^^^^^^^ error: the property value must be either a literal or enclosed in braces. Consider adding braces around your expression.: Expr::Path { attrs: [], qself: None, path: Path { leading_colon: None, segments: [ PathSegment { ident: Ident { ident: "num", span: #0 bytes(3894..3897), }, arguments: PathArguments::None, }, ], }, } --> tests/html_macro/component-fail.rs:106:24 | 106 | html! { }; | ^^^ error: cannot specify the `children` prop when the component already has children --> tests/html_macro/component-fail.rs:124:26 | 124 | | ^^^^^^^^ error: only one root html element is allowed (hint: you can wrap multiple html elements in a fragment `<>`) --> tests/html_macro/component-fail.rs:131:9 | 131 | { 2 } | ^^^^^^^^^^^^^^^^^^ error: only simple identifiers are allowed in the shorthand property syntax --> tests/html_macro/component-fail.rs:134:21 | 134 | html! { }; | ^^^^^^^^^^^^^^^^^^^^ error: missing label for property value. If trying to use the shorthand property syntax, only identifiers may be used --> tests/html_macro/component-fail.rs:135:21 | 135 | html! { }; | ^^^^^ error: missing label for property value. If trying to use the shorthand property syntax, only identifiers may be used --> tests/html_macro/component-fail.rs:136:21 | 136 | html! { }; | ^^^^^^^^^^^^^^ error: only an expression may be assigned as a property --> tests/html_macro/component-fail.rs:147:34 | 147 | html! { }; | ^^^^^^^^^^^^^^^^^^^^^^^^ error: mismatched closing tags: expected `A`, found `B` --> tests/html_macro/component-fail.rs:177:22 | 177 | let _ = html! { }; | ^^^^^ error: expected a valid closing tag for component note: found opening tag `` help: try `` --> tests/html_macro/component-fail.rs:178:24 | 178 | let _ = html! { }; | ^^^ error[E0425]: cannot find value `blah` in this scope --> tests/html_macro/component-fail.rs:82:22 | 82 | html! { }; | ^^^^ not found in this scope error[E0425]: cannot find value `props` in this scope --> tests/html_macro/component-fail.rs:83:30 | 83 | html! { }; | ^^^^^ not found in this scope error[E0308]: mismatched types --> tests/html_macro/component-fail.rs:53:22 | 53 | html! { }; | ----- ^^^^^^^ expected struct `ChildProperties`, found struct `std::ops::Range` | | | expected due to this | = note: expected struct `ChildProperties` found struct `std::ops::Range<_>` error[E0609]: no field `value` on type `ChildProperties` --> tests/html_macro/component-fail.rs:83:20 | 83 | html! { }; | ^^^^^ unknown field | = note: available fields are: `string`, `int` error[E0609]: no field `r#type` on type `ChildProperties` --> tests/html_macro/component-fail.rs:85:20 | 85 | html! { }; | ^^^^ unknown field | = note: available fields are: `string`, `int` error[E0599]: no method named `r#type` found for struct `ChildPropertiesBuilder` in the current scope --> tests/html_macro/component-fail.rs:85:20 | 4 | #[derive(Clone, Properties, PartialEq)] | ---------- method `r#type` not found for this struct ... 85 | html! { }; | ^^^^ method not found in `ChildPropertiesBuilder` error[E0609]: no field `unknown` on type `ChildProperties` --> tests/html_macro/component-fail.rs:88:20 | 88 | html! { }; | ^^^^^^^ unknown field | = note: available fields are: `string`, `int` error[E0599]: no method named `unknown` found for struct `ChildPropertiesBuilder` in the current scope --> tests/html_macro/component-fail.rs:88:20 | 4 | #[derive(Clone, Properties, PartialEq)] | ---------- method `unknown` not found for this struct ... 88 | html! { }; | ^^^^^^^ method not found in `ChildPropertiesBuilder` error[E0277]: the trait bound `(): IntoPropValue` is not satisfied --> tests/html_macro/component-fail.rs:91:33 | 91 | html! { }; | ------ ^^ the trait `IntoPropValue` is not implemented for `()` | | | required by a bound introduced by this call | = help: the following other types implement trait `IntoPropValue`: <&'static [(K, V)] as IntoPropValue>> <&'static [T] as IntoPropValue>> <&'static str as IntoPropValue> <&'static str as IntoPropValue>> <&'static str as IntoPropValue>> <&'static str as IntoPropValue> <&'static str as IntoPropValue> <&T as IntoPropValue>> and $N others note: required by a bound in `ChildPropertiesBuilder::string` --> tests/html_macro/component-fail.rs:4:17 | 4 | #[derive(Clone, Properties, PartialEq)] | ^^^^^^^^^^ required by this bound in `ChildPropertiesBuilder::string` ... 7 | pub string: String, | ------ required by a bound in this = note: this error originates in the derive macro `Properties` (in Nightly builds, run with -Z macro-backtrace for more info) error[E0277]: the trait bound `{integer}: IntoPropValue` is not satisfied --> tests/html_macro/component-fail.rs:92:33 | 92 | html! { }; | ------ ^ the trait `IntoPropValue` is not implemented for `{integer}` | | | required by a bound introduced by this call | = help: the following other types implement trait `IntoPropValue`: f32 f64 i128 i16 i32 i64 i8 isize and $N others note: required by a bound in `ChildPropertiesBuilder::string` --> tests/html_macro/component-fail.rs:4:17 | 4 | #[derive(Clone, Properties, PartialEq)] | ^^^^^^^^^^ required by this bound in `ChildPropertiesBuilder::string` ... 7 | pub string: String, | ------ required by a bound in this = note: this error originates in the derive macro `Properties` (in Nightly builds, run with -Z macro-backtrace for more info) error[E0277]: the trait bound `{integer}: IntoPropValue` is not satisfied --> tests/html_macro/component-fail.rs:93:34 | 93 | html! { }; | ------ ^ the trait `IntoPropValue` is not implemented for `{integer}` | | | required by a bound introduced by this call | = help: the following other types implement trait `IntoPropValue`: f32 f64 i128 i16 i32 i64 i8 isize and $N others note: required by a bound in `ChildPropertiesBuilder::string` --> tests/html_macro/component-fail.rs:4:17 | 4 | #[derive(Clone, Properties, PartialEq)] | ^^^^^^^^^^ required by this bound in `ChildPropertiesBuilder::string` ... 7 | pub string: String, | ------ required by a bound in this = note: this error originates in the derive macro `Properties` (in Nightly builds, run with -Z macro-backtrace for more info) error[E0609]: no field `r#ref` on type `ChildProperties` --> tests/html_macro/component-fail.rs:96:26 | 96 | html! { }; | ^^^^^ unknown field | = note: available fields are: `string`, `int` error[E0599]: no method named `r#ref` found for struct `ChildPropertiesBuilder` in the current scope --> tests/html_macro/component-fail.rs:96:26 | 4 | #[derive(Clone, Properties, PartialEq)] | ---------- method `r#ref` not found for this struct ... 96 | html! { }; | ^^^^^ method not found in `ChildPropertiesBuilder` error[E0277]: the trait bound `u32: IntoPropValue` is not satisfied --> tests/html_macro/component-fail.rs:98:24 | 98 | html! { }; | --- ^^^^ the trait `IntoPropValue` is not implemented for `u32` | | | required by a bound introduced by this call | = help: the following other types implement trait `IntoPropValue`: f32 f64 i128 i16 i32 i64 i8 isize and $N others note: required by a bound in `ChildPropertiesBuilder::int` --> tests/html_macro/component-fail.rs:4:17 | 4 | #[derive(Clone, Properties, PartialEq)] | ^^^^^^^^^^ required by this bound in `ChildPropertiesBuilder::int` ... 8 | pub int: i32, | --- required by a bound in this = note: this error originates in the derive macro `Properties` (in Nightly builds, run with -Z macro-backtrace for more info) error[E0277]: the trait bound `AssertAllProps: HasProp` is not satisfied --> tests/html_macro/component-fail.rs:99:14 | 99 | html! { }; | ^^^^^ the trait `HasProp` is not implemented for `AssertAllProps` | = help: the following other types implement trait `HasProp`: as HasProp>> as HasProp>> as HasProp>> as HasProp>> as HasProp>> as HasProp>> as HasProp<_ChildContainerProperties::children, HasChildContainerPropertieschildren>> as HasProp>> and $N others note: required because of the requirements on the impl of `HasAllProps` for `CheckChildPropertiesAll` --> tests/html_macro/component-fail.rs:4:17 | 4 | #[derive(Clone, Properties, PartialEq)] | ^^^^^^^^^^ = note: required because of the requirements on the impl of `AllPropsFor` for `AssertAllProps` note: required by a bound in `yew::html::component::properties::__macro::PreBuild::::build` --> $WORKSPACE/packages/yew/src/html/component/properties.rs | | Token: AllPropsFor, | ^^^^^^^^^^^^^^^^^^^ required by this bound in `yew::html::component::properties::__macro::PreBuild::::build` = note: this error originates in the macro `html` which comes from the expansion of the derive macro `Properties` (in Nightly builds, run with -Z macro-backtrace for more info) error[E0609]: no field `children` on type `ChildProperties` --> tests/html_macro/component-fail.rs:103:14 | 103 | html! { { "Not allowed" } }; | ^^^^^ unknown field | = note: available fields are: `string`, `int` = note: this error originates in the macro `html` (in Nightly builds, run with -Z macro-backtrace for more info) error[E0599]: no method named `children` found for struct `ChildPropertiesBuilder` in the current scope --> tests/html_macro/component-fail.rs:103:14 | 4 | #[derive(Clone, Properties, PartialEq)] | ---------- method `children` not found for this struct ... 103 | html! { { "Not allowed" } }; | ^^^^^ method not found in `ChildPropertiesBuilder` | = note: this error originates in the macro `html` (in Nightly builds, run with -Z macro-backtrace for more info) error[E0609]: no field `children` on type `ChildProperties` --> tests/html_macro/component-fail.rs:110:10 | 110 | | ^^^^^ unknown field | = note: available fields are: `string`, `int` = note: this error originates in the macro `html` (in Nightly builds, run with -Z macro-backtrace for more info) error[E0277]: the trait bound `AssertAllProps: HasProp<_ChildContainerProperties::children, _>` is not satisfied --> tests/html_macro/component-fail.rs:115:14 | 115 | html! { }; | ^^^^^^^^^^^^^^ the trait `HasProp<_ChildContainerProperties::children, _>` is not implemented for `AssertAllProps` | = help: the following other types implement trait `HasProp`: as HasProp>> as HasProp>> as HasProp>> as HasProp>> as HasProp>> as HasProp>> as HasProp<_ChildContainerProperties::children, HasChildContainerPropertieschildren>> as HasProp>> and $N others note: required because of the requirements on the impl of `HasAllProps` for `CheckChildContainerPropertiesAll` --> tests/html_macro/component-fail.rs:24:17 | 24 | #[derive(Clone, Properties, PartialEq)] | ^^^^^^^^^^ = note: required because of the requirements on the impl of `AllPropsFor` for `AssertAllProps` note: required by a bound in `yew::html::component::properties::__macro::PreBuild::::build` --> $WORKSPACE/packages/yew/src/html/component/properties.rs | | Token: AllPropsFor, | ^^^^^^^^^^^^^^^^^^^ required by this bound in `yew::html::component::properties::__macro::PreBuild::::build` = note: this error originates in the macro `html` which comes from the expansion of the derive macro `Properties` (in Nightly builds, run with -Z macro-backtrace for more info) error[E0277]: the trait bound `AssertAllProps: HasProp<_ChildContainerProperties::children, _>` is not satisfied --> tests/html_macro/component-fail.rs:116:14 | 116 | html! { }; | ^^^^^^^^^^^^^^ the trait `HasProp<_ChildContainerProperties::children, _>` is not implemented for `AssertAllProps` | = help: the following other types implement trait `HasProp`: as HasProp>> as HasProp>> as HasProp>> as HasProp>> as HasProp>> as HasProp>> as HasProp<_ChildContainerProperties::children, HasChildContainerPropertieschildren>> as HasProp>> and $N others note: required because of the requirements on the impl of `HasAllProps` for `CheckChildContainerPropertiesAll` --> tests/html_macro/component-fail.rs:24:17 | 24 | #[derive(Clone, Properties, PartialEq)] | ^^^^^^^^^^ = note: required because of the requirements on the impl of `AllPropsFor` for `AssertAllProps` note: required by a bound in `yew::html::component::properties::__macro::PreBuild::::build` --> $WORKSPACE/packages/yew/src/html/component/properties.rs | | Token: AllPropsFor, | ^^^^^^^^^^^^^^^^^^^ required by this bound in `yew::html::component::properties::__macro::PreBuild::::build` = note: this error originates in the macro `html` which comes from the expansion of the derive macro `Properties` (in Nightly builds, run with -Z macro-backtrace for more info) error[E0277]: the trait bound `yew::virtual_dom::VText: IntoPropValue>>` is not satisfied --> tests/html_macro/component-fail.rs:117:14 | 117 | html! { { "Not allowed" } }; | ^^^^^^^^^^^^^^ the trait `IntoPropValue>>` is not implemented for `yew::virtual_dom::VText` | = help: the trait `IntoPropValue>` is implemented for `yew::virtual_dom::VText` note: required by a bound in `ChildContainerPropertiesBuilder::children` --> tests/html_macro/component-fail.rs:24:17 | 24 | #[derive(Clone, Properties, PartialEq)] | ^^^^^^^^^^ required by this bound in `ChildContainerPropertiesBuilder::children` 25 | pub struct ChildContainerProperties { 26 | pub children: ChildrenWithProps, | -------- required by a bound in this = note: this error originates in the macro `html` which comes from the expansion of the derive macro `Properties` (in Nightly builds, run with -Z macro-backtrace for more info) error[E0277]: the trait bound `VChild: From` is not satisfied --> tests/html_macro/component-fail.rs:118:29 | 118 | html! { <> }; | ^ the trait `From` is not implemented for `VChild` | = note: required because of the requirements on the impl of `Into>` for `VNode` error[E0277]: the trait bound `VNode: IntoPropValue>>` is not satisfied --> tests/html_macro/component-fail.rs:119:14 | 119 | html! { }; | ^^^^^^^^^^^^^^ the trait `IntoPropValue>>` is not implemented for `VNode` | = help: the trait `IntoPropValue>` is implemented for `VNode` note: required by a bound in `ChildContainerPropertiesBuilder::children` --> tests/html_macro/component-fail.rs:24:17 | 24 | #[derive(Clone, Properties, PartialEq)] | ^^^^^^^^^^ required by this bound in `ChildContainerPropertiesBuilder::children` 25 | pub struct ChildContainerProperties { 26 | pub children: ChildrenWithProps, | -------- required by a bound in this = note: this error originates in the macro `html` which comes from the expansion of the derive macro `Properties` (in Nightly builds, run with -Z macro-backtrace for more info)