Working with ranges: mismatched function return type inference

2016-10-11 Thread orip via Digitalmars-d-learn
I get "Error: mismatched function return type inference" errors with choosing the return type for functions that work on ranges using, e.g, std.algorithm or std.range functions, but have different behavior based on runtime values. The return type is always a range with the same underlying type.

Re: Working with ranges: mismatched function return type inference

2016-10-11 Thread orip via Digitalmars-d-learn
On Tuesday, 11 October 2016 at 13:06:37 UTC, pineapple wrote: Rewrite `return chain(ints[0..5], ints[8..$]);` as `return ints[0..5] ~ ints[8..$];` The `chain` function doesn't return an array, it returns a lazily-evaluated sequence of an entirely different type from `int[]`. Of course it do

Re: Working with ranges: mismatched function return type inference

2016-10-11 Thread orip via Digitalmars-d-learn
On Tuesday, 11 October 2016 at 18:09:26 UTC, ag0aep6g wrote: You've got some options: Wow, thanks everyone, great information! I think I understand my options now.