mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
- In functions called from resolveType(), consistently use a Type() return value to indicate 'unsatisfied dependency', and ErrorType to indicate failure. - Plumb the unsatisfiedDependency callback through the resolution of the arguments of BoundGenericTypes, and also pass down the options. - Before doing a conformance check on the argument of a BoundGenericType, kick off a TypeCheckSuperclass request if the type in question is a class. This ensures we don't recurse through NominalTypeDecl::prepareConformanceTable(), which wants to see a class with a valid superclass. - The ResolveTypeOfDecl request was assuming that the request was satisfied after calling validateDecl(). This is not the case when the ITC is invoked from a recursive call to validateDecl(), hack this up by returning *true* from isResolveTypeDeclSatisfied(); otherwise we assert in satisfy(), and we can't make forward progress in this case anyway. - Fix a bug in cycle breaking; it seems if we don't invoke the cycle break callback on all pending requests, we end up looping forever in an outer call to satisfy(). - Remove unused TR_GlobalTypeAlias option.
15 lines
532 B
Swift
15 lines
532 B
Swift
// This source file is part of the Swift.org open source project
|
|
// Copyright (c) 2014 - 2016 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
|
|
|
|
// RUN: not %target-swift-frontend %s -emit-ir
|
|
func e={var _{}func a<a{
|
|
struct B{
|
|
{}class A:Range<A>:A:f=c
|
|
protocol a{enum toypealias f=d:A{{enum A{var b:a(_(A
|
|
switch{
|
|
typealias e=B:
|