<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Dec 16, 2015 at 6:02 PM, Justin Bogner <span dir="ltr"><<a href="mailto:mail@justinbogner.com" target="_blank">mail@justinbogner.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Well, my brain hurts, but I'm pretty sure this patch is correct. The<br>
understandability cost of this code is pretty high, so I'm not<br>
completely comfortable with it, but as long as you actually need it for<br>
something I suppose it's fine</blockquote><div><br></div><div>Yeah, I don't like recursive templates either -- which is why I avoided writing it that way in the first place -- but it seemed the less bad solution than manually duplicating it a few more times. Some of the uses I'm adding in clang use more than two trailing types.</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">> +// Here, there are two singular optional object types appended.  Note<br>
> +// that the alignment of Class2 is automatically increased to account<br>
> +// for the alignment requirements of the trailing objects.<br>
<br>
Could you throw an EXPECT_EQ or static assert in the test to prove this<br>
please?</blockquote><div><br></div><div>It's indirectly asserted via the test on sizeof(Class2), but a direct test is be better, I'll add.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">I guess we should probably add a ThreeArg test as well now that<br>
NArg is supported (not that it gives much more coverage than the two,<br>
but you know).<br></blockquote><div><br></div><div>Will add that too.</div><div><br></div><div>Thanks for the review!</div></div><br></div></div>