Files
swift-mirror/test/decl/init/nil.swift
Anthony Latsis 4099e85da6 [Diagnostics & Tests] SR-6052 Prevent nil capitalization (#16256)
And provide better semantic background by surrounding 'nil' in ticks when it is referred to as a value

Added missing tests for certain cases involving nil capitalization
2018-05-03 09:10:30 -07:00

31 lines
1.4 KiB
Swift

// RUN: %target-typecheck-verify-swift
var a: Int = nil
// expected-error@-1 {{'nil' cannot initialize specified type 'Int'}}
// expected-note@-2 {{add '?' to form the optional type 'Int?'}} {{11-11=?}}
var b: () -> Void = nil
// expected-error@-1 {{'nil' cannot initialize specified type '() -> Void'}}
// expected-note@-2 {{add '?' to form the optional type '(() -> Void)?'}} {{8-8=(}} {{18-18=)?}}
var c, d: Int = nil
// expected-error@-1 {{type annotation missing in pattern}}
// expected-error@-2 {{'nil' cannot initialize specified type 'Int'}}
// expected-note@-3 {{add '?' to form the optional type 'Int?'}} {{14-14=?}}
var (e, f): (Int, Int) = nil
// expected-error@-1 {{'nil' cannot initialize specified type '(Int, Int)'}}
var g: Int = nil, h: Int = nil
// expected-error@-1 {{'nil' cannot initialize specified type 'Int'}}
// expected-note@-2 {{add '?' to form the optional type 'Int?'}} {{11-11=?}}
// expected-error@-3 {{'nil' cannot initialize specified type 'Int'}}
// expected-note@-4 {{add '?' to form the optional type 'Int?'}} {{25-25=?}}
var _: Int = nil
// expected-error@-1 {{'nil' cannot initialize specified type 'Int'}}
// expected-note@-2 {{add '?' to form the optional type 'Int?'}} {{11-11=?}}
// 'nil' can initialize the specified type, if its generic parameters are bound
var _: Array? = nil // expected-error {{generic parameter 'Element' could not be inferred}}