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.