mirror of
https://github.com/danog/strum.git
synced 2024-11-30 04:28:59 +01:00
Add doc comment to EnumIs result (#301)
This commit is contained in:
parent
db553e3dcf
commit
af9b15b617
@ -10,7 +10,6 @@ pub fn enum_is_inner(ast: &DeriveInput) -> syn::Result<TokenStream> {
|
|||||||
};
|
};
|
||||||
|
|
||||||
let enum_name = &ast.ident;
|
let enum_name = &ast.ident;
|
||||||
|
|
||||||
let variants: Vec<_> = variants
|
let variants: Vec<_> = variants
|
||||||
.iter()
|
.iter()
|
||||||
.filter_map(|variant| {
|
.filter_map(|variant| {
|
||||||
@ -20,10 +19,11 @@ pub fn enum_is_inner(ast: &DeriveInput) -> syn::Result<TokenStream> {
|
|||||||
|
|
||||||
let variant_name = &variant.ident;
|
let variant_name = &variant.ident;
|
||||||
let fn_name = format_ident!("is_{}", snakify(&variant_name.to_string()));
|
let fn_name = format_ident!("is_{}", snakify(&variant_name.to_string()));
|
||||||
|
let doc_comment = format!("Returns [true] if the enum is [{}::{}] otherwise [false]", enum_name, variant_name);
|
||||||
Some(quote! {
|
Some(quote! {
|
||||||
#[must_use]
|
#[must_use]
|
||||||
#[inline]
|
#[inline]
|
||||||
|
#[doc = #doc_comment]
|
||||||
pub const fn #fn_name(&self) -> bool {
|
pub const fn #fn_name(&self) -> bool {
|
||||||
match self {
|
match self {
|
||||||
&#enum_name::#variant_name { .. } => true,
|
&#enum_name::#variant_name { .. } => true,
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
use strum::{Display, EnumCount, EnumDiscriminants, EnumString};
|
use strum::{Display, EnumCount, EnumDiscriminants, EnumString};
|
||||||
|
use strum_macros::EnumIs;
|
||||||
|
|
||||||
#[derive(Debug, Eq, PartialEq, EnumString, Display, EnumCount, EnumDiscriminants)]
|
#[derive(Debug, Eq, PartialEq, EnumString, Display, EnumCount, EnumDiscriminants, EnumIs)]
|
||||||
pub enum Color {
|
pub enum Color {
|
||||||
/// Docs on red
|
/// Docs on red
|
||||||
#[strum(to_string = "RedRed")]
|
#[strum(to_string = "RedRed")]
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
use strum::{Display, EnumCount, EnumDiscriminants, EnumString};
|
use strum::{Display, EnumCount, EnumDiscriminants, EnumString};
|
||||||
|
use strum_macros::EnumIs;
|
||||||
|
|
||||||
#[allow(dead_code)]
|
#[allow(dead_code)]
|
||||||
#[derive(Debug, Eq, PartialEq, EnumString, Display, EnumCount, EnumDiscriminants)]
|
#[derive(Debug, Eq, PartialEq, EnumString, Display, EnumCount, EnumDiscriminants, EnumIs)]
|
||||||
enum Color {
|
enum Color {
|
||||||
/// Random Docs
|
/// Random Docs
|
||||||
#[strum(to_string = "RedRed")]
|
#[strum(to_string = "RedRed")]
|
||||||
|
Loading…
Reference in New Issue
Block a user