<div dir="ltr">Hi Alex<div><br></div><div>Amended rule 76 gives an example of a switch statement:</div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div><div><font face="courier new, monospace">switch (condition) { </font></div>

</div><div><div><font face="courier new, monospace">  case ABC:</font></div></div><div><div><font face="courier new, monospace">    statements; </font></div></div><div><div><font face="courier new, monospace">    // Fallthrough </font></div>

</div><div><div><font face="courier new, monospace"><br></font></div></div><div><div><font face="courier new, monospace">  case DEF: </font></div></div><div><div><font face="courier new, monospace">    statements; </font></div>

</div><div><div><font face="courier new, monospace">    break;</font></div></div><div><div><font face="courier new, monospace"><br></font></div></div><div><div><font face="courier new, monospace">  case XYZ: </font></div>

</div><div><div><font face="courier new, monospace">    statements; </font></div></div><div><div><font face="courier new, monospace">    break; </font></div></div><div><div><font face="courier new, monospace"><br></font></div>

</div><div><div><font face="courier new, monospace">  default: </font></div></div><div><div><font face="courier new, monospace">    statements; </font></div></div><div><div><font face="courier new, monospace">    break;</font></div>

</div><div><div><font face="courier new, monospace">}</font></div></div></blockquote><div><br></div><div>Rule 76 also states: Note that each <font face="courier new, monospace">case</font> keyword is indented relative to the switch statement as a whole.</div>

<div>This note is not eliminated by the amendment.</div><div><br></div><div><br></div><div>Amended rule 68 permits an additional block layout:</div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div>

<font face="courier new, monospace">while (!done)</font></div><div><font face="courier new, monospace">  {</font></div><div><font face="courier new, monospace">    doSomething();</font></div><div><font face="courier new, monospace">    done = moreToDo();</font></div>

<div><font face="courier new, monospace">  }</font></div></blockquote><div><br></div><div><br></div><div>There is a conflict when two amendments are applied together.</div><div><br></div><div>The note in rule 76 causes <font face="courier new, monospace">case</font> keywords to indent <i>relative to</i> the <font face="courier new, monospace">switch</font> keyword.</div>

<div>The example given indicates that the relative offset is 2 spaces.</div><div><br></div><div>However, when the additional block layout permitted by amended rule 68 is used, <font face="courier new, monospace">case</font> keywords would end up at the same column with { } brackets.</div>

<div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div><font face="courier new, monospace">switch (condition)</font></div><div><font face="courier new, monospace">  {</font></div></blockquote><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px">

<div><font face="courier new, monospace">  case ABC:</font></div></blockquote><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div><font face="courier new, monospace">    statements;</font></div></blockquote>

<blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div><font face="courier new, monospace">    break;</font></div></blockquote><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div><font face="courier new, monospace">  default:</font></div>

</blockquote><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div><font face="courier new, monospace">    statements;</font></div></blockquote><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px">

<div><font face="courier new, monospace">    break;</font></div></blockquote><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div><font face="courier new, monospace">  }</font></div></blockquote></div>

<div><br></div><div>Is this the intended layout, or should <font face="courier new, monospace">case</font> keywords be indented 4 spaces after <font face="courier new, monospace">switch</font> keyword (2 spaces after { } brackets)?</div>

<div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div><font face="courier new, monospace">switch (condition)</font></div><div><font face="courier new, monospace">  {</font></div></blockquote><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px">

<font face="courier new, monospace">    case ABC:</font></blockquote><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><font face="courier new, monospace">      statements;</font></blockquote><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px">

<font face="courier new, monospace">      break;</font></blockquote><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><font face="courier new, monospace">    default:</font></blockquote><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px">

<font face="courier new, monospace">      statements;</font></blockquote><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><font face="courier new, monospace">      break;</font></blockquote><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px">

<font face="courier new, monospace">  }</font></blockquote></div><div><br></div><div>Yours, Junxiao</div></div>