blob: c584278ed851bae1699ed140d38c019f326ad9a3 [file] [log] [blame]
// RUN: %empty-directory(%t)
// RUN: cp %s %t/main.swift
// RUN: %target-swift-frontend -typecheck -verify -primary-file %t/main.swift %S/Inputs/Error_other.swift
enum ClericalErrorDomain: Error {
case MisplacedDocument(name: String)
case AccidentallyErasedTape(fromMinute: Double, toMinute: Double)
}
let error
= ClericalErrorDomain.AccidentallyErasedTape(fromMinute: 5, toMinute: 23.5)
let domain: String = error._domain
let code: Int = error._code
struct UseEnumBeforeDeclaration {
let errorDomain: String = EnumToUseBeforeDeclaration.A._domain
let errorCode: Int = EnumToUseBeforeDeclaration.A._code
}
enum EnumToUseBeforeDeclaration: Error {
case A
}
let domainFromOtherFile: String = FromOtherFile.A._domain
let codeFromOtherFile: Int = AlsoFromOtherFile.A._code
enum NotAnError { case A }
let notAnErrorDomain: String = NotAnError.A._domain // expected-error{{value of type 'NotAnError' has no member '_domain'}}
let notAnErrorCode: Int = NotAnError.A._code // expected-error{{value of type 'NotAnError' has no member '_code'}}
enum EmptyErrorDomain: Error {}
struct ErrorStruct : Error {
}
class ErrorClass : Error {
}
struct ErrorStruct2 { }
extension ErrorStruct2 : Error { }
class ErrorClass2 { }
extension ErrorClass2 : Error { }