This intermediate structure is used to emit parse errors for the branches that are not chosen.
The MacResult instance below parses all branches, emitting any errors it encounters, but only
keeps the parse result for the selected branch.
Construct a #[<cfg_trace>] attribute from a CfgEntry. This allows us to keep track of items
that were behind a cfg_select!, which is relevant for some diagnostics.