//<Expects id="FS0058" status="warning" span="(60,9)">Possible incorrect indentation: this token is offside of context started at position \(59:19\). Try indenting this token further or using standard formatting conventions.</Expects>
//<Expects id="FS0058" status="warning" span="(60,9)">Possible incorrect indentation: this token is offside of context started at position \(59:19\). Try indenting this token further or using standard formatting conventions.</Expects>
//<Expects id="FS0058" status="warning" span="(64,9)">Possible incorrect indentation: this token is offside of context started at position \(63:21\). Try indenting this token further or using standard formatting conventions.</Expects>
//<Expects id="FS0058" status="warning" span="(64,9)">Possible incorrect indentation: this token is offside of context started at position \(63:21\). Try indenting this token further or using standard formatting conventions.</Expects>
//<Expects id="FS0058" status="warning" span="(70,3)">Possible incorrect indentation: this token is offside of context started at position \(69:23\). Try indenting this token further or using standard formatting conventions.</Expects>
//<Expects id="FS0058" status="warning" span="(70,3)">Possible incorrect indentation: this token is offside of context started at position \(69:23\). Try indenting this token further or using standard formatting conventions.</Expects>
//<Expects id="FS0058" status="warning" span="(78,7)">Possible incorrect indentation: this token is offside of context started at position \(77:25\). Try indenting this token further or using standard formatting conventions.</Expects>
//<Expects id="FS0058" status="warning" span="(78,7)">Possible incorrect indentation: this token is offside of context started at position \(77:25\). Try indenting this token further or using standard formatting conventions.</Expects>
//<Expects id="FS0058" status="warning" span="(84,7)">Possible incorrect indentation: this token is offside of context started at position \(83:21\). Try indenting this token further or using standard formatting conventions.</Expects>
//<Expects id="FS0058" status="warning" span="(84,7)">Possible incorrect indentation: this token is offside of context started at position \(83:21\). Try indenting this token further or using standard formatting conventions.</Expects>
//<Expects id="FS0058" status="warning" span="(89,7)">Possible incorrect indentation: this token is offside of context started at position \(88:25\). Try indenting this token further or using standard formatting conventions.</Expects>
//<Expects id="FS0058" status="warning" span="(89,7)">Possible incorrect indentation: this token is offside of context started at position \(88:25\). Try indenting this token further or using standard formatting conventions.</Expects>
//<Expects id="FS0058" status="warning" span="(92,5)">Possible incorrect indentation: this token is offside of context started at position \(91:20\). Try indenting this token further or using standard formatting conventions.</Expects>
//<Expects id="FS0058" status="warning" span="(92,5)">Possible incorrect indentation: this token is offside of context started at position \(91:20\). Try indenting this token further or using standard formatting conventions.</Expects>
//<Expects id="FS0058" status="warning" span="(96,9)">Possible incorrect indentation: this token is offside of context started at position \(95:21\). Try indenting this token further or using standard formatting conventions.</Expects>
//<Expects id="FS0058" status="warning" span="(96,9)">Possible incorrect indentation: this token is offside of context started at position \(95:21\). Try indenting this token further or using standard formatting conventions.</Expects>
//<Expects id="FS0058" status="warning" span="(101,2)">Possible incorrect indentation: this token is offside of context started at position \(100:20\). Try indenting this token further or using standard formatting conventions.</Expects>
//<Expects id="FS0058" status="warning" span="(101,2)">Possible incorrect indentation: this token is offside of context started at position \(100:20\). Try indenting this token further or using standard formatting conventions.</Expects>
//<Expects id="FS0058" status="warning" span="(105,6)">Possible incorrect indentation: this token is offside of context started at position \(104:21\). Try indenting this token further or using standard formatting conventions.</Expects>
//<Expects id="FS0058" status="warning" span="(105,6)">Possible incorrect indentation: this token is offside of context started at position \(104:21\). Try indenting this token further or using standard formatting conventions.</Expects>
//<Expects id="FS0058" status="warning" span="(60,9)">Possible incorrect indentation: this token is offside of context started at position \(59:19\). Try indenting this token further or using standard formatting conventions.</Expects>
//<Expects id="FS0058" status="warning" span="(60,9)">Possible incorrect indentation: this token is offside of context started at position \(59:19\). Try indenting this token further or using standard formatting conventions.</Expects>
//<Expects id="FS0058" status="warning" span="(64,9)">Possible incorrect indentation: this token is offside of context started at position \(63:21\). Try indenting this token further or using standard formatting conventions.</Expects>
//<Expects id="FS0058" status="warning" span="(64,9)">Possible incorrect indentation: this token is offside of context started at position \(63:21\). Try indenting this token further or using standard formatting conventions.</Expects>
//<Expects id="FS0058" status="warning" span="(70,3)">Possible incorrect indentation: this token is offside of context started at position \(69:23\). Try indenting this token further or using standard formatting conventions.</Expects>
//<Expects id="FS0058" status="warning" span="(70,3)">Possible incorrect indentation: this token is offside of context started at position \(69:23\). Try indenting this token further or using standard formatting conventions.</Expects>
//<Expects id="FS0058" status="warning" span="(78,7)">Possible incorrect indentation: this token is offside of context started at position \(77:25\). Try indenting this token further or using standard formatting conventions.</Expects>
//<Expects id="FS0058" status="warning" span="(78,7)">Possible incorrect indentation: this token is offside of context started at position \(77:25\). Try indenting this token further or using standard formatting conventions.</Expects>
//<Expects id="FS0058" status="warning" span="(84,7)">Possible incorrect indentation: this token is offside of context started at position \(83:21\). Try indenting this token further or using standard formatting conventions.</Expects>
//<Expects id="FS0058" status="warning" span="(84,7)">Possible incorrect indentation: this token is offside of context started at position \(83:21\). Try indenting this token further or using standard formatting conventions.</Expects>
//<Expects id="FS0058" status="warning" span="(89,7)">Possible incorrect indentation: this token is offside of context started at position \(88:25\). Try indenting this token further or using standard formatting conventions.</Expects>
//<Expects id="FS0058" status="warning" span="(89,7)">Possible incorrect indentation: this token is offside of context started at position \(88:25\). Try indenting this token further or using standard formatting conventions.</Expects>
//<Expects id="FS0058" status="warning" span="(92,5)">Possible incorrect indentation: this token is offside of context started at position \(91:20\). Try indenting this token further or using standard formatting conventions.</Expects>
//<Expects id="FS0058" status="warning" span="(92,5)">Possible incorrect indentation: this token is offside of context started at position \(91:20\). Try indenting this token further or using standard formatting conventions.</Expects>
//<Expects id="FS0058" status="warning" span="(96,9)">Possible incorrect indentation: this token is offside of context started at position \(95:21\). Try indenting this token further or using standard formatting conventions.</Expects>
//<Expects id="FS0058" status="warning" span="(96,9)">Possible incorrect indentation: this token is offside of context started at position \(95:21\). Try indenting this token further or using standard formatting conventions.</Expects>
//<Expects id="FS0058" status="warning" span="(101,2)">Possible incorrect indentation: this token is offside of context started at position \(100:20\). Try indenting this token further or using standard formatting conventions.</Expects>
//<Expects id="FS0058" status="warning" span="(101,2)">Possible incorrect indentation: this token is offside of context started at position \(100:20\). Try indenting this token further or using standard formatting conventions.</Expects>
//<Expects id="FS0058" status="warning" span="(105,6)">Possible incorrect indentation: this token is offside of context started at position \(104:21\). Try indenting this token further or using standard formatting conventions.</Expects>
//<Expects id="FS0058" status="warning" span="(105,6)">Possible incorrect indentation: this token is offside of context started at position \(104:21\). Try indenting this token further or using standard formatting conventions.</Expects>


module Global

let failures = ref []

let report_failure (s : string) = 
    stderr.Write" NO: "
    stderr.WriteLine s
    failures := !failures @ [s]

let test (s : string) b = 
    stderr.Write(s)
    if b then stderr.WriteLine " OK"
    else report_failure (s)

let check s b1 b2 = test s (b1 = b2)

type OffsideCheck(a:int,
        b:int, c:int, // 4.6 warning: 4.7 no warning
        d:int, e:int,
        f:int) =
    static member M(a:int,
        b:int, c:int, // 4.6 warning: 4.7 no warning
        d:int, e:int,
        f:int) = 1

module M = 
    type OffsideCheck(a:int,
  b:int, c:int, // 4.6 warning: 4.7 warning
  d:int, e:int,
  f:int) =
        class end

module M2 = 
    type OffsideCheck() =
        static member M(a:int,
      b:int, c:int, // 4.6 warning: 4.7 warning
      d:int, e:int,
      f:int) = 1

type C() = 
    static member P with get() = 
      1 // 4.6 warning: 4.7 no warning

module M3 = 
    type C() = 
        static member P with get() = 
      1 // warning

type OffsideCheck2(a:int,
    b:int, c:int, // 4.6 warning: 4.7 no warning
    d:int, e:int,
    f:int) =
    static member M(a:int,
        b:int, c:int, // 4.6 warning: 4.7 no warning
        d:int, e:int,
        f:int) = 1

type OffsideCheck3(a:int,
 b:int, c:int, // no warning
 d:int, e:int,
 f:int) =
    static member M(a:int,
     b:int, c:int, // 4.6 warning: 4.7 no warning
     d:int, e:int,
     f:int) = 1

#if TESTS_AS_APP
let RUN() = !failures
#else
let aa =
  match !failures with 
  | [] -> 
      stdout.WriteLine "Test Passed"
      System.IO.File.WriteAllText("test.ok","ok")
      exit 0
  | _ -> 
      stdout.WriteLine "Test Failed"
      exit 1
#endif
