Thread overview
Is it legal to have a function taking two aliased slices?
Jul 10, 2015
ponce
Jul 10, 2015
ponce
July 10, 2015
Example:
    void process(float[] input, float[] output)
    {
      // do stuff
    }


I'd like to sometimes have overlapping slices, and don't want the compiler to assume they do not overlap.


July 10, 2015
On 7/10/15 9:20 AM, ponce wrote:
>
> Example:
>      void process(float[] input, float[] output)
>      {
>        // do stuff
>      }
>
>
> I'd like to sometimes have overlapping slices, and don't want the
> compiler to assume they do not overlap.
>
>

Yes, it's legal, and the compiler doesn't assume anything about the two slices, including whether they overlap or not.

-Steve
July 10, 2015
On Friday, 10 July 2015 at 13:54:47 UTC, Steven Schveighoffer wrote:
> On 7/10/15 9:20 AM, ponce wrote:
>>
>> Example:
>>      void process(float[] input, float[] output)
>>      {
>>        // do stuff
>>      }
>>
>>
>> I'd like to sometimes have overlapping slices, and don't want the
>> compiler to assume they do not overlap.
>>
>>
>
> Yes, it's legal, and the compiler doesn't assume anything about the two slices, including whether they overlap or not.
>
> -Steve

Cool, thanks!