mirror of
https://git.proxmox.com/git/rustc
synced 2025-08-17 23:59:07 +00:00
35 lines
665 B
Rust
35 lines
665 B
Rust
#![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"));
|
|
}
|