File: call_function_with_tuple.swift

package info (click to toggle)
swiftlang 6.2.3-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 2,856,264 kB
  • sloc: cpp: 9,995,718; ansic: 2,234,019; asm: 1,092,167; python: 313,940; objc: 82,726; f90: 80,126; lisp: 38,373; pascal: 25,580; sh: 20,378; ml: 5,058; perl: 4,751; makefile: 4,725; awk: 3,535; javascript: 3,018; xml: 918; fortran: 664; cs: 573; ruby: 396
file content (21 lines) | stat: -rw-r--r-- 801 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// RUN: %target-typecheck-verify-swift

func twoArgs(_ a: Int, _ b: Int) -> Void { //expected-note{{'twoArgs' declared here}}
}

func call() {
  // Call a function that takes two unnamed arguments with a tuple that has two
  // named arguments
  let namedTuple: (x: Int, y: Int) = (1, 1)
  twoArgs(namedTuple) // expected-error{{global function 'twoArgs' expects 2 separate arguments}} expected-error{{missing argument label ':' in call}}
}

func foo(_: (Int, Int)) -> String {}

func test() -> String {
  return foo((0, true))
  // expected-error@-1 {{cannot convert value of type '(Int, Bool)' to expected argument type '(Int, Int)'}}
}

func bar(_: (Int,Int), _: (Int,Bool)) {} // expected-note {{'bar' declared here}}
bar((0,false)) // expected-error {{missing argument for parameter #1 in call}}