523 Stimmen

Wie deaktivieren Sie Dead-Code-Warnungen auf Crate-Ebene in Rust?

Beim Basteln in Rust bin ich wiederholt auf viele Dead-Code-Warnungen gestoßen, die es schwer machten, sich zu konzentrieren. Ich habe versucht, das äußere Attribut #[allow(dead_code)] zu verwenden, aber es unterdrückt immer nur eine Warnung auf einmal.

struct SemanticDirection;

fn main() {}

Warnung: Struct `SemanticDirection` wird nie erstellt
 --> src\main.rs:1:8
  |
1 | struct SemanticDirection;
  |        ^^^^^^^^^^^^^^^^^
  |
  = Hinweis: `#[warn(dead_code)]` standardmäßig aktiviert

Wie deaktiviere ich diese Warnungen auf Crate-Ebene?

3voto

Evgene Punkte 51

Am Anfang der Datei *.rs:

#![allow(unused)]  // FIXME

1voto

aakash4dev Punkte 69

Füge dies in die 1. Codezeile ein

#![allow(unused_variables)]

Alle Warnlösungen:

https://doc.rust-lang.org/rustc/lints/listing/warn-by-default.html

0voto

Anon Anon Punkte 41

Andere haben bereits erklärt, wie man dies im Code mit #[allow(dead_code)] macht, aber wenn Sie wie ich ein Windows-Benutzer sind, der dies in der Befehlszeile tun möchte, ist das genaue Format etwas anders. Geben Sie die folgenden Zeilen ein, bevor Sie irgendwelche cargo-Befehle ausführen, um Umgebungsvariablen festzulegen:

Um die Überprüfung von totem Code in Rust zu deaktivieren:

set RUSTFLAGS=-A dead_code

Um die Überprüfung von ungültigen Variablen in Rust zu deaktivieren:

set RUSTFLAGS=-A unused_variables

Um die Überprüfung von tote Code und ungenutzte Variablen in Rust zu deaktivieren:

set RUSTFLAGS= -A dead_code -A unused_variables

Um Rust auf sein vorheriges Verhalten zurückzusetzen:

set RUSTFLAGS=

Danach wird Cargo sich so verhalten, wie Sie es ihm sagen, bis Sie die Befehlszeile schließen.

Wenn Sie es bevorzugen, beide set RUSTFLAGS und cargo Befehle in einer einzelnen Zeile mit dem '&' Trennzeichen auszuführen, hier sind alle obigen Beispiele mit cargo build hinzugefügt:

set RUSTFLAGS=-A dead_code & cargo build
set RUSTFLAGS=-A unused_variables & cargo build
set RUSTFLAGS=-A dead_code -A unused_variables & cargo build
set RUSTFLAGS=& cargo build

-10voto

jmzhou Punkte 7

Verwendung von Features

#[cfg(feature = "dead_code")]

Hinweis: "dead_code" kann durch jedes Wort ersetzt werden.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X