error[E0277]: the trait bound `ExternalType: slate_framework::Element` is not satisfied
--> tests/compile_fail/sealed_external_impl.rs:9:20
|
9 | type Element = ExternalType;
| ^^^^^^^^^^^^ unsatisfied trait bound
|
help: the trait `slate_framework::Element` is not implemented for `ExternalType`
--> tests/compile_fail/sealed_external_impl.rs:6:1
|
6 | struct ExternalType;
| ^^^^^^^^^^^^^^^^^^^
help: the following other types implement trait `slate_framework::Element`
--> src/elements/text.rs
|
| impl Element for Text {
| ^^^^^^^^^^^^^^^^^^^^^ `slate_framework::Text`
|
::: src/elements/div.rs
|
| impl Element for Div {
| ^^^^^^^^^^^^^^^^^^^^ `slate_framework::Div`
note: required by a bound in `slate_framework::IntoElement::Element`
--> src/element.rs
|
| type Element: Element;
| ^^^^^^^ required by this bound in `IntoElement::Element`
error[E0277]: the trait bound `ExternalType: element::sealed::Sealed` is not satisfied
--> tests/compile_fail/sealed_external_impl.rs:10:5
|
10 | fn into_element(self) -> Self::Element {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
|
help: the trait `element::sealed::Sealed` is not implemented for `ExternalType`
--> tests/compile_fail/sealed_external_impl.rs:6:1
|
6 | struct ExternalType;
| ^^^^^^^^^^^^^^^^^^^
= note: `ExternalType` implements similarly named trait `unicode_width::private::Sealed`, but not `element::sealed::Sealed`
help: the following other types implement trait `element::sealed::Sealed`
--> src/elements/text.rs
|
| impl Sealed for Text {}
| ^^^^^^^^^^^^^^^^^^^^ `slate_framework::Text`
...
| impl Sealed for &'static str {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `&'static str`
...
| impl Sealed for String {}
| ^^^^^^^^^^^^^^^^^^^^^^ `String`
|
::: src/elements/div.rs
|
| impl Sealed for Div {}
| ^^^^^^^^^^^^^^^^^^^ `slate_framework::Div`
note: required by a bound in `IntoElement`
--> src/element.rs
|
| pub trait IntoElement: sealed::Sealed {
| ^^^^^^^^^^^^^^ required by this bound in `IntoElement`
= note: `IntoElement` is a "sealed trait", because to implement it you also need to implement `slate_framework::element::sealed::Sealed`, which is not accessible; this is usually done to force you to use one of the provided types that already implement it
= help: the following types implement the trait:
slate_framework::Div
slate_framework::Text
&'static str
std::string::String
error[E0277]: the trait bound `ExternalType: element::sealed::Sealed` is not satisfied
--> tests/compile_fail/sealed_external_impl.rs:8:39
|
8 | impl slate_framework::IntoElement for ExternalType {
| ^^^^^^^^^^^^ unsatisfied trait bound
|
help: the trait `element::sealed::Sealed` is not implemented for `ExternalType`
--> tests/compile_fail/sealed_external_impl.rs:6:1
|
6 | struct ExternalType;
| ^^^^^^^^^^^^^^^^^^^
= note: `ExternalType` implements similarly named trait `unicode_width::private::Sealed`, but not `element::sealed::Sealed`
help: the following other types implement trait `element::sealed::Sealed`
--> src/elements/text.rs
|
| impl Sealed for Text {}
| ^^^^^^^^^^^^^^^^^^^^ `slate_framework::Text`
...
| impl Sealed for &'static str {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `&'static str`
...
| impl Sealed for String {}
| ^^^^^^^^^^^^^^^^^^^^^^ `String`
|
::: src/elements/div.rs
|
| impl Sealed for Div {}
| ^^^^^^^^^^^^^^^^^^^ `slate_framework::Div`
note: required by a bound in `IntoElement`
--> src/element.rs
|
| pub trait IntoElement: sealed::Sealed {
| ^^^^^^^^^^^^^^ required by this bound in `IntoElement`
= note: `IntoElement` is a "sealed trait", because to implement it you also need to implement `slate_framework::element::sealed::Sealed`, which is not accessible; this is usually done to force you to use one of the provided types that already implement it
= help: the following types implement the trait:
slate_framework::Div
slate_framework::Text
&'static str
std::string::String