为什么显示警告:从未读取字段:`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>