﻿# V3538\. AUTOSAR\. The result of an assignment expression should not be used\.

This diagnostic rule is based on the software development guidelines developed by [AUTOSAR](https://www.autosar.org/) \(AUTomotive Open System ARchitecture\)\.

Using the assignment operation in subexpressions introduces an additional side effect making the code less readable and more susceptible to new mistakes\.

Besides, following this rule significantly reduces the risk of confusing the operators '\=' and '\=\='\. 

Example of non\-compliant code:

```cpp
int Inc(int i)
{
  return i += 1; // <=
}

void neg(int a, int b)
{
  int c = a = b; // <=

  Inc(a = 1);    // <=

  if(a = b) {}   // <=
}
```