Also, it turns out that IsPod doesn't account for wchar_t like IsInteger does, which is fixed in this change and compile asserts are added for IsPod. It is certainly possible to make IsPod depend on IsInteger, but in this change it'll just be consolidating (plus the wchar_t fix for IsPod).
Created attachment 27142 [details] Patch.
Comment on attachment 27142 [details] Patch. r=me IsPod needs a comment explaining that it is far from being accurate - for example, it doesn't accepts structs and enums. Also, it may be hard to find out what the APIs implemented by this file are - e.g. RemovePointer comes late after huge piles of implementation cruft and debug assertions. Maybe there should be a synopsis at the top.
> IsPod needs a comment explaining that it is far from being accurate - for example, it doesn't accepts structs and enums. > Also, it may be hard to find out what the APIs implemented by this file are - e.g. RemovePointer comes late after huge piles of implementation cruft and debug assertions. Maybe there should be a synopsis at the top. Both great suggestions. Is it ok to handle them in bug 23618 since I'll be modifying this one file as the first change? (So I can be done with this "consolidation" patch.)
Committed revision 40399. I had to remove ByteArray moves in project file, because these didn't apply cleanly. Also, reworked ChangeLog a bit.