explicit castable to bool for predicate restraints?

2012-12-17 Thread monarch_dodra
I had a discussion a little while ago, regarding the validation of predicates. Basically, fearing that someone may write a predicate that returned some weird user-defined type that wasn't bool-able, I wrote: // void foo(Range, S)(Range r, S s) if (isForwardRange!Range && is(typeof(r.f

Re: explicit castable to bool for predicate restraints?

2012-12-17 Thread Jonathan M Davis
On Monday, December 17, 2012 10:23:45 monarch_dodra wrote: > Opinions? Just want to know how which direction to take my future > developments. How about we just require that they all return bool? I see no reason to support anything else. - Jonathan M Davis

Re: explicit castable to bool for predicate restraints?

2012-12-18 Thread monarch_dodra
On Monday, 17 December 2012 at 23:40:19 UTC, Jonathan M Davis wrote: On Monday, December 17, 2012 10:23:45 monarch_dodra wrote: Opinions? Just want to know how which direction to take my future developments. How about we just require that they all return bool? I see no reason to support any

Re: explicit castable to bool for predicate restraints?

2012-12-18 Thread Jonathan M Davis
On Tuesday, December 18, 2012 10:23:18 monarch_dodra wrote: > On Monday, 17 December 2012 at 23:40:19 UTC, Jonathan M Davis > > wrote: > > On Monday, December 17, 2012 10:23:45 monarch_dodra wrote: > >> Opinions? Just want to know how which direction to take my > >> future > >> developments. > >

Re: explicit castable to bool for predicate restraints?

2012-12-18 Thread Jonathan M Davis
On Tuesday, December 18, 2012 01:45:14 Jonathan M Davis wrote: > On Tuesday, December 18, 2012 10:23:18 monarch_dodra wrote: > > On Monday, 17 December 2012 at 23:40:19 UTC, Jonathan M Davis > > > > wrote: > > > On Monday, December 17, 2012 10:23:45 monarch_dodra wrote: > > >> Opinions? Just want

Re: explicit castable to bool for predicate restraints?

2012-12-18 Thread monarch_dodra
On Tuesday, 18 December 2012 at 10:08:12 UTC, Jonathan M Davis wrote: We're probably stuck with std.algorithm allowing implict conversions to bool due to the fact that a fair bit of it has accepted that for a while, but accepting anything which explictly casts to bool would be tantamount to t