Merge branch 'master' into feature/test-recorder

This commit is contained in:
Héctor Ramón Jiménez 2025-07-08 00:29:55 +02:00
commit 98d8f466bb
No known key found for this signature in database
GPG key ID: 7CC46565708259A7
98 changed files with 643 additions and 204 deletions

View file

@ -36,7 +36,7 @@ impl Arc {
self.cache.clear();
}
fn view(&self) -> Element<Message> {
fn view(&self) -> Element<'_, Message> {
Canvas::new(self).width(Fill).height(Fill).into()
}

View file

@ -34,7 +34,7 @@ impl Example {
}
}
fn view(&self) -> Element<Message> {
fn view(&self) -> Element<'_, Message> {
container(hover(
self.bezier.view(&self.curves).map(Message::AddCurve),
if self.curves.is_empty() {

View file

@ -217,7 +217,7 @@ impl Generator {
}
}
fn view(&self) -> Element<Message> {
fn view(&self) -> Element<'_, Message> {
match self {
Self::Loading => center("Loading...").into(),
Self::Done => center(

View file

@ -38,7 +38,7 @@ impl Example {
}
}
fn view(&self) -> Element<Message> {
fn view(&self) -> Element<'_, Message> {
let default_checkbox = checkbox("Default", self.default)
.on_toggle(Message::DefaultToggled);

View file

@ -48,7 +48,7 @@ impl Clock {
}
}
fn view(&self) -> Element<Message> {
fn view(&self) -> Element<'_, Message> {
let canvas = canvas(self as &Self).width(Fill).height(Fill);
container(canvas).padding(20).into()
@ -166,7 +166,7 @@ impl<Message> canvas::Program<Message> for Clock {
let y = radius * angle.0.sin();
frame.fill_text(canvas::Text {
content: format!("{}", hour),
content: format!("{hour}"),
size: (radius / 5.0).into(),
position: Point::new(x * 0.82, y * 0.82),
color: palette.secondary.strong.text,

View file

@ -56,7 +56,7 @@ impl ColorPalette {
self.theme = Theme::new(to_color(srgb));
}
fn view(&self) -> Element<Message> {
fn view(&self) -> Element<'_, Message> {
let base = self.theme.base;
let srgb = to_rgb(base);
@ -149,7 +149,7 @@ impl Theme {
.chain(self.higher.iter())
}
pub fn view(&self) -> Element<Message> {
pub fn view(&self) -> Element<'_, Message> {
Canvas::new(self).width(Fill).height(Fill).into()
}
@ -296,7 +296,7 @@ trait ColorSpace: Sized {
}
impl<C: ColorSpace + Copy> ColorPicker<C> {
fn view(&self, color: C) -> Element<C> {
fn view(&self, color: C) -> Element<'_, C> {
let [c1, c2, c3] = color.components();
let [cr1, cr2, cr3] = C::COMPONENT_RANGES;

View file

@ -47,7 +47,7 @@ impl Example {
}
}
fn view(&self) -> Element<Message> {
fn view(&self) -> Element<'_, Message> {
let combo_box = combo_box(
&self.languages,
"Type a language...",

View file

@ -28,7 +28,7 @@ impl Counter {
}
}
fn view(&self) -> Column<Message> {
fn view(&self) -> Column<'_, Message> {
column![
button("Increment").on_press(Message::Increment),
text(self.value).size(50),

View file

@ -74,7 +74,7 @@ impl Example {
}
}
fn view(&self) -> Element<Message> {
fn view(&self) -> Element<'_, Message> {
let border::Radius {
top_left,
top_right,

View file

@ -103,7 +103,7 @@ impl Example {
}
}
fn view(&self) -> Element<Message> {
fn view(&self) -> Element<'_, Message> {
let content = column![
circle(self.radius),
text!("Radius: {:.2}", self.radius),

View file

@ -61,7 +61,7 @@ impl Example {
}
}
fn view(&self) -> Element<Message> {
fn view(&self) -> Element<'_, Message> {
let downloads =
Column::with_children(self.downloads.iter().map(Download::view))
.push(
@ -152,7 +152,7 @@ impl Download {
}
}
pub fn view(&self) -> Element<Message> {
pub fn view(&self) -> Element<'_, Message> {
let current_progress = match &self.state {
State::Idle => 0.0,
State::Downloading { progress, .. } => *progress,

View file

@ -144,7 +144,7 @@ impl Editor {
}
}
fn view(&self) -> Element<Message> {
fn view(&self) -> Element<'_, Message> {
let controls = row![
action(new_icon(), "New file", Some(Message::NewFile)),
action(

View file

@ -55,7 +55,7 @@ impl Events {
event::listen().map(Message::EventOccurred)
}
fn view(&self) -> Element<Message> {
fn view(&self) -> Element<'_, Message> {
let events = Column::with_children(
self.last
.iter()

View file

@ -29,7 +29,7 @@ impl Exit {
}
}
fn view(&self) -> Element<Message> {
fn view(&self) -> Element<'_, Message> {
let content = if self.show_confirm {
column![
"Are you sure you want to exit?",

View file

@ -91,7 +91,7 @@ impl Image {
}
}
fn view(&self) -> Element<Message> {
fn view(&self) -> Element<'_, Message> {
let i_am_ferris = column![
"Hello!",
Element::from(

View file

@ -111,7 +111,7 @@ impl GameOfLife {
}
}
fn view(&self) -> Element<Message> {
fn view(&self) -> Element<'_, Message> {
let version = self.version;
let selected_speed = self.next_speed.unwrap_or(self.speed);
let controls = view_controls(
@ -320,7 +320,7 @@ mod grid {
}
}
pub fn view(&self) -> Element<Message> {
pub fn view(&self) -> Element<'_, Message> {
Canvas::new(self).width(Fill).height(Fill).into()
}

View file

@ -51,7 +51,7 @@ impl Gradient {
}
}
fn view(&self) -> Element<Message> {
fn view(&self) -> Element<'_, Message> {
let Self {
start,
end,

View file

@ -38,7 +38,7 @@ impl Controls {
}
}
pub fn view(&self) -> Element<Message, Theme, Renderer> {
pub fn view(&self) -> Element<'_, Message, Theme, Renderer> {
let background_color = self.background_color;
let sliders = row![

View file

@ -68,7 +68,7 @@ impl Layout {
})
}
fn view(&self) -> Element<Message> {
fn view(&self) -> Element<'_, Message> {
let header = row![
text(self.example.title).size(20).font(Font::MONOSPACE),
horizontal_space(),
@ -121,7 +121,7 @@ impl Layout {
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
#[derive(Debug, Clone, Copy, Eq)]
struct Example {
title: &'static str,
view: fn() -> Element<'static, Message>,
@ -190,7 +190,7 @@ impl Example {
Self::LIST.get(index + 1).copied().unwrap_or(self)
}
fn view(&self) -> Element<Message> {
fn view(&self) -> Element<'_, Message> {
(self.view)()
}
}
@ -201,6 +201,12 @@ impl Default for Example {
}
}
impl PartialEq for Example {
fn eq(&self, other: &Self) -> bool {
self.title == other.title
}
}
fn centered<'a>() -> Element<'a, Message> {
center(text("I am centered!").size(50)).into()
}

View file

@ -154,7 +154,7 @@ impl App {
}
}
fn view(&self) -> Element<Message> {
fn view(&self) -> Element<'_, Message> {
let options = lazy(self.version, |_| {
let mut items: Vec<_> = self.items.iter().cloned().collect();

View file

@ -37,7 +37,7 @@ impl LoadingSpinners {
}
}
fn view(&self) -> Element<Message> {
fn view(&self) -> Element<'_, Message> {
let column = [
&easing::EMPHASIZED,
&easing::EMPHASIZED_DECELERATE,

View file

@ -30,7 +30,7 @@ impl Loupe {
}
}
fn view(&self) -> Element<Message> {
fn view(&self) -> Element<'_, Message> {
center(loupe(
3.0,
column![

View file

@ -34,7 +34,7 @@ Now, let's show the actual counter by putting it all together in our __view logi
use iced::widget::{button, column, text, Column};
impl Counter {
pub fn view(&self) -> Column<Message> {
pub fn view(&self) -> Column<'_, Message> {
// We use a column: a simple vertical layout
column![
// The increment button. We tell it to produce an

View file

@ -174,7 +174,7 @@ impl Markdown {
}
}
fn view(&self) -> Element<Message> {
fn view(&self) -> Element<'_, Message> {
let editor = text_editor(&self.raw)
.placeholder("Type your Markdown here...")
.on_action(Message::Edit)

View file

@ -92,7 +92,7 @@ impl App {
}
}
fn view(&self) -> Element<Message> {
fn view(&self) -> Element<'_, Message> {
let content = container(
column![
row![text("Top Left"), horizontal_space(), text("Top Right")]

View file

@ -130,7 +130,7 @@ impl Example {
}
}
fn view(&self, window_id: window::Id) -> Element<Message> {
fn view(&self, window_id: window::Id) -> Element<'_, Message> {
if let Some(window) = self.windows.get(&window_id) {
center(window.view(window_id)).into()
} else {
@ -161,14 +161,14 @@ impl Example {
impl Window {
fn new(count: usize) -> Self {
Self {
title: format!("Window_{}", count),
title: format!("Window_{count}"),
scale_input: "1.0".to_string(),
current_scale: 1.0,
theme: Theme::ALL[count % Theme::ALL.len()].clone(),
}
}
fn view(&self, id: window::Id) -> Element<Message> {
fn view(&self, id: window::Id) -> Element<'_, Message> {
let scale_input = column![
text("Window scale factor:"),
text_input("Window Scale", &self.scale_input)

View file

@ -43,7 +43,7 @@ impl Multitouch {
}
}
fn view(&self) -> Element<Message> {
fn view(&self) -> Element<'_, Message> {
Canvas::new(self).width(Fill).height(Fill).into()
}
}

View file

@ -129,7 +129,7 @@ impl Example {
})
}
fn view(&self) -> Element<Message> {
fn view(&self) -> Element<'_, Message> {
let focus = self.focus;
let total_panes = self.panes.len();

View file

@ -24,7 +24,7 @@ impl Example {
}
}
fn view(&self) -> Element<Message> {
fn view(&self) -> Element<'_, Message> {
let pick_list = pick_list(
&Language::ALL[..],
self.selected_language,

View file

@ -63,7 +63,7 @@ impl Pokedex {
}
}
fn view(&self) -> Element<Message> {
fn view(&self) -> Element<'_, Message> {
let content: Element<_> = match self {
Pokedex::Loading => {
text("Searching for Pokémon...").size(40).into()
@ -100,7 +100,7 @@ struct Pokemon {
impl Pokemon {
const TOTAL: u16 = 807;
fn view(&self) -> Element<Message> {
fn view(&self) -> Element<'_, Message> {
row![
image::viewer(self.image.clone()),
column![

View file

@ -30,7 +30,7 @@ impl Progress {
}
}
fn view(&self) -> Element<Message> {
fn view(&self) -> Element<'_, Message> {
let bar = progress_bar(0.0..=100.0, self.value);
column![

View file

@ -63,7 +63,7 @@ impl QRGenerator {
}
}
fn view(&self) -> Element<Message> {
fn view(&self) -> Element<'_, Message> {
let title = text("QR Code Generator").size(70);
let input =

View file

@ -174,7 +174,7 @@ impl Example {
|png_result| match png_result {
Ok(path) => format!("Png saved as: {path:?}!"),
Err(PngError(error)) => {
format!("Png could not be saved due to:\n{}", error)
format!("Png could not be saved due to:\n{error}")
}
},
);

View file

@ -118,7 +118,7 @@ impl ScrollableDemo {
}
}
fn view(&self) -> Element<Message> {
fn view(&self) -> Element<'_, Message> {
let scrollbar_width_slider = slider(
0..=15,
self.scrollbar_width,

View file

@ -1,7 +1,9 @@
use iced::mouse;
use iced::widget::canvas::{self, Canvas, Event, Geometry};
use iced::widget::{column, row, slider, text};
use iced::{Center, Color, Fill, Point, Rectangle, Renderer, Size, Theme};
use iced::{
Center, Color, Element, Fill, Point, Rectangle, Renderer, Size, Theme,
};
use rand::Rng;
use std::fmt::Debug;
@ -46,7 +48,7 @@ impl SierpinskiEmulator {
self.graph.redraw();
}
fn view(&self) -> iced::Element<'_, Message> {
fn view(&self) -> Element<'_, Message> {
column![
Canvas::new(&self.graph).width(Fill).height(Fill),
row![

View file

@ -27,7 +27,7 @@ impl Slider {
}
}
fn view(&self) -> Element<Message> {
fn view(&self) -> Element<'_, Message> {
let h_slider = container(
slider(1..=100, self.value, Message::SliderChanged)
.default(50)

View file

@ -55,7 +55,7 @@ impl SolarSystem {
}
}
fn view(&self) -> Element<Message> {
fn view(&self) -> Element<'_, Message> {
canvas(&self.state).width(Fill).height(Fill).into()
}

View file

@ -83,7 +83,7 @@ impl Stopwatch {
Subscription::batch(vec![tick, keyboard::on_key_press(handle_hotkey)])
}
fn view(&self) -> Element<Message> {
fn view(&self) -> Element<'_, Message> {
const MINUTE: u64 = 60;
const HOUR: u64 = 60 * MINUTE;

View file

@ -1 +1 @@
12ba47a34ed415825a23f8ef377a2d52950d2f8614a66bf46c0ec28d0cf15c85
30570747bb062e9f7730cdd58be961c84bcf4711a6983185bff6d903e8d29e9c

View file

@ -1 +1 @@
78d3afadbdca4a992c662541d602850e0dec0abafa585e2a3078daa1be5998b8
d5a086a08544f98087189bd4ece8815e5290722a07cd580b933f1bf77a040c52

View file

@ -1 +1 @@
4e594cfec775d51f7f836646c59bf4a2de07252721d66ddddea69c17e9112bae
30e523961db89a3ee97ad1eac09e727ecb3dec485faa362534a9f5ad083b32dd

View file

@ -1 +1 @@
2ab665b51387c61086ae0199c29e291105bfe4583bd4c4daa652e30917f10bd6
bce5427d5105f68e1d7fa18a34fcc551cb78c2fefd9a583ba44686331133436d

View file

@ -1 +1 @@
61c9ee377b33ffa800f512877e45ad5f41fbac36f5d3f06d1b62d6af6ee9d7b2
c8a7edbd5a8bbf559134b84253e14e65340f4ffe3e22c272b21c8438e47ffaf7

View file

@ -1 +1 @@
75f2fb12c9090a256708515de01a25e78905f71e134b7cda79f4fe44b2434052
63d646b22d3dffbb56dac2e3f345090bd26625a388dd6cc142359f2a7ac9c8df

View file

@ -1 +1 @@
b4a1b42d2e21b2a493605745e6beb8e1f28cbeb01b73336e1e8d9061249a8311
d26f55674cbd96bc3b534ffdd098a13199718ef9c5ffe8ece0882ddab714b776

View file

@ -1 +1 @@
eb52921b3ee23e1814268701c935d0dff387e7eb741c50443f75a7ab902b5e44
482c44c13d4ff3de19e71f3dddf93bbee170e54e2d353e818811069de28e18ed

View file

@ -1 +1 @@
bf6c4cbd6eeed0167d28509e37292f5ce26ed1d58bb156bedb861d0619a1945b
6738cc4fc6eb8a5d406c613a4b0f08c0e8dcd2c1a5444445eebd3888f9303841

View file

@ -1 +1 @@
83726a4175900a9ef159b80925f2fa985b4ea87bff78d8bb01918fb6c40d6175
0a918c52538fc4848aa0c68d8f2d6f4c981ed68971dd9c725f0093a39ef7f353

View file

@ -1 +1 @@
54c8d44afbdd644f324cf40e744b3d7871263e44de2d9a91f6c10470c38ac3c6
de3e1a2c21e1a86d76ca99989c73e8a2596ef627bba95d246fab8f02d56bd0af

View file

@ -1 +1 @@
5713843396e2efcfc7cc8abd00343d5d66ce8b8a195212a9b75dbfeec8edf7a7
3418ea4eb0f7786607ef02e7db4bc97309530f2f7c08f8aea15c768a13a09ca4

View file

@ -1 +1 @@
f1b20ab79f8242776d9eb1ad9cff7090435aa416811c48a7c22c69b09cd8e70f
c8474e02a9df23f123816a489c1ea7ae6cb994a0eca429592dfe6d933de1beee

View file

@ -1 +1 @@
2c4be9dc1340b65cad6d15d5318017412eba1247a016379b83db379dde0214af
02095fd09c078be02dc41e29e55de25e8a79e6ad4293aa7e430257a9016dfb3d

View file

@ -1 +1 @@
2d5d6b9613ccb6a2f23142baf704288037808e7a60ee05bdc73490d8c8780064
d82588a2aba3e7211f25b85ebb812a42dfa59137dd4b59d26f5f60d5b28e537f

View file

@ -1 +1 @@
512b8dfd4687a609d202436e75ecf1a5553acc2157000e77e31c1578941b033c
d6b73545929cc7794c1a918f069b5326ef129bed8f9ad2cd001be7d078a2b6a0

View file

@ -1 +1 @@
4b3b7a2dc65307a3551227f1c5d2bb49da15d29e320ccaa160e3d9fca44c1037
0ec7251c69755becd678b7aec398a275edf31cc077960723cd6b9364e8678548

View file

@ -1 +1 @@
be1f056f0decaee8c138cd038e3e34352f02448b77c1e251796a8f0be8086913
4a15c475d45cf8eb0ccd6727cf6e493bd8c22454610b167a632a2328308faed1

View file

@ -1 +1 @@
31a7a46ed7951d69e1a29ab595d241e689cacdf66cea53dda6609db4927070e5
49a41af93e89aab0a4e352e9cedfba3c6e18caf4267955c9d362bad40264a165

View file

@ -1 +1 @@
5eab001ed1aeeea3f24fe18e4aab9b8522cb35ac1328d7ca3532dbdfdf95780f
8fcd80d4569dafdac4b4452b8ca8ab0cdceeb755f3c83d374ccd5ed4d0e8d43d

View file

@ -1 +1 @@
2fed695daa4c3da56f744832a041060704310a97d65820c97d556d297dfb271a
c37a32784c769c046f3aa881914b121af373b8c6e175ced89304d15b626a653a

View file

@ -1 +1 @@
0ecd51994f6eb37f111dc1b21cad72bb705499eb83156e9dc3ae2221ec392a42
533d25575e8bf1111036fb082b424d0d0e60947a7da8428ab8c71e0bda01469e

View file

@ -65,7 +65,7 @@ impl Styling {
}
}
fn view(&self) -> Element<Message> {
fn view(&self) -> Element<'_, Message> {
let choose_theme = column![
text("Theme:"),
pick_list(Theme::ALL, Some(&self.theme), Message::ThemeChanged)
@ -126,7 +126,7 @@ impl Styling {
let content = column![
choose_theme,
horizontal_rule(38),
horizontal_rule(1),
text_input,
row![primary, success, warning, danger]
.spacing(10)
@ -135,8 +135,8 @@ impl Styling {
progress_bar(),
row![
scrollable,
vertical_rule(38),
column![checkbox, toggler].spacing(20)
row![vertical_rule(1), column![checkbox, toggler].spacing(20)]
.spacing(20)
]
.spacing(10)
.height(100)

View file

@ -24,7 +24,7 @@ impl Tiger {
}
}
fn view(&self) -> Element<Message> {
fn view(&self) -> Element<'_, Message> {
let handle = svg::Handle::from_path(format!(
"{}/resources/tiger.svg",
env!("CARGO_MANIFEST_DIR")

View file

@ -47,7 +47,7 @@ impl Example {
}
}
fn view(&self) -> Element<Message> {
fn view(&self) -> Element<'_, Message> {
use bytesize::ByteSize;
let content: Element<_> = match self {

View file

@ -34,7 +34,7 @@ impl TheMatrix {
}
}
fn view(&self) -> Element<Message> {
fn view(&self) -> Element<'_, Message> {
canvas(self).width(Fill).height(Fill).into()
}

View file

@ -613,12 +613,11 @@ mod toast {
&self.viewport,
renderer,
)
.max(
cursor
.is_over(layout.bounds())
.then_some(mouse::Interaction::Idle)
.unwrap_or_default(),
)
.max(if cursor.is_over(layout.bounds()) {
mouse::Interaction::Idle
} else {
Default::default()
})
})
.max()
.unwrap_or_default()

View file

@ -186,7 +186,7 @@ impl Todos {
}
}
fn view(&self) -> Element<Message> {
fn view(&self) -> Element<'_, Message> {
match self {
Todos::Loading => loading_message(),
Todos::Loaded(State {
@ -338,7 +338,7 @@ impl Task {
}
}
fn view(&self, i: usize) -> Element<TaskMessage> {
fn view(&self, i: usize) -> Element<'_, TaskMessage> {
match &self.state {
TaskState::Idle => {
let checkbox = checkbox(&self.description, self.completed)
@ -385,7 +385,10 @@ impl Task {
}
}
fn view_controls(tasks: &[Task], current_filter: Filter) -> Element<Message> {
fn view_controls(
tasks: &[Task],
current_filter: Filter,
) -> Element<'_, Message> {
let tasks_left = tasks.iter().filter(|task| !task.completed).count();
let filter_button = |label, filter, current_filter| {
@ -617,7 +620,7 @@ mod tests {
use iced_test::selector::id;
use iced_test::{Error, Simulator};
fn simulator(todos: &Todos) -> Simulator<Message> {
fn simulator(todos: &Todos) -> Simulator<'_, Message> {
Simulator::with_settings(
Settings {
fonts: vec![Todos::ICON_FONT.into()],

View file

@ -33,7 +33,7 @@ impl Tooltip {
}
}
fn view(&self) -> Element<Message> {
fn view(&self) -> Element<'_, Message> {
let tooltip = tooltip(
button("Press to change position")
.on_press(Message::ChangePosition),

View file

@ -76,7 +76,7 @@ impl Tour {
Screen::End => "End",
};
format!("{} - Iced", screen)
format!("{screen} - Iced")
}
fn update(&mut self, event: Message) {
@ -141,7 +141,7 @@ impl Tour {
}
}
fn view(&self) -> Element<Message> {
fn view(&self) -> Element<'_, Message> {
let controls =
row![]
.push_maybe(self.screen.previous().is_some().then(|| {
@ -197,7 +197,7 @@ impl Tour {
}
}
fn welcome(&self) -> Column<Message> {
fn welcome(&self) -> Column<'_, Message> {
Self::container("Welcome!")
.push(
"This is a simple tour meant to showcase a bunch of \
@ -244,7 +244,7 @@ impl Tour {
)
}
fn slider(&self) -> Column<Message> {
fn slider(&self) -> Column<'_, Message> {
Self::container("Slider")
.push(
"A slider allows you to smoothly select a value from a range \
@ -258,7 +258,7 @@ impl Tour {
.push(text(self.slider.to_string()).width(Fill).align_x(Center))
}
fn rows_and_columns(&self) -> Column<Message> {
fn rows_and_columns(&self) -> Column<'_, Message> {
let row_radio = radio(
"Row",
Layout::Row,
@ -303,7 +303,7 @@ impl Tour {
.push(spacing_section)
}
fn text(&self) -> Column<Message> {
fn text(&self) -> Column<'_, Message> {
let size = self.text_size;
let color = self.text_color;
@ -339,7 +339,7 @@ impl Tour {
.push(color_section)
}
fn radio(&self) -> Column<Message> {
fn radio(&self) -> Column<'_, Message> {
let question = column![
text("Iced is written in...").size(24),
column(
@ -374,7 +374,7 @@ impl Tour {
)
}
fn toggler(&self) -> Column<Message> {
fn toggler(&self) -> Column<'_, Message> {
Self::container("Toggler")
.push("A toggler is mostly used to enable or disable something.")
.push(
@ -387,7 +387,7 @@ impl Tour {
)
}
fn image(&self) -> Column<Message> {
fn image(&self) -> Column<'_, Message> {
let width = self.image_width;
let filter_method = self.image_filter_method;
@ -406,7 +406,7 @@ impl Tour {
.align_x(Center)
}
fn scrollable(&self) -> Column<Message> {
fn scrollable(&self) -> Column<'_, Message> {
Self::container("Scrollable")
.push(
"Iced supports scrollable content. Try it out! Find the \
@ -428,7 +428,7 @@ impl Tour {
.push(text("You made it!").width(Fill).size(50).align_x(Center))
}
fn text_input(&self) -> Column<Message> {
fn text_input(&self) -> Column<'_, Message> {
let value = &self.input_value;
let is_secure = self.input_is_secure;
let is_showing_icon = self.input_is_showing_icon;
@ -474,7 +474,7 @@ impl Tour {
)
}
fn debugger(&self) -> Column<Message> {
fn debugger(&self) -> Column<'_, Message> {
Self::container("Debugger")
.push(
"You can ask Iced to visually explain the layouting of the \
@ -491,7 +491,7 @@ impl Tour {
.push("Feel free to go back and take a look.")
}
fn end(&self) -> Column<Message> {
fn end(&self) -> Column<'_, Message> {
Self::container("You reached the end!")
.push("This tour will be updated as more features are added.")
.push("Make sure to keep an eye on it!")

View file

@ -31,7 +31,7 @@ impl App {
event::listen_url().map(Message::UrlReceived)
}
fn view(&self) -> Element<Message> {
fn view(&self) -> Element<'_, Message> {
let content = match &self.url {
Some(url) => text(url),
None => text("No URL received yet!"),

View file

@ -48,7 +48,7 @@ impl VectorialText {
self.state.cache.clear();
}
fn view(&self) -> Element<Message> {
fn view(&self) -> Element<'_, Message> {
let slider_with_label = |label, range, value, message: fn(f32) -> _| {
column![
row![text(label), horizontal_space(), text!("{:.2}", value)],

View file

@ -59,7 +59,7 @@ impl Example {
}
}
fn view(&self) -> Element<Message> {
fn view(&self) -> Element<'_, Message> {
let data_row = |label, value, color| {
row![
text(label),

View file

@ -93,7 +93,7 @@ impl WebSocket {
])
}
fn view(&self) -> Element<Message> {
fn view(&self) -> Element<'_, Message> {
let message_log: Element<_> = if self.messages.is_empty() {
center(
text("Your messages will appear here...")