From 6dd0dafdd53b990cfba79529a36352e11fe0385e Mon Sep 17 00:00:00 2001 From: Daniel Mueller Date: Fri, 3 Jul 2020 08:30:57 -0700 Subject: Correctly use doc comments in macros Our custom macros for conveniently creating types with additional meta information for working with structopt do not actually use the doc comments we have in place -- these comments are solely for in-source documentation. We are an application and as such crates.io will not automatically generate documentation. All of that does not deter rustc from complaining that doc comments are unused. In the past we tried to fudge that by adding a special allowance, #[allow(unused_doc_comments)], but that seems to have seized to work. With this change we finally give in and move the doc comment into the macro itself, where it will be used to annotate the generated type. This step should hopefully silence rustc once and for all -- at the expense of a slight decrease in readability. --- var/shell-complete.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'var') diff --git a/var/shell-complete.rs b/var/shell-complete.rs index 4793ed3..a6f476d 100644 --- a/var/shell-complete.rs +++ b/var/shell-complete.rs @@ -28,7 +28,10 @@ mod nitrocli { // We only need a stripped down version of the `Command` macro. macro_rules! Command { - ( $name:ident, [ $( $(#[$doc:meta])* $var:ident$(($inner:ty))? => $exec:expr, ) *] ) => { + ( $(#[$docs:meta])* $name:ident, [ + $( $(#[$doc:meta])* $var:ident$(($inner:ty))? => $exec:expr, ) * + ] ) => { + $(#[$docs])* #[derive(Debug, PartialEq, structopt::StructOpt)] pub enum $name { $( -- cgit v1.2.3