Bug: error: incomplete type 'nsIMAPMessagePartID' used in type trait expression
Status: RESOLVED
Priority: --
Resolution: FIXED
Created: 2020-03-21 07:47:13+00:00
Resolved: 2020-03-21 12:51:20+00:00

When building I get:
0:25.89 c:\PROGRA~2\MICROS~2\2017\COMMUN~1\VC\Tools\MSVC\1415~1.267\include\type_traits(847,55): error: incomplete type 'nsIMAPMessagePartID' used in type trait expression
 0:25.89         _INLINE_VAR constexpr bool is_copy_constructible_v = __is_constructible(_Ty, add_lvalue_reference_t<const _Ty>);
 0:25.89                                                              ^
 0:25.90 z:/Mozilla/TB/dist/include\nsTArray.h(257,38): note: in instantiation of variable template specialization 'std::is_copy_constructible_v<nsIMAPMessagePartID>' requested here
 0:25.90   static constexpr bool Value = std::is_copy_constructible_v<E>;
 0:25.90                                      ^
 0:25.90 z:/Mozilla/TB/dist/include\nsTArray.h(277,42): note: in instantiation of static data member 'detail::SpecializableIsCopyConstructible<nsIMAPMessagePartID>::Value' requested here
 0:25.90     SpecializableIsCopyConstructible<E>::Value;
 0:25.90                                          ^
 0:25.91 z:/Mozilla/TB/dist/include\nsTArray.h(284,38): note: in instantiation of variable template specialization 'detail::SpecializableIsCopyConstructibleValue<nsIMAPMessagePartID>' requested here
 0:25.91           bool IsCopyConstructible = SpecializableIsCopyConstructibleValue<E>>
 0:25.91                                      ^
 0:25.91 z:/Mozilla/TB/dist/include\nsTArray.h(322,24): note: in instantiation of default argument for 'nsTArray_CopyEnabler<nsIMAPMessagePartID, nsTArray_Impl<nsIMAPMessagePartID, nsTArrayInfallibleAllocator> >' required here
 0:25.92     : public ::detail::nsTArray_CopyEnabler<E, Derived> {
 0:25.92                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 0:25.93 z:/Mozilla/TB/dist/include\nsTArray.h(868,36): note: in instantiation of template class 'nsTArray_SafeElementAtHelper<nsIMAPMessagePartID, nsTArray_Impl<nsIMAPMessagePartID, nsTArrayInfallibleAllocator> >' requested here
 0:25.95 struct nsTArray_TypedBase : public nsTArray_SafeElementAtHelper<E, Derived> {};
 0:25.95                                    ^
 0:25.96 z:/Mozilla/TB/dist/include\nsTArray.h(1006,14): note: in instantiation of template class 'nsTArray_TypedBase<nsIMAPMessagePartID, nsTArray_Impl<nsIMAPMessagePartID, nsTArrayInfallibleAllocator> >' requested here
 0:25.97       public nsTArray_TypedBase<
 0:25.98              ^
 0:25.99 z:/Mozilla/TB/dist/include\nsTArray.h(2637,25): note: in instantiation of template class 'nsTArray_Impl<nsIMAPMessagePartID, nsTArrayInfallibleAllocator>' requested here
 0:25.99 class nsTArray : public nsTArray_Impl<E, nsTArrayInfallibleAllocator> {
 0:26.00                         ^
 0:26.00 z:/Mozilla/comm-central/comm/mailnews/imap/src/nsIMAPBodyShell.h(299,7): note: in instantiation of template class 'nsTArray<nsIMAPMessagePartID>' requested here
 0:26.00       m_prefetchQueue;  // Array of pipelined part prefetches.
 0:26.00       ^
 0:26.00 z:/Mozilla/comm-central/comm/mailnews/imap/src/nsIMAPBodyShell.h(220,7): note: forward declaration of 'nsIMAPMessagePartID'
 0:26.01 class nsIMAPMessagePartID;
 0:26.01       ^
 0:27.49 1 error generated.

Seems to come from bug 1620632