How do I get an array from filter's result?
    Jonathan M Davis 
    jmdavisprog at gmail.com
       
    Tue Jul 27 17:35:33 PDT 2010
    
    
  
On Tuesday, July 27, 2010 17:24:27 Nick Sabalausky wrote:
> On 2.047, this:
> 
> import std.algorithm;
> import std.array;
> void main()
> {
>     string[] result =
>         array(
>             filter!( (string a) { return a != "b"; } )
>             (["a", "b", "c"])
>         );
> }
> 
> Gives me this:
> 
> testfilter.d(6): Error: template std.array.array(Range) if
> (isForwardRange!(Range)) does not match any function template declaration
> testfilter.d(6): Error: template std.array.array(Range) if
> (isForwardRange!(Range)) cannot deduce template function from argument
> types !()(Filter!(__dgliteral1,string[]))
The forward range stuff is broken in 2.047. save() was added to the definition for 
isForwardRange(), but a bunch of forward ranges didn't get it added. It's been 
fixed in svn.
- Jonathan M Davis
    
    
More information about the Digitalmars-d-learn
mailing list