* At the time, I think I would have thought one was not needed, but that could be wrong.
Indeed, this sounds to be like an overkill application of feature test macros, but… -- Gaby From: Core <[email protected]> On Behalf Of John Spicer via Core Sent: Monday, June 8, 2020 1:12 PM To: William M. (Mike) Miller via Core <[email protected]> Cc: John Spicer <[email protected]>; Marek Polacek <[email protected]>; [email protected] Subject: Re: [isocpp-core] Feature-test macro for ADL calls with template arguments? I don’t recall if a feature test macro was discussed for this. At the time, I think I would have thought one was not needed, but that could be wrong. There is a workaround of sorts. If you add any function template with the same name and that will be found by normal lookup, then ADL will be done for the function template call with the explicit argument list. namespace N { struct A { }; template <typename T> T func(const A&) { return T(); } } template <class T, int x[-sizeof(T)]> void func(); // something uncallable void f() { N::A a; func<int>(a); } Which is not to say that we shouldn’t add a macro for this. John. On Jun 8, 2020, at 11:56 AM, Ville Voutilainen via Core <[email protected]<mailto:[email protected]>> wrote: On Mon, 8 Jun 2020 at 18:49, Marek Polacek <[email protected]<mailto:[email protected]>> wrote: On Mon, Jun 08, 2020 at 12:02:28PM +0300, Ville Voutilainen via Core wrote: P0846 gives us the ability to do ADL for calls to function templates with explicit template arguments provided. Did we get a feature-testing macro for it? Doesn't seem that we have it. For a rationale to consider having it: I have users who would like to write ADL-only structured bindings customization points and also allow them to be called with ADL calls; library folks call this a "hidden friend". When the macro is not defined, the fallback code would expose the customization point (or not provide it at all), but when it's defined, the customization point would be a hidden friend. Structured bindings seem to be able to call it anyway, but user code can't, before the language fix is implemented. _______________________________________________ Core mailing list [email protected]<mailto:[email protected]> Subscription: https://lists.isocpp.org/mailman/listinfo.cgi/core Link to this post: http://lists.isocpp.org/core/2020/06/9275.php
-- SG10 mailing list [email protected] https://lists.isocpp.org/mailman/listinfo.cgi/sg10
