Merge "Avoid accidentally sharing preparers slice across factories" am: 7160699044
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1622438 MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: I6942f827c8a636745a76e62987cb0ba4e1df5698
This commit is contained in:
@@ -564,7 +564,11 @@ type fixtureFactory struct {
|
||||
}
|
||||
|
||||
func (f *fixtureFactory) Extend(preparers ...FixturePreparer) FixtureFactory {
|
||||
all := append(f.preparers, dedupAndFlattenPreparers(f.preparers, preparers)...)
|
||||
// Create a new slice to avoid accidentally sharing the preparers slice from this factory with
|
||||
// the extending factories.
|
||||
var all []*simpleFixturePreparer
|
||||
all = append(all, f.preparers...)
|
||||
all = append(all, dedupAndFlattenPreparers(f.preparers, preparers)...)
|
||||
// Copy the existing factory.
|
||||
extendedFactory := &fixtureFactory{}
|
||||
*extendedFactory = *f
|
||||
|
Reference in New Issue
Block a user