On Sunday, 29 November 2015 at 10:58:48 UTC, Manu wrote:
On 29 November 2015 at 20:17, Iain Buclaw via Digitalmars-d
I think your idea with aliases was just wishful thinking, aliases themselves never worked like that.

I thought aliases did produce a symbol in the scope they are declared?
Or do you mean with the private thing? Yeah...
Aliases are often used to sort out these sorts of scope/namespacing
issues, I've seen it come up lots of times.

I remember when this feature was under discussion, I tried to argue against extern c++ creating a new scope, but alas no avail. So my current workaround looks something like this(but I didn't use it on a large scale yet):

private static struct Hidden
{
public:
    extern(C++, std) int fun();
}

// autogenerate all aliases with 'static foreach'?
alias fun = Hidden.std.fun;

if only static foreach would get accepted one day...

Reply via email to