// RUN: %target-swift-frontend -typecheck -verify fix-string-substring-conversion %s

let s = "Hello"
let ss = s[s.startIndex..<s.endIndex]

// CTP_Initialization
do {
  let s1: Substring = { return s }()[]
  _ = s1
}

// CTP_ReturnStmt
do {
  func returnsASubstring() -> Substring {
    return s[]
  }
}

// CTP_ThrowStmt
// Doesn't really make sense for this fix-it - see case in diagnoseContextualConversionError:
// The conversion destination of throw is always ErrorType (at the moment)
// if this ever expands, this should be a specific form like () is for
// return.

// CTP_EnumCaseRawValue
// Substrings can't be raw values because they aren't literals.

// CTP_DefaultParameter
do {
  func foo(x: Substring = s[]) {}
}

// CTP_CalleeResult
do {
  func getString() -> String { return s[] }
  let gottenSubstring: Substring = getString()[]
  _ = gottenSubstring
}

// CTP_CallArgument
do {
  func takesASubstring(_ ss: Substring) {}
  takesASubstring(s[])
}

// CTP_ClosureResult
do {
  [s].map { (x: String) -> Substring in x[] }
}

// CTP_ArrayElement
do {
  let a: [Substring] = [ s[] ]
  _ = a
}

// CTP_DictionaryKey
do {
  let d: [ Substring : Substring ] = [ s[] : ss ]
  _ = d
}

// CTP_DictionaryValue
do {
  let d: [ Substring : Substring ] = [ ss : s[] ]
  _ = d
}

// CTP_CoerceOperand
do {
  let s1: Substring = s[] as Substring
  _ = s1
}

// CTP_AssignSource
do {
  let s1: Substring = s[]
  _ = s1
}

