It's required in following situations: 1. As a base class. 2. As a data member. 3. As an array element type. Reviewed By: labath Differential Revision: https://reviews.llvm.org/D134066