summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--examples/tour/src/main.rs10
-rw-r--r--native/src/widget/checkbox.rs4
-rw-r--r--native/src/widget/radio.rs9
3 files changed, 14 insertions, 9 deletions
diff --git a/examples/tour/src/main.rs b/examples/tour/src/main.rs
index 800254ed..c9678b9d 100644
--- a/examples/tour/src/main.rs
+++ b/examples/tour/src/main.rs
@@ -530,7 +530,7 @@ impl<'a> Step {
|choices, language| {
choices.push(Radio::new(
language,
- language.into(),
+ language,
selection,
StepMessage::LanguageSelected,
))
@@ -729,16 +729,16 @@ impl Language {
}
}
-impl From<Language> for &str {
- fn from(language: Language) -> &'static str {
- match language {
+impl From<Language> for String {
+ fn from(language: Language) -> String {
+ String::from(match language {
Language::Rust => "Rust",
Language::Elm => "Elm",
Language::Ruby => "Ruby",
Language::Haskell => "Haskell",
Language::C => "C",
Language::Other => "Other",
- }
+ })
}
}
diff --git a/native/src/widget/checkbox.rs b/native/src/widget/checkbox.rs
index 7f915456..ccf13848 100644
--- a/native/src/widget/checkbox.rs
+++ b/native/src/widget/checkbox.rs
@@ -50,14 +50,14 @@ impl<Message, Renderer: self::Renderer + text::Renderer>
/// `Message`.
///
/// [`Checkbox`]: struct.Checkbox.html
- pub fn new<F>(is_checked: bool, label: &str, f: F) -> Self
+ pub fn new<F>(is_checked: bool, label: impl Into<String>, f: F) -> Self
where
F: 'static + Fn(bool) -> Message,
{
Checkbox {
is_checked,
on_toggle: Box::new(f),
- label: String::from(label),
+ label: label.into(),
width: Length::Shrink,
size: <Renderer as self::Renderer>::DEFAULT_SIZE,
spacing: Renderer::DEFAULT_SPACING,
diff --git a/native/src/widget/radio.rs b/native/src/widget/radio.rs
index 8fb3d0cc..bc23c116 100644
--- a/native/src/widget/radio.rs
+++ b/native/src/widget/radio.rs
@@ -53,7 +53,12 @@ impl<Message, Renderer: self::Renderer> Radio<Message, Renderer> {
/// receives the value of the radio and must produce a `Message`.
///
/// [`Radio`]: struct.Radio.html
- pub fn new<F, V>(value: V, label: &str, selected: Option<V>, f: F) -> Self
+ pub fn new<F, V>(
+ value: V,
+ label: impl Into<String>,
+ selected: Option<V>,
+ f: F,
+ ) -> Self
where
V: Eq + Copy,
F: 'static + Fn(V) -> Message,
@@ -61,7 +66,7 @@ impl<Message, Renderer: self::Renderer> Radio<Message, Renderer> {
Radio {
is_selected: Some(value) == selected,
on_click: f(value),
- label: String::from(label),
+ label: label.into(),
style: Renderer::Style::default(),
}
}