40 columns                              |
>>> Line comment before "var".
if (obj case // c
var x) {;}
<<<
if (obj
    case // c
        var x) {
  ;
}
>>> Line comment after "var".
if (obj case var // c
x) {;}
<<< 3.7
if (obj case var // c
    x) {
  ;
}
<<< 3.8
if (obj
    case var // c
        x) {
  ;
}
>>> Line comment after variable (looks weird, but user should move comment).
if (obj case var x // c
) {;}
<<<
if (obj
    case var x // c
        ) {
  ;
}
>>> Line comment after type.
if (obj case List<int> // c
x) {;}
<<<
if (obj
    case List<int> // c
        x) {
  ;
}
>>> Line comment after type, before long name.
if (obj
    case final // c
    thisIsReallyQuiteAVeryLongVariableName) {
  ;
}
<<< 3.7
if (obj case final // c
    thisIsReallyQuiteAVeryLongVariableName) {
  ;
}
<<< 3.8
if (obj
    case final // c
        thisIsReallyQuiteAVeryLongVariableName) {
  ;
}
