lesurp / OptionalStruct

Macro copying a struct with Option fields. Useful for config initialization
Apache License 2.0
36 stars 12 forks source link

Add support for :: inside optional_derive #14

Closed igorzas closed 1 year ago

igorzas commented 2 years ago

The following has build failure

[derive(OptionalStruct)]

[optional_derive(Debug, Clone, PartialEq, serde::Deserialize)]

struct TestConfig { delay: Option, path: String, percentage: f32, }

error: proc-macro derive panicked --> src/main.rs:60:10 60 #[derive(OptionalStruct)] ^^^^^^^^^^^^^^

= help: message: called Result::unwrap() on an Err value: "failed to parse derive input: \"#[optional_derive(Debug, Clone, PartialEq, serde :: Deserialize)] struct\nTestConfig { delay : Option < u32 >, path : String, percentage : f32, }\""

While the following is build correctly (however would not work with serde serialization)

[derive(OptionalStruct)]

[optional_derive(Debug, Clone, PartialEq, Deserialize)]

struct TestConfig { delay: Option, path: String, percentage: f32, }

lesurp commented 1 year ago

Seems to be fixed by #15 (see test from c4223de). Now have issues for already existing derive directives...