mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
97 lines
2.0 KiB
Swift
97 lines
2.0 KiB
Swift
// RUN: not %target-swift-frontend -diagnostic-style=swift -typecheck %/s 2>&1 | %FileCheck %s
|
|
|
|
// REQUIRES: swift_swift_parser
|
|
|
|
1 + 2
|
|
|
|
func foo(a: Int, b: Int) {
|
|
a + b
|
|
}
|
|
|
|
foo(b: 1, a: 2)
|
|
|
|
|
|
func baz() {
|
|
bar(a: "hello, world!")
|
|
}
|
|
|
|
struct Foo {
|
|
var x: Int
|
|
var x: Int
|
|
}
|
|
|
|
func bar(a: Int) {}
|
|
func bar(a: Float) {}
|
|
|
|
|
|
func bazz() throws {
|
|
|
|
}
|
|
bazz()
|
|
|
|
struct A {}
|
|
extension A {
|
|
let x: Int = { 42 }
|
|
}
|
|
|
|
let abc = "👍
|
|
|
|
let x = {
|
|
let y = 1
|
|
return y
|
|
}
|
|
|
|
struct B: Decodable {
|
|
let a: Foo
|
|
}
|
|
|
|
// The line below is indented with tabs, not spaces.
|
|
foo(b: 1, a: 2)
|
|
|
|
let 👍👍👍 = {
|
|
let y = 1
|
|
return y
|
|
}
|
|
|
|
// Multi-line fix-its
|
|
foo(b: 1,
|
|
a: 2)
|
|
|
|
foo(b:
|
|
1,
|
|
a:
|
|
2)
|
|
|
|
foo(b:
|
|
1,
|
|
a: 2)
|
|
|
|
// Test for child notes attached directly to a "primary" error/warning diagnostic
|
|
func test(a: Int) {}
|
|
func test(a: Int) {}
|
|
|
|
// Test fallback for non-ASCII characters.
|
|
// CHECK: SOURCE_DIR{{[/\]+}}test{{[/\]+}}diagnostics{{[/\]+}}pretty-printed-diagnostics.swift:[[#LINE:]]:11
|
|
// CHECK: [[#LINE-2]] |
|
|
// CHECK: [[#LINE]] | let abc = "👍
|
|
// CHECK: | `- error: unterminated string literal
|
|
// CHECK: [[#LINE+1]] |
|
|
|
|
// CHECK: SOURCE_DIR{{[/\]+}}test{{[/\]+}}diagnostics{{[/\]+}}pretty-printed-diagnostics.swift:[[#LINE:]]:3
|
|
// CHECK: [[#LINE-1]] |
|
|
// CHECK: [[#LINE]] | 1 + 2
|
|
// CHECK: | `- warning: result of operator '+' is unused
|
|
// CHECK: [[#LINE+1]] |
|
|
|
|
// CHECK: SOURCE_DIR{{[/\]+}}test{{[/\]+}}diagnostics{{[/\]+}}pretty-printed-diagnostics.swift:[[#LINE:]]:11
|
|
// CHECK: [[#LINE-1]] |
|
|
// CHECK: [[#LINE]] | foo(b: 1, a: 2)
|
|
// CHECK: | `- error: argument 'a' must precede argument 'b'
|
|
// CHECK: [[#LINE+1]] |
|
|
|
|
// CHECK: SOURCE_DIR{{[/\]+}}test{{[/\]+}}diagnostics{{[/\]+}}pretty-printed-diagnostics.swift:[[#LINE:]]:6
|
|
// CHECK: [[#LINE-1]] | func test(a: Int) {}
|
|
// CHECK: | `- note: 'test(a:)' previously declared here
|
|
// CHECK: [[#LINE]] | func test(a: Int) {}
|
|
// CHECL: [[#LINE+1]] | `- error: invalid redeclaration of 'test(a:)'
|