I've been looking at libstdc++ headers for a few years now, and I was always surprised about how weirdly it mixes tabs and spaces, e.g. something like:
template<typename _Up, typename... _Args>
<tab >constexpr
<tab >_Optional_payload_base(std::initializer_list<_Up> __il,
<tab ><tab ><tab > _Args&&... __args)
<tab >: _M_payload(__il, std::forward<_Args>(__args)...),
<tab > _M_engaged(true)
<tab >{ }
<...>
<tab > _Empty_byte _M_empty;
_Up _M_value;
<tab >};
template<typename _Up>
<tab >union _Storage<_Up, false>
<tab >{
Why is there a random mix of tabs and spaces even within the same line?
It becomes even more confusing when viewing with a non-8 tab display setting (which I guess a lot of users might have...).
libc++ headers OTOH look just fine (no tabs AFAIR)...
Obviously this would be an opinion-based question if it were just about tabs vs. spaces, but this is a mix of both... I thought it's never a good idea and didn't see it anywhere except libstdc++ I think...
c
, so don't tag it asc
. – Ringo