On Saturday, 11 January 2020 at 17:10:02 UTC, Martin Brezl wrote:
Hi,

i have a function like this:
```
import std.algorithm.iteration : substitute;
//...
string replace(string content, string[] searches , string replace) {
        
        if(searches.empty) return content;

        auto result = content.substitute(searches.front,replace);
        for(size_t i=1; i < searches.length; i++) {
                searches.popFront();
                result = result.substitute(searches.front,replace);
        }
        //...
        return "example return";
}
```

The issue is the double assigned result.

auto result = content.substitute(searches.front,replace);
result = result.substitute(searches.front,replace);

`substitute` is going to return a template range typed off `content` then it uses that type to perform another substitution.

`content` and `result` don't have the same type.


Reply via email to