// RUN: %scale-test --sum-multi --begin 5 --end 16 --step 5 --select InterfaceTypeRequest %s
// REQUIRES: asserts

struct Struct${N} {
% if int(N) > 1:
    func method(_: Struct${int(N)-1}) {}
    var prop: Struct${int(N)-1} { return Struct${int(N)-1}() }
    static var prop = Struct${int(N)-1}()
    subscript(n: Int) -> Struct${int(N)-1} { return Struct${int(N)-1}() }
% else:
    func method() {}
    var prop: Int { return 0 }
    static var prop = 0
    subscript(n: Int) -> Int { return 0 }
% end
}
