//===--- FailureKinds.def - Remote failure definitions ----------*- C++ -*-===//
//
// This source file is part of the Swift.org open source project
//
// Copyright (c) 2014 - 2017 Apple Inc. and the Swift project authors
// Licensed under Apache License v2.0 with Runtime Library Exception
//
// See https://swift.org/LICENSE.txt for license information
// See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
//
//===----------------------------------------------------------------------===//

// FAILURE(KIND, TEXT, ARGTYS)

FAILURE(Unknown, "an unknown failure occurred", ())
FAILURE(BadArgument, "the API was called with a bad argument", ())
FAILURE(Unimplemented, "the implementation does not know how to %0", (String))

FAILURE(Memory, "an unknown failure occurred while reading %0 at address %1",
        (String, Address))

FAILURE(DependentArgument,
        "API was called with a dependent type", ())
FAILURE(TypeHasNoSuchMember,
        "type has no member named '%0'", (String))

FAILURE(CouldNotResolveTypeDecl,
        "could not resolve a type with mangled name '%0'", (String))

FAILURE(NotFixedLayout,
        "query cannot be determined for a type with no fixed layout", ())

#undef FAILURE
