[dmd-beta] Time for a new beta?

Jonathan M Davis jmdavisProg at gmx.com
Sat Aug 20 17:04:48 PDT 2011


On Saturday, August 20, 2011 18:10:01 Nick Sabalausky wrote:
> From: "Dmitry Olshansky" <dmitry.olsh at gmail.com>
> 
> > On 20.08.2011 12:39, Rainer Schuetze wrote:
> >> 3. I tried to remove some more (currently soft) deprecation messages
> >> regarding std.ctype, and it turned out that it was a bit of a hassle
> >> to get it to compile because I had to mix both std.ascii and std.uni.
> >> This is happening because I'd like to use the isAlpha from std.uni,
> >> but there are other functions missing from std.uni (like isDigit,
> >> isHexDigit, etc.).
> >> 
> >> I think this was discussed before, but I'm not sure what the
> >> conclusion was. I suggest adding some forwarding aliases to std.uni
> >> for function that have identical implementation, and ensure that the
> >> compiler does not complain about ambiguities if these are just aliases
> >> to the same symbol.
> > 
> > Recalling last discussion on this, the users have to solve this on their
> > own. Be it use unicode everywhere or full std.ascii.xxx/std.uni.xxx or
> > whatever. I ended up using renamed imports.
> 
> There's a simple alias trick that works very well for that sort of thing:
> 
> ------------------------
> module m1;
> void a() {};
> void b() {};
> ------------------------
> module m2;
> void b() {};
> void c() {};
> ------------------------
> module main;
> import m1
> import m2;
> 
> // Nifty trick: Pull m1's b() into local scope,
> // effectively"prioritizing" it.
> private alias m1.b b;
> 
> void main() {
>     b(); // Works: Calls m1.b()
> }
> ------------------------

In theory, that's a great solution, but it doesn't work right now:

http://d.puremagic.com/issues/show_bug.cgi?id=6013

- Jonathan M Davis


More information about the dmd-beta mailing list