https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64596

--- Comment #3 from petschy at gmail dot com ---
(In reply to Daniel Krügler from comment #2)

1) if the friend declaration is invalid in line 15, then g++ should tell me so,
shouldn't it? But atm it compiles it, and the surprise comes later, when the
private member can't be accessed, despite the friend decl.

Should I file a separate ticket about this? Any detail about why this
restriction about friend and alias templates is present in the std?

> 
>       template<typename, bool>
>       friend class Txn;

This would work, of course, but this form would give friend access to any Txn
on Str, even with different E template params. That might lead to subtle bugs
where invalid usage is not caught at compile time.

Thanks, Peter

Reply via email to