// RUN: not --crash %target-swift-frontend %s -emit-ir
class C { }

protocol PI
{
    init()
}

protocol MDS
{
    associatedtype Index : PI
    func f(_ : MVC<Index, Self>, atIndex index : Index) -> C?
}

class MVC<Index : PI, DataSource : MDS>: C where DataSource.Index == Index
{
    
}

struct LPI : PI
{
    var x : Int
    var y : Int
}

extension LPI
{
    init()
    {
        x = 0
        y = 0
    }
}


class LPVC: MVC<LPI, LPVC>
{
    
}

// RUN: not --crash %target-swift-frontend %s -emit-ir

// rdar://26498438
// REQUIRES: no_asan

class C { }

protocol PI
{
    init()
}

protocol MDS
{
    associatedtype Index : PI
    func f(_ : MVC<Index, Self>, atIndex index : Index) -> C?
}

class MVC<Index : PI, DataSource : MDS>: C where DataSource.Index == Index
{
    
}

struct LPI : PI
{
    var x : Int
    var y : Int
}

extension LPI
{
    init()
    {
        x = 0
        y = 0
    }
}


class LPVC: MVC<LPI, LPVC>
{
    
}

Disable test that fails on linux asan bot rdar://26498438
Disable test that fails on linux asan bot
rdar://26498438
