Jens, I think I might have answered in another thread, but just in case: The change I want to make to plugin.thrift (and associated C++ files) is only to make them use Thrift unions in a "correct" way. So that later, when we fix unions, the plugin interface won't blow up. The changes to the plugin interface are confined -only- to making it use unions correctly, and nothing more.
On Sat, Dec 2, 2017 at 8:36 AM, Jens Geyer <[email protected]> wrote: > Hi, > > Since > > > this will break the behaviour of the Thrift plugin interface > > I have one key question for you: What is the net benefit and purpose of > this > change? > > > It's just a struct with all-optional fields. > > Correct and I alreayd expllained why this is the case. It's also explained > in more detail in the JIRA "union" ticket. > > > I'd like to make it a real union > > How wil this affect compatibility of the Thrift language bindungs in > general? Unions are widely used, not only for the plugin interface. > > JensG > > > -----Ursprüngliche Nachricht----- > From: Chet Murthy > Sent: Saturday, December 2, 2017 12:58 AM > To: [email protected] > Subject: Is anybody using the plugin.thrift interface? I'd like to change a > little bit of it > > In another email thread about unions, I've noted that the current Thrift > union implementation isn't actually a union. It's just a struct with > all-optional fields. I'd like to make it a real union, but this will break > the behaviour of the Thrift plugin interface, b/c it uses unions > (t_const_value) in a non-union way. > > I would like to find people who are using this interface, and work with > them to ensure that their code doesn't break, so that I can "fix" unions. > This isn't hard, but it's a breaking change to the protocol, b/c.... well, > the current behaviour is a bug. So code that counts on it, when that bug > is fixed .... will break. > > Is there anybody out there using plugin.thrift? > > --chet-- > P.S. I find this interface to be lovely, and want to write a new > compiler/emitter backend using it. Which is why I want to fix it first. > >
