Bug: Build fails with RefPtr error: "member access into incomplete type 'nsAtom'"
Status: RESOLVED
Priority: --
Resolution: WORKSFORME
Created: 2022-04-05 00:25:45+00:00
Resolved: 2022-07-19 08:12:43+00:00

```
 4:04.87 In file included from /home/ben/tb/mozilla/comm/mail/components/build/nsMailComps.cpp:6:
 4:04.87 In file included from /home/ben/tb/mozilla/obj-x86_64-pc-linux-gnu/dist/include/mozilla/ModuleUtils.h:13:
 4:04.87 In file included from /home/ben/tb/mozilla/obj-x86_64-pc-linux-gnu/dist/include/mozilla/Module.h:12:
 4:04.87 In file included from /home/ben/tb/mozilla/obj-x86_64-pc-linux-gnu/dist/include/nsIFactory.h:10:
 4:04.87 In file included from /home/ben/tb/mozilla/obj-x86_64-pc-linux-gnu/dist/include/nsISupports.h:82:
 4:04.87 In file included from /home/ben/tb/mozilla/obj-x86_64-pc-linux-gnu/dist/include/nsISupportsUtils.h:17:
 4:04.88 /home/ben/tb/mozilla/obj-x86_64-pc-linux-gnu/dist/include/mozilla/RefPtr.h:50:38: error: member access into incomplete type 'nsAtom'
 4:04.88   static void Release(U* aPtr) { aPtr->Release(); }
 4:04.88                                      ^
 4:04.88 /home/ben/tb/mozilla/obj-x86_64-pc-linux-gnu/dist/include/mozilla/RefPtr.h:381:62: note: in instantiation of member function 'mozilla::RefPtrTraits<nsAtom>::Release' requested here
 4:04.88     static void Release(U* aPtr) { mozilla::RefPtrTraits<U>::Release(aPtr); }
 4:04.88                                                              ^
 4:04.89 /home/ben/tb/mozilla/obj-x86_64-pc-linux-gnu/dist/include/mozilla/RefPtr.h:81:37: note: in instantiation of member function 'RefPtr<nsAtom>::ConstRemovingRefPtrTraits<nsAtom>::Release' requested here
 4:04.89       ConstRemovingRefPtrTraits<T>::Release(mRawPtr);
 4:04.89                                     ^
 4:04.89 /home/ben/tb/mozilla/obj-x86_64-pc-linux-gnu/dist/include/nsTArray.h:642:45: note: in instantiation of member function 'RefPtr<nsAtom>::~RefPtr' requested here
 4:04.89   static inline void Destruct(E* aE) { aE->~E(); }
 4:04.89                                             ^
 4:04.89 /home/ben/tb/mozilla/obj-x86_64-pc-linux-gnu/dist/include/nsTArray.h:2411:20: note: in instantiation of member function 'nsTArrayElementTraits<RefPtr<nsAtom>>::Destruct' requested here
 4:04.89       elem_traits::Destruct(iter);
 4:04.89                    ^
 4:04.89 /home/ben/tb/mozilla/obj-x86_64-pc-linux-gnu/dist/include/nsTArray.h:1480:5: note: in instantiation of member function 'nsTArray_Impl<RefPtr<nsAtom>, nsTArrayInfallibleAllocator>::DestructRange' requested here
 4:04.90     DestructRange(0, Length());
 4:04.91     ^
 4:04.91 /home/ben/tb/mozilla/obj-x86_64-pc-linux-gnu/dist/include/nsTArray.h:2437:5: note: in instantiation of member function 'nsTArray_Impl<RefPtr<nsAtom>, nsTArrayInfallibleAllocator>::ClearAndRetainStorage' requested here
 4:04.91     ClearAndRetainStorage();
 4:04.91     ^
 4:04.91 /home/ben/tb/mozilla/obj-x86_64-pc-linux-gnu/dist/include/nsTArray.h:1455:12: note: in instantiation of function template specialization 'nsTArray_Impl<RefPtr<nsAtom>, nsTArrayInfallibleAllocator>::AssignInternal<nsTArrayInfallibleAllocator, RefPtr<nsAtom>>' requested here
 4:04.91     return AssignInternal<ActualAlloc>(aOther.Elements(), aOther.Length());
 4:04.91            ^
 4:04.91 /home/ben/tb/mozilla/obj-x86_64-pc-linux-gnu/dist/include/nsTArray.h:3066:12: note: in instantiation of function template specialization 'nsTArray_Impl<RefPtr<nsAtom>, nsTArrayInfallibleAllocator>::Assign<nsTArrayInfallibleAllocator, nsTArrayInfallibleAllocator>' requested here
 4:04.91     result.Assign(*this);
 4:04.92            ^
 4:04.92 /home/ben/tb/mozilla/obj-x86_64-pc-linux-gnu/dist/include/nsAttrValue.h:60:20: note: in instantiation of member function 'AutoTArray<RefPtr<nsAtom>, 4>::Clone' requested here
 4:04.92     return {mArray.Clone(), mMayContainDuplicates};
 4:04.92                    ^
 4:04.92 /home/ben/tb/mozilla/obj-x86_64-pc-linux-gnu/dist/include/mozilla/AtomArray.h:13:7: note: forward declaration of 'nsAtom'
 4:04.92 class nsAtom;
 4:04.92       ^
```