mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +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.
12 lines
444 B
Swift
12 lines
444 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
|
|
super.s
|
|
protocol A{struct b
|
|
class d<T>:Range<b>
|