Files
swift-mirror/test/Frontend/debug-diagnostic-names.swift
Slava Pestov 1df3d1a33c Frontend: Don't interleave parsing and typechecking for the main file
SIL files still require this behavior; if we cleaned that up we
could simplify a fair bit of code here.

Fixes <https://bugs.swift.org/browse/SR-284>,
<https://bugs.swift.org/browse/SR-4426>.
2019-12-05 08:45:55 -05:00

24 lines
1.3 KiB
Swift

// RUN: not %target-swift-frontend -debug-diagnostic-names -typecheck %s 2>&1 | %FileCheck %s --check-prefix=CHECK_NAMES
// RUN: not %target-swift-frontend -typecheck %s 2>&1 | %FileCheck %s --check-prefix=CHECK_NONAMES
let x =
// CHECK_NAMES: error: expected initial value after '=' [expected_init_value]{{$}}
// CHECK_NONAMES: error: expected initial value after '='{{$}}
// CHECK_NAMES: warning: expression following 'return' is treated as an argument of the 'return' [unindented_code_after_return]{{$}}
// CHECK_NAMES: note: indent the expression to silence this warning [indent_expression_to_silence]{{$}}
// CHECK_NONAMES: warning: expression following 'return' is treated as an argument of the 'return'{{$}}
// CHECK_NONAMES: note: indent the expression to silence this warning{{$}}
func foo() -> Int {
return
42
}
guard let y = 0 else {}
// CHECK_NAMES: error: initializer for conditional binding must have Optional type, not 'Int' [condition_optional_element_pattern_not_valid_type]{{$}}
// CHECK_NONAMES: error: initializer for conditional binding must have Optional type, not 'Int'{{$}}
let z: Double = ""
// CHECK_NAMES: error: cannot convert value of type 'String' to specified type 'Double' [cannot_convert_initializer_value]{{$}}
// CHECK_NONAMES: error: cannot convert value of type 'String' to specified type 'Double'{{$}}