// RUN: %empty-directory(%t) 
// RUN: %target-build-swift -O %s -o %t/a.out
// RUN: %target-run %t/a.out | %FileCheck %s

// REQUIRES: executable_test

// Check that the compiled code does not crash because of an over-release.
// End-to-end test for rdar://problem/48906146.

struct LCRNG: RandomNumberGenerator {
  private var state: UInt64

  init(seed: Int) {
    state = UInt64(truncatingIfNeeded: seed)
    for _ in 0..<10 { _ = next() }
  }

  mutating func next() -> UInt64 {
    state = 2862933555777941757 &* state &+ 3037000493
    return state
  }
}


func test(_ body: () -> Void) {
  body()
}

test {
  var rng = LCRNG(seed: 42)
  let v = Array(0..<3).shuffled(using: &rng)
  // CHECK: 3
  print(v.count)
}

