#![cfg(feature = "suggestions")] #[macro_use] extern crate darling; #[macro_use] extern crate syn; #[macro_use] extern crate quote; use darling::FromDeriveInput; #[derive(Debug, FromDeriveInput)] #[darling(attributes(suggest))] struct Lorem { ipsum: String, dolor: Dolor, } #[derive(Debug, FromMeta)] struct Dolor { sit: bool, } #[test] fn suggest_dolor() { let input: syn::DeriveInput = parse_quote! { #[suggest(ipsum = "Hello", dolorr(sit))] pub struct Foo; }; let result = Lorem::from_derive_input(&input).unwrap_err(); assert_eq!(2, result.len()); assert!(format!("{}", result).contains("Did you mean")); }