Is it legal to have a function taking two aliased slices?

2015-07-10 Thread ponce via Digitalmars-d-learn


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.





Re: Is it legal to have a function taking two aliased slices?

2015-07-10 Thread ponce via Digitalmars-d-learn
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!


Re: Is it legal to have a function taking two aliased slices?

2015-07-10 Thread Steven Schveighoffer via Digitalmars-d-learn

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