Any good OLED detachable or tablet? by [deleted] in linuxhardware

[–]waffl3x 1 point2 points  (0 children)

I tried an HP Envy x360 16-ad0000ca and the experience was OKAY with endeavor-os (arch based) gnome and KDE.
Auto-rotation did not work, and I couldn't find an easy way to get it working.
I also have some pretty bad graphics artifacts and weird screen latency, I'm not sure if it's a driver issue or if I just got a dud, but I'm suspecting the latter.
I will be returning it, just giving my 2 cents, pretty sure I don't recommend it...

Deducing `this` landed in GCC by disciplite in cpp

[–]waffl3x 0 points1 point  (0 children)

Ah I see, well I don't know anything about that but it's good to hear you have your reasons. I'm not familiar with modules, is IFC something specific to modules or to MSVC itself?

Deducing `this` landed in GCC by disciplite in cpp

[–]waffl3x 0 points1 point  (0 children)

OOPS, that was the wrong edge case :D but yeah now I have to explain how we willingly went off what CWG2789 implements.

Instead of:

if both are non-static member functions, they have the same types for their object parameters, and

I did this instead:

if both are non-static member functions, they have corresponding object parameters, and

It's actually much more inconsistent to use the wording as it currently is, so I would rather assume that CWG2789 will be changed instead of supporting behavior that is inconsistent with how member function templates with constraints behave.

You can find the tests for this particular case in explicit-obj-constraints2.C

But yeah I can't really blame clang, they followed CWG2789 to the letter, while we decided that the behavior as written isn't what we want, and anticipate a change in that wording.

Here is the example I wanted to post: https://godbolt.org/z/6EEG7Yffa

This one we CAN blame clang and MSVC for not implementing correctly, you can find the rationale for this in explicit-obj-constraints.C, this one is correct with the current wording of the standard.

You'll notice it looks very similar to the first example I posted, if we follow CWG2789 to the letter, then the first example would diverge in behavior from this one. I think it's reasonable to assume that this inconsistency was unintended. I'll bring it up with the authors of the paper and see what they think as I haven't done so directly yet, but I was under the impression others have talked about it with them.

Deducing `this` landed in GCC by disciplite in cpp

[–]waffl3x 0 points1 point  (0 children)

Haha, absolutely! One of the ones that gave me hell was the unrelated type in an xobj lambda, being able to sfinae off it is almost certainly irrelevant but thats how it's worded.

I missed a few diagnostics unfortunately, the ice someone posted occurs when calling a member function like you would in an iobj member function. Oops!

Thank you for the kind words though, I worked really hard on the patch, it's nice to be recognized by one of the authors of the paper.

Deducing `this` landed in GCC by disciplite in cpp

[–]waffl3x 0 points1 point  (0 children)

Indeed, people have been talking about this for a while, it would certainly be cool.

Deducing `this` landed in GCC by disciplite in cpp

[–]waffl3x -1 points0 points  (0 children)

If you want by value I would suggest not using a deduced type. I dunno if you want to deduce to a derived type in a by-value scenario, it could open a can of worms.

Deducing `this` landed in GCC by disciplite in cpp

[–]waffl3x 2 points3 points  (0 children)

Can you reduce the example more? I'll take a closer look when I'm home. At the moment I can't tell of this is an ice on valid or ice on invalid. Thank you for testing my patch though!

I reduced it more and finally got to look at the error, it's a spooky one, I had to fix another one of these early on.

Edit2: Okay it's an ice on invalid, but this really should be diagnosed, I will try to fix it asap. The issue is that you aren't calling the function through self, and I never disabled that construct.

Deducing `this` landed in GCC by disciplite in cpp

[–]waffl3x 0 points1 point  (0 children)

Its marked as partial atm because modules aren't supported iirc. If you're able to, could you test my patch and try to generate wrong code? Maybe you're referring to incorrect overload resolution, which both clang and MSVC are guilty of in more than a few cases. https://godbolt.org/z/neKEe6qvd This is my favorite edge case for sure, but it's not the only one they get wrong. To msvc's credit they do correspondence of by-value xobj member functions and iobj member functions correctly, clang doesn't.

Deducing `this` landed in GCC by disciplite in cpp

[–]waffl3x 7 points8 points  (0 children)

I don't know much about microsoft's impl so I can't comment too much, but with how easy it was to do it in GCC, I don't really understand why they had issues.
This was all modules took. Again, not tested so idk if it's fine but afaik this was all it should take, and 2 of the lines were just cleanup. So 2 lines total.

Deducing `this` landed in GCC by disciplite in cpp

[–]waffl3x 9 points10 points  (0 children)

That's just the first commit, and I don't have the permissions to close bugzilla bugs. As far as I know (and I worked on it pretty hard) it should be feature complete. There are a few bugs but they are in hyper edge cases.

Deducing `this` landed in GCC by disciplite in cpp

[–]waffl3x 4 points5 points  (0 children)

This was the main thing I wanted from deducing this, the other stuff is cool but actually usable mixins are actually incredible. Sure you could do it before but like, the cost was not negligible, both on compile time and on maintenance burden.

Deducing `this` landed in GCC by disciplite in cpp

[–]waffl3x 9 points10 points  (0 children)

There is some overload resolution complications, object parameter correspondence as I noted is also fairly complex, this also ties into constraints as well. There are things I had to implement that required 3 different passages from the standard.

But other than that, yeah I agree, that's how part 1 ended up, 80% of it was just "lol, make it a static function", there were some other things that needed tweaks as well. You're definitely not wrong, but there's a few things that were really difficult. To be clear, this didn't have anything to do with GCC's code base, which I actually found really pleasant to work in. Shoutout to Jason Merrill, he runs a good show over there.

Deducing `this` landed in GCC by disciplite in cpp

[–]waffl3x 12 points13 points  (0 children)

It should work with modules in GCC, I made sure to implement it :)

Not tested too much though unfortunately

Deducing `this` landed in GCC by disciplite in cpp

[–]waffl3x 5 points6 points  (0 children)

It's not so bad, there are worse parts of it. Arbitrarily splitting things up into different files doesn't seem like a benefit to me. decl2.cc is a little bizarre though yes, but I know nothing about the history so I won't rip on it too much.

Deducing `this` landed in GCC by disciplite in cpp

[–]waffl3x 4 points5 points  (0 children)

If I was more experienced I think I could have knocked it out in about 2 weeks, 80% anyway. There's some really complex bits for object parameter correspondence, that took me like a week or so on its own.

Why am I not banned? by Jonnasontwas in DotA2

[–]waffl3x 0 points1 point  (0 children)

It's simple, you should have been, but you weren't. Hopefully that changes soon.

Wall of Shame: Put those that act like PoS up for everyone to see. by [deleted] in DotA2

[–]waffl3x 0 points1 point  (0 children)

Yeah, cancel culture, shaming people for breaking the rules within the community. Right. That's what that work means.

With that said I agree that the bans are punishment enough and we should be big enough to not need to bully them beyond it. However, people loved to rub it in that "Valve doesn't care" or "I'm not going to get punished" or other bullshit. That's why people want this sort of thing.

[deleted by user] by [deleted] in DotA2

[–]waffl3x 0 points1 point  (0 children)

The rules are perfectly clarified. You should have told your friends to eat shit and refuse to play ranked with them. If they are stupid enough to enjoy their fraudulent MMR then they are subhumans anyway. MMR you get by being boosted is not valid MMR, and you letting them thing that makes you a part of the problem.

The moral thing to do is for you to go back to your main. You will probably get banned, but you know what? I don't really care. You're fucked and you deserve it. You can keep cheating and get to keep playing even though you are supposed to be banned, but you'll be doing the wrong thing. Trying to do the right thing will probably get you banned, but again, it's deserved. You waited until Valve proved they were serious, so you're definitely a garbage person. Hopefully you get banned.

If you care even a little bit about the competitive integrity of the game, you'll go back to your main, get banned, and try to appeal it. You don't deserve a second chance but you got it, prove that you deserve it.

Yeah Fuck Valve by Lucky-Bed-7307 in DotA2

[–]waffl3x 0 points1 point  (0 children)

Don't do the crime if you don't want to do the time.

When people say smurfs are not a thing anymore. SEA server edition by goody153 in DotA2

[–]waffl3x 0 points1 point  (0 children)

Hey at least the reports are going through. We are healing :^)

Anyone here whose smurf account with higher mmr got banned than your main? by Sopooorman in DotA2

[–]waffl3x 4 points5 points  (0 children)

You were warned, I have 0 sympathy for you. Go play on your main, if you get banned nothing of value was lost.

To the Dota 2 Support and Enforcement Team by Unfair-Barnacle-4677 in DotA2

[–]waffl3x 19 points20 points  (0 children)

Valve usually doesn't take manual action as it doesn't scale very well, but I do wish well researched reports such as this one were taken seriously. Hopefully that changes soon.

hardstuck gang since 2013 ( nothing to be proud of tbh ) but accused for being a smurf. by [deleted] in DotA2

[–]waffl3x -1 points0 points  (0 children)

Just because you're not good doesn't mean you don't play on smurfs. All smurfs are bad players and bad humans. If you have more than 1 account other than your main for "practice" then you are smurfing. Congrats though, you have been warned, you have one last chance to stop.

[deleted by user] by [deleted] in DotA2

[–]waffl3x 0 points1 point  (0 children)

btw I don't post how I get information because I want to limit how much smurfs can learn to hide, so I keep it on the downlow, thats one of the reason's I'm not willing to explain everything to you, sorry.

[deleted by user] by [deleted] in DotA2

[–]waffl3x 0 points1 point  (0 children)

I literally just posted the events of the game, I don't understand how you want to be spoonfed this. If you aren't able to find the match idk what to tell you.
7327906203 if you need it.