为什么显示警告:从未读取字段:`group`?是否有一些选项可以解决此警告?
Why is it showing the warning: field is never read: `group`? Is there some option resolve this warning?
我是 Rust 编程的新手。在这里,我正在使用 Rust 开发 FLTK 应用程序。我收到以下警告。
warning: field is never read: `group`
--> src\views\logo.rs:13:5
|
13 | group: fltk::group::Group,
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: `#[warn(dead_code)]` on by default
为什么显示警告:从未读取字段:group
?是否有一些选项可以解决此警告?
我的代码是这样的:
use fltk::{image::*,
frame::Frame,
group::Group,
enums::Color,
// enums::Align,
};
use fltk::prelude::*;
use std::fs::read;
pub struct LogoImage {
group: fltk::group::Group,
// // button: fltk::button::Button,
// logo_frame: Frame,
}
impl LogoImage {
pub fn new(x:i32, y:i32, w:i32, h:i32, label:&'static str) -> LogoImage {
let mut group = Group::new(x, y, w, h, label);
group.set_align(fltk::enums::Align::Center);
group.set_frame(fltk::enums::FrameType::FlatBox);
group.set_color(fltk::enums::Color::Red);
// group.set_type(fltk::group::PackType::Horizontal);
let mut logo_frame = Frame::default()
// .with_size(w, h)
.with_size(group.width(), group.height())
.center_of(&group)
.with_label("H");
logo_frame.set_frame(fltk::enums::FrameType::FlatBox);
logo_frame.set_color(Color::Yellow);
logo_frame.draw(|f| {
// let image_data = read("assets\app_icon.png").unwrap();
let mut img = PngImage::load("assets\app_icon.png").unwrap();
img.scale(f.w(), f.h(), true, true);
img.draw(f.x(), f.y(), f.w(), f.h());
});
group.end();
LogoImage {group} // , logo_frame
}
}
有人可以向我解释一下并给出解决方案吗(更喜欢代码中的解决方案而不仅仅是解释)?
使结构的内部(内部变量)有意以 _
(即 _group
)开头以避免警告或在内部变量前面使用 pub(即, pub group ...
) 并在另一个 rs 文件中使用它。
回答:
</p>
<pre>
use fltk::{image::*,
frame::Frame,
group::Group,
enums::Color,
// enums::Align,
};
use fltk::prelude::*;
use std::fs::read;
pub struct LogoImage {
_group: fltk::group::Group, // or pub group: .......
}
impl LogoImage {
pub fn new(x:i32, y:i32, w:i32, h:i32, label:&'static str) -> LogoImage {
let mut group = Group::new(x, y, w, h, label);
group.set_align(fltk::enums::Align::Center);
group.set_frame(fltk::enums::FrameType::FlatBox);
group.set_color(fltk::enums::Color::Red);
// group.set_type(fltk::group::PackType::Horizontal);
let mut logo_frame = Frame::default()
// .with_size(w, h)
.with_size(group.width(), group.height())
.center_of(&group)
.with_label("H");
logo_frame.set_frame(fltk::enums::FrameType::FlatBox);
logo_frame.set_color(Color::Yellow);
logo_frame.draw(|f| {
// let image_data = read("assets\app_icon.png").unwrap();
let mut img = PngImage::load("assets\app_icon.png").unwrap();
img.scale(f.w(), f.h(), true, true);
img.draw(f.x(), f.y(), f.w(), f.h());
});
group.end();
LogoImage {group} // , logo_frame
}
}
</pre>
我是 Rust 编程的新手。在这里,我正在使用 Rust 开发 FLTK 应用程序。我收到以下警告。
warning: field is never read: `group`
--> src\views\logo.rs:13:5
|
13 | group: fltk::group::Group,
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: `#[warn(dead_code)]` on by default
为什么显示警告:从未读取字段:group
?是否有一些选项可以解决此警告?
我的代码是这样的:
use fltk::{image::*,
frame::Frame,
group::Group,
enums::Color,
// enums::Align,
};
use fltk::prelude::*;
use std::fs::read;
pub struct LogoImage {
group: fltk::group::Group,
// // button: fltk::button::Button,
// logo_frame: Frame,
}
impl LogoImage {
pub fn new(x:i32, y:i32, w:i32, h:i32, label:&'static str) -> LogoImage {
let mut group = Group::new(x, y, w, h, label);
group.set_align(fltk::enums::Align::Center);
group.set_frame(fltk::enums::FrameType::FlatBox);
group.set_color(fltk::enums::Color::Red);
// group.set_type(fltk::group::PackType::Horizontal);
let mut logo_frame = Frame::default()
// .with_size(w, h)
.with_size(group.width(), group.height())
.center_of(&group)
.with_label("H");
logo_frame.set_frame(fltk::enums::FrameType::FlatBox);
logo_frame.set_color(Color::Yellow);
logo_frame.draw(|f| {
// let image_data = read("assets\app_icon.png").unwrap();
let mut img = PngImage::load("assets\app_icon.png").unwrap();
img.scale(f.w(), f.h(), true, true);
img.draw(f.x(), f.y(), f.w(), f.h());
});
group.end();
LogoImage {group} // , logo_frame
}
}
有人可以向我解释一下并给出解决方案吗(更喜欢代码中的解决方案而不仅仅是解释)?
使结构的内部(内部变量)有意以 _
(即 _group
)开头以避免警告或在内部变量前面使用 pub(即, pub group ...
) 并在另一个 rs 文件中使用它。
回答:
</p>
<pre>
use fltk::{image::*,
frame::Frame,
group::Group,
enums::Color,
// enums::Align,
};
use fltk::prelude::*;
use std::fs::read;
pub struct LogoImage {
_group: fltk::group::Group, // or pub group: .......
}
impl LogoImage {
pub fn new(x:i32, y:i32, w:i32, h:i32, label:&'static str) -> LogoImage {
let mut group = Group::new(x, y, w, h, label);
group.set_align(fltk::enums::Align::Center);
group.set_frame(fltk::enums::FrameType::FlatBox);
group.set_color(fltk::enums::Color::Red);
// group.set_type(fltk::group::PackType::Horizontal);
let mut logo_frame = Frame::default()
// .with_size(w, h)
.with_size(group.width(), group.height())
.center_of(&group)
.with_label("H");
logo_frame.set_frame(fltk::enums::FrameType::FlatBox);
logo_frame.set_color(Color::Yellow);
logo_frame.draw(|f| {
// let image_data = read("assets\app_icon.png").unwrap();
let mut img = PngImage::load("assets\app_icon.png").unwrap();
img.scale(f.w(), f.h(), true, true);
img.draw(f.x(), f.y(), f.w(), f.h());
});
group.end();
LogoImage {group} // , logo_frame
}
}
</pre>