Pre-RFC: Add macros target to Cargo manifest

Well with the additional configuration options, you'd want more control over which macros are affected by them. Such as which are publicly available and which are private.

I think this is aimed at reducing the "crate sprawl" that occurs because you have to split your crates along the implementation details rather than logic, and if it was limited to one, you'd still have to use a cargo workspace when you wanted to split them, and then you have to ask yourself whether to use this new format or use the existing proc-macro = true option, which would be worse in my opinion.

I would certainly like that, as that's my biggest gripe with [[bin]] is that you can't specify individual dependencies so you bloat the whole download size when downloading the library. However that's proabbly a larger RFC, and could be future work.

That's a good point. I was thinking of there also being a macros key in dependencies, so you can specify which your using from the Cargo.toml. So you can still get the dependency graph from the Cargo.toml as if it was another package on crates.io like it would be today.

[dependencies.serde]
version = "*"
macros = ["serialize", "deserialize"]