D dropped in favour of C# for PSP emulator
Jonathan M Davis
jmdavisProg at gmx.com
Fri May 11 17:00:44 PDT 2012
On Friday, May 11, 2012 16:47:44 Ali Çehreli wrote:
> On 05/11/2012 02:45 PM, Timon Gehr wrote:
> > On 05/11/2012 10:10 PM, Nick Sabalausky wrote:
> >> I use 'in' all the time, and I never even think about it returning a
> >> pointer. I just do:
> >>
> >> if(foo in bar)
> >>
> >> And it just works. So I don't see a particularly big problem here.
> >
> > Try this:
> >
> > bool fun(){ return foo in bar; }
>
> Isn't that an inconsistency in the language then? Are pointer values
> implicitly convertible to bool or not?
No. They're not. Very little in D is implicitly convertable to bool.
Conditions in if statements and loops are special.
if(cond) {}
gets translated to
if(cast(bool)cond) {}
So, in the case of in inside an if condition, you get
if(cast(bool)(foo in bar)) {}
- Jonathan M Davis
More information about the Digitalmars-d
mailing list