A summary of compiler crashers still open as of 2017/2/9. Thanks to @slavapestov for further diagnosis on several of these.
By @rudkx in swiftlang/swift#7481:
-
struct A{let d}A(_,print())
28654-hastype-e-expected-type-to-have-been-set.swift -
A(_{}struct A{var f
28590-exprtypes-e-isequal-e-gettype-expected-type-in-map-to-be-the-same-type-in-expres.swift
SourceRange bug with ExprPattern and trailing closures:
switch{case.b(u){
28653-child-source-range-not-contained-within-its-parent.swift
Parsing issue with conditional compilation blocks:
#if0 guard let c:}
28630-anonymous-namespace-verifier-walktostmtpost-swift-stmt.swift
Limitation of LLVM SourceMgr handling multibyte characters when printing diagnostics:
Attempt to verify accessibility of d
before it's been set:
{guard let{protocol A{extension{let d}}}let f=d
28482-hasaccessibility-accessibility-not-computed-yet.swift
Issue with optional bindings and ConditionalCheckedCastExpr: Assertion failed: (destOptionals.size() - destExtraOptionals <= srcOptionals.size())
Issue with inout
+@lvalue
-ness: cannot have 'inout' or @lvalue wrapped inside an @lvalue
&[_=(&_
28626-objectty-is-lvaluetype-objectty-is-inouttype-cannot-have-inout-or-lvalue-wrapped.swift
lazy var getter erroneously typechecked twice:
class d{lazy var f={_={
28509-allowoverwrite-e-haslvalueaccesskind-l-value-access-kind-has-already-been-set.swift
[.h=_
28618-unreachable-executed-at-swift-include-swift-ast-exprnodes-def-78.swiftnil?=nil
28628-gettype-e-isassignabletype-setting-access-kind-on-non-l-value.swift[(t:_._=(
28627-unreachable-executed-at-swift-include-swift-ast-exprnodes-def-79.swift
OpenExistentialExpr issues:
protocol A{func a();struct B{lazy var f=a
28508-unreachable-executed-at-swift-lib-sema-csgen-cpp-2656.swiftprotocol a { }; extension a { func b(){ a.b(self)() } }
28689-swift-lowering-silgenfunction-emitopenexistential.swift
Unhandled coercion
during coerceToType:
Normal circularity check is bypassed: type is its own superclass
struct c{class A:A{}var f=A.s
28350-swift-typechecker-performtypocorrection.swiftstruct B{let d=A.b}class A:A{let a=V
28389-swift-lookupvisibledecls.swift
Name conflicts between function param and circular protocols:
protocol a:A{class d{func b(a=}}protocol A:a{class a
28599-false-should-have-found-context-by-now.swift
Circularity check defeated by bound generic type:
protocol a:b{}; protocol b:Range<a> {}
28604-isinheritedprotocolsvalid.swift
(I suspect @rudkx's ongoing work will fix these.)
Type variables which are invalid with respect to the ConstraintGraph's TypeVariables (suggesting they have escaped):
(_==_{return($0)u
28663-impl-getgraphindex-typevariables-size-out-of-bounds-index.swift[.s{return($0;protocol r
28664-typevariables-impl-getgraphindex-typevar-type-variable-mismatch.swift
Type variable (from OverloadedDeclRefExpr) escapes the type checker. The below are all variants of:
func f(x: UInt = 1 + 1 as? Int) {}
- 28652-anonymous-namespace-verifier-verifychecked-swift-type-llvm-smallptrset-swift-arc.swift
- 28656-unreachable-executed-at-swift-lib-ast-type-cpp-1137.swift
- 28657-unreachable-executed-at-swift-lib-ast-type-cpp-1344.swift
- 28658-result-case-not-implemented.swift
- 28659-isactuallycanonicalornull-forming-a-cantype-out-of-a-non-canonical-type.swift
- 28661-swift-typebase-getcanonicaltype.swift
- 28665-result-case-not-implemented.swift
- 28667-result-case-not-implemented.swift
- 28672-result-case-not-implemented.swift
- 28673-swift-typebase-getcanonicaltype.swift
- 28675-swift-typebase-getdesugaredtype.swift
- 28676-anonymous-namespace-findcapturedvars-checktype-swift-type-swift-sourceloc.swift
- 28676-currentconstraintsolverarena-no-constraint-solver-active.swift
- 28677-isactuallycanonicalornull-forming-a-cantype-out-of-a-non-canonical-type.swift
- 28678-result-case-not-implemented.swift
- 28679-swift-typebase-getcanonicaltype.swift
- 28680-swift-typebase-getdesugaredtype.swift
- 28681-swift-typebase-getcanonicaltype.swift
- 28683-result-case-not-implemented.swift
- 28684-isactuallycanonicalornull-forming-a-cantype-out-of-a-non-canonical-type.swift
- 28685-unreachable-executed-at-swift-lib-ast-type-cpp-1344.swift
- 28686-swift-typebase-getcanonicaltype.swift
- 28687-unreachable-executed-at-swift-lib-ast-type-cpp-1349.swift
IterativeTypeChecker issue with inheritance clause:
class a{let d= <H class B{extension{protocol A{typealias e:a func<
28598-issatisfied-request.swift
Found opened existential archetype A outside enclosing OpenExistentialExpr
:
protocol A:RangeReplaceableCollection{};guard let c=A.init(
28605-anonymous-namespace-verifier-verifychecked-swift-type-llvm-smallptrset-swift-arc.swift
(()||()x
treated as a partial apply: