Monday, November 18, 2019

Digest for comp.lang.c++@googlegroups.com - 8 updates in 2 topics

Keith Thompson <kst-u@mib.org>: Nov 18 10:05AM -0800

>>> their lifetime.
 
>> Youre a stupid, immature troll.
 
> Would someone need professional credentials, to make that kind of diagnosis?
 
Sam, please stop feeding the troll. I wouldn't see Bonita's posts
if you didn't quote them.
 
--
Keith Thompson (The_Other_Keith) kst-u@mib.org <http://www.ghoti.net/~kst>
Working, but not speaking, for Philips Healthcare
void Void(void) { Void(); } /* The recursive call of the void */
Sam <sam@email-scan.com>: Nov 18 11:58AM -0500

Bonita Montero writes:
 
>> I never claimed to be a professional member of any such organization in
>> this thread. You demanded that I must be one, in order to diagnose your
>> case of projection, and I did not dispute that I never claimed to be one.
 
[ important context restored ]
 
> could be translated ad layman's psychology. And those diagnoses are
> not even inprecise, but usually nonsense.
> You're simply a stupid person.
 
It does seem, for whatever reason, you're trying to deny your A.S.S.W.I.P.E.
membership. Why would you do this? You should be proud for being a card-
carrying A.S.S.W.I.P.E. It's a major accomplishment, that few achieve in
their lifetime.
Bonita Montero <Bonita.Montero@gmail.com>: Nov 18 06:15PM +0100

> A.S.S.W.I.P.E. membership. Why would you do this? You should be proud
> for being a card-carrying A.S.S.W.I.P.E. It's a major accomplishment,
> that few achieve in their lifetime.
 
Youre a stupid, immature troll.
Sam <sam@email-scan.com>: Nov 18 12:22PM -0500

Bonita Montero writes:
 
>> carrying A.S.S.W.I.P.E. It's a major accomplishment, that few achieve in
>> their lifetime.
 
> Youre a stupid, immature troll.
 
Would someone need professional credentials, to make that kind of diagnosis?
Sam <sam@email-scan.com>: Nov 18 06:21PM -0500

Keith Thompson writes:
 
> Sam, please stop feeding the troll. I wouldn't see Bonita's posts
> if you didn't quote them.
 
I do not go out of my way to respond (or not respond) to anyone, in
particular. That, I can state affirmatively. I will not set up a filter, and
flame away at that low-information poster's every outburst.
 
But, if I happen to stumble across something response-worthy and I choose to
respond, then I will. Especially if the resulting back-and-forth promises to
be quite entertaining. And if seeing someone else's writings indirectly
irritates someone else, as a result, this is unfortunate; but they are free
to make their own decisions (and also threaten to ban me from offending
their delicate eyeballs, as well, if it makes them feel better).
 
But I will not refrain from enjoying a cost-free source of cheap
entertainment just because someone else gets upset. It just makes no logical
sense for me to do so.
 
If someone gets so discombobulated by mere words – and nothing more than
words on the screen – then I truly feel some pity for them. Personally, I
choose to deal with the world at large as it is, both good and bad. I'll
happily give the job of getting triggered by mean words to all the millenial
snowflakes.
 
P.S. That's a "troll"? Really? Gosh, our standards have sunk by quite a bit.
That entity can't even come up to the ankles of any of the legendary trolls
of yesteryear. Examples provided upon request.
"Alf P. Steinbach" <alf.p.steinbach+usenet@gmail.com>: Nov 18 06:49PM +0100

As the title says, substitution failure can be an error:
 
 
#include <iostream>
#include <initializer_list>
#include <type_traits>
using namespace std;
 
template< class Value >
auto is_in( const initializer_list<Value>& list, const Value v )
-> bool
{ return false; }
 
//-----------------------------------
template< class Int >
struct S
{
using U = make_unsigned_t<Int>;
U m;
 
S( Int x, Int ): m( U( x ) ) {}
};
 
template< class Int >
auto is_in( const S<Int>& s, const Int v )
-> bool
{ return true; }
 
auto main()
-> int
{ return 100 + is_in( {&cout, &cerr}, &clog ); }
 
 
For now I've just used a `std::enable_if` to restrict `S` to integral
types, but I don't feel that this can be the best solution.
 
Like, it feels like a kludge, somewhat dirty.
 
 
- Alf
Vir Campestris <vir.campestris@invalid.invalid>: Nov 18 09:54PM

On 18/11/2019 17:49, Alf P. Steinbach wrote:
> As the title says, substitution failure can be an error:
 
Most interesting post for weeks - and I don't understand it :(
 
It would help if I had a modern compiler to hand of course - but playing
with an online one does give me an error.
 
Are you sure it isn't a compiler bug? The error from clang is nothing
like the one from GCC.
 
Andy
Sam <sam@email-scan.com>: Nov 18 06:12PM -0500

Alf P. Steinbach writes:
 
 
> For now I've just used a `std::enable_if` to restrict `S` to integral types,
> but I don't feel that this can be the best solution.
 
> Like, it feels like a kludge, somewhat dirty.
 
This is not a substitution failure.
 
SFINAE does not mean "any error that occurs when instantiating a template is
not really an error".
 
Substitution succeeded, and the template parameters were deduced. But there
was an error instantiating the class's constructor.
 
When you crammed enable_if in there, that prevented the compiler from
figuring out which real, live, breathing types to substitute for the
template parameters. Here, it figured out what matches "Int". Then things
went on their merry way, but the instantiated template turned out to be ill-
formed.
You received this digest because you're subscribed to updates for this group. You can change your settings on the group membership page.
To unsubscribe from this group and stop receiving emails from it send an email to comp.lang.c+++unsubscribe@googlegroups.com.

No comments: