in not working for arrays is silly, change my view

Steven Schveighoffer schveiguy at gmail.com
Mon Mar 2 15:47:26 UTC 2020


On 3/2/20 6:52 AM, Andrea Fontana wrote:
> On Saturday, 29 February 2020 at 20:11:24 UTC, Steven Schveighoffer wrote:
>> 1. in is supposed to be O(lg(n)) or better. Generic code may depend on 
>> this property. Searching an array is O(n).
> 
> Probably it should work if we're using a "SortedRange".
> 
> 
> int[] a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
> auto p = assumeSorted(a);
> 
> assert(3 in p);
> 
> 

That could work. Currently, you need to use p.contains(3). opIn could be 
added as a shortcut.

It only makes sense if you have it as a literal though, as p.contains(3) 
isn't that bad to use:

assert(3 in [0, 1, 2, 3, 4, 5, 6, 7, 8, 9].assumeSorted);

-Steve


More information about the Digitalmars-d-learn mailing list