use auto_args::AutoArgs;
#[test]
fn simple_phantom() {
#[derive(AutoArgs, PartialEq, Debug)]
struct PhantomOpt<T> {
first: std::marker::PhantomData<T>,
second: String,
}
println!("help: {}", <PhantomOpt<i32>>::help());
assert!(!<PhantomOpt<i32>>::help().contains("--first"));
assert!(<PhantomOpt<i32>>::help().contains("--second"));
assert_eq!(
PhantomOpt::<i32> {
first: std::marker::PhantomData,
second: "hello".to_string()
},
<PhantomOpt<i32>>::from_iter(&["", "--second=hello"]).unwrap()
);
assert!(<PhantomOpt<i32>>::from_iter(&[""]).is_err());
}