// Copyright 2023 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include <vector>
struct StackAllocatedType {
using IsStackAllocatedTypeMarker [[maybe_unused]] = int;
};
struct StackAllocatedSubType : public StackAllocatedType {};
struct NonStackAllocatedType {};
struct MyStruct {
StackAllocatedType* excluded_a;
StackAllocatedSubType* excluded_b;
std::vector<StackAllocatedType>* excluded_c;
std::vector<StackAllocatedSubType>* excluded_d;
StackAllocatedType& excluded_ref_a;
StackAllocatedSubType& excluded_ref_b;
std::vector<StackAllocatedType>& excluded_ref_c;
std::vector<StackAllocatedSubType>& excluded_ref_d;
NonStackAllocatedType* err_a;
std::vector<NonStackAllocatedType>* err_b;
NonStackAllocatedType& err_ref_a;
std::vector<NonStackAllocatedType>& err_ref_b;
};