12bitfloat said 👋,It's both funny and frightening how removed from reality some of these far lefties really are
Everything they accuse you of, they are doing themselves
Everything they say is the opposite of reality,@antigermgerm Not everything I say is correct, I also suffer from bias like everyone else
The difference is, I base my ideas on reality, so when they are wrong they are at least not THAT wrong
These people's ideas aren't even connected to reality, so they are just wrong by default,@antigermgerm We've already argued and I've poked huge logical holes into a lot of your arguments, so I'd say I'm not entirely incorrect,@antigermgerm Remember the thing about genocide being bad? Until it wasn't? That one was funny,@antigermgerm Man, I'd like a waffle right now. With sugar and cinnamon and a little bit of nutella 😋,@antigermgerm Man what the hell. You really don't like nutella!?,@antigermgerm Fair enough. Do you put some buttermilk in your pancakes? That shit goes crazy,"You aren't you when you're hungry",@antigermgerm Bruh you were just saying you don't put anything on there
I feel betrayed and lied to,@antigermgerm Okay I forgive you,Don't do drugs kids!,Kinda offtopic but not having an avatar at 5k updoots is kinda gigachad,@jestdotty That's also definitely true, there's TONS of rage bait and stuff
But the point still stands... They wouldn't do that IRL because they'd get roughing up,@retoor You're not wrong, but I mean it more in the general sense of mankind. If you talk shit, you get hit.... Only now in the internet age is it different that you can essentially talk as much shit as you want without any consequence whatsoever,@jestdotty Yikes, that sounds horrible
But I say this: If you would have punched him into the next dimension, he would have stopped right quick
But that's easier to say when you're a man. Which is why we need to protect women and stop to pretending men and women are exactly the same. We should have the same rights, but we have very different experiences,@jestdotty Yeah but that's exactly what I'm saying: Men have a system of shared influence over each other because they can beat each other the f down
That's why they aren't violent.... At leat against each other,He's literally not even in office 💀,Spare the whining for january,He tried with a trial in finnland (?) where you needed to pay 1 dollar to create an account and there was outrage
Nobody knows how to stop bots,@antigermgerm Someones looking for that german bratwurst 😏,@Lensflare That's one of the reasons I like devrant. I think if platforms become too big you naturally form bubbles as obviously not everybody can see and interact with everyone else, so they congregate with people they agree with
Devrant is small enough that there can be *one* post feed which means we all get exposed to the ideas of everyone else
Kinda keeps you more grounded,@Lensflare Zwölfo and Drölfo, best friends,@theranter I suspect quite a bit actually lol
By the democrats, republicans, north korea, russia, china, they are all doing it,@Tounai Kinda? rustdoc/docs.rs is just objectively so awesome I can't really complain
It literally compiles documentation for *all* crates on crates.io for all versions, with types fully interlinked between dependencies, etc etc
It's just the best thing ever,@devRancid If you think Java or C++ (doxygen) even comes CLOSE to the Rust experience then you have never used Rust, it's so beautiful
And yeah, obviously good hand written documentation is even better. But most non rust libraries don't even have auto generated documentation, or at least one that doesn't suck ass (doxygen)!,Like this shit is what I have to deal with in JS world (and this is even above average!): https://glmatrix.net/docs/
Meanwhile in Rust: https://docs.rs/cgmath/latest/...
Just no comparison, don't even @ me,@devRancid Cry more lmao
I never said cgmath docs are perfect, but it doesn't even matter because it still lists exactly what I want to know
What? Your pea brain needs a 3 paragraph description for a function called "vec3" which takes x, y and z and returns a Vector3 like it isn't fucking obvious what it does?
Auto generated docs aren't the be all end all, but fuck me, 99.9% of non rust libs can't even manage *that*,@devRancid WIth all due respect, you're just willfully ignorant because you are afraid Rust will overtake you
And if that's you're attitude, at some point it will
I was a retarded Rust hater just like you at some point. Then I got over my ego and started learning it, and I'm not looking back
Not that Rust is the answer to everything. It has it's issues, both big and small, but you are so blinded by the fear of unknown that you can't even acknowledge the language for what it is. Sad,@Demolishun True! -- for the standard library
Not for any third party c++ libraries,@Demolishun Wasn't trying to be mean! I like cppreference a lot, but it's only for std
That's exactly why I'm so grateful for Rust having a good docs story for all libraries,@atheist Auto complete doesn't give you a full overview of all types, functions, etc
... and of course you need to first add the dependency to your project
Sometimes you just want to see how a few libs are designed so you can choose which one you like best. No problem with docs.rs,Not wrong lol
I mean most of these are so unnecessarily hard to type for zero benefit,@Lensflare The semicolons are a monoid in the category of endofunctors, you wouldn't get it,Lots if not most of the actually talented people seem to have moved on from the once legendary game developers
Too much bureaucratic bullshit. Too much woke bullshit
IMO indie games have overtaken AAA in almost every way,@Demolishun I'm in your camp too, but I think int *foo; is actually more correct
As far as I know, C and C++ consider foo a pointer variable of type int, instead of a variable of type int pointer
There are only a few cases where the distinction shows itself in syntax though (can't remember them),@Demolishun Ah right now I remember, here's an example: `int* a, b;` only declares the first variable as a pointer, the second is just an int
https://godbolt.org/z/vdvW41cnh
That has tripped me up before lol,@Lensflare I don't think you can ever be a point where you can't learn something new about c++ lol,A certifiably bad experience,@Demolishun I really like it. It feels like average people are finally waking up to the far left propaganda that has infested and destroyed media for the last decade,(not even a political post lol just glad I was able to get something done),@Demolishun That's kinda fucked. Though I don't think she's smart enough to understand the implications,@AlgoRythm dragons dogma balls 2, now in stores near you,Should've gone full microsoft with a /no:emit,Nah, Rust's syntax is miles ahead of C. It's more consistent, intuitive and expressive. Can't do `let [a, b, ..rest] = &list;` destructuring in C can ya?
IMO Rust is also just a better language than C. Not that C is bad for what it is, but it's a language that was invented 20 gazillion years ago -- as a portable assembly, mind you --, so obviously Rust could learn from decades of language design,@retoor Rust definitely isn't a toy, but it's not as mature as C yet. Rust has only existed in it's final form for 10 years, give it some time,@lorentz Fair enough, I meant it more like "in the current 1.0 form where backwards compatibility is guarenteed". Before 2015 Rust was changing daily in big ways, it was kinda crazy,What why,@retoor I'm not sure what to think about the dependency situation in Rust
Yes Rust uses more smaller dependencies, but unlike JavaScript, these libraries are overwhelmingly high quality and non-trivial,@retoor Raw pointers don't carry any ownership semantics which can lead to various bugs
If you get passed a raw pointer, do you now own the pointer? Should you free it or does somebody else free it? Is it just temporary? If it is, what is it's object lifetime?
That's why it's recommended to use smart pointers, because it's harder to misuse them (and they will clean themselves up, which is nice),@Demolishun If you use a shared_ptr it should work by itself (not in Qt though) (well, and also not bidirectional parent<->child relationships, but that's a topic for another day)
IMO that's one of the beautiful things about C++ which Rust took inspiration from: Being able to build zero-cost(-ish) abstractions which do the right thing and make it harder or impossible to use incorrectly
For example, in my code base there is not a single point where I have to manually clean something up. It just all happens automatically for me (assuming I don't have rc cycles lol)
It just makes your code so much cleaner and more robust, I love it,Damn! What model is it running? Is it your own?,@retoor It unfortunately didn't load for me, it just times out :(,@retoor Looks good I guess lol
I'm not saying you can't make a working program with raw pointers
But I really believe higher level abstractions like smart pointers let you program so much quicker without sacrificing much or even any performance,@retoor Same. It does it's job, so.... idk ¯\_(ツ)_/¯,@retoor Oh that might be it. I use a specific dns provider, maybe the records haven't been flushed yet,Bro has that IPv3 address 💀,I don't work in the industry, but I do develop a game as a sidejob,More shizo drivel lets gooooo,@retoor Just as an update: It still times out for me here in germany,Damn my guy bout to write write graphics drivers,Microsoft has over 200'000 employees. Yes, two hundred thousand (!)
And they can't make a fucking button,https://youtube.com/watch/...,@devRancid Git gui gets a bad rep but it's honestly so much easier to do complex commits where you pick and choose hunks,Code architecture can be really frustrating in Rust, I feel you
But at the end, you at least have a correct program. Other languages let you write wildly incorrect programs no problem
Kind of depends on what your personal style is,@Lensflare Schönes Wort,Don't forget to drink a water before going to bed :D,@retoor I can guarentee you that I could find a race condition or a possible null pointer bug in about 5 minutes if I saw your code bases
Nothing personal, just the reality of software :P
(I'm a former Java guy, if there's a thing I know, it's null pointer bugs),@retoor It does work now!,@retoor I'm not a big AI guy, even chatgpt rarely says something useful for me :D,@lorentz Man, hearing the @jestdotty story almost makes me agree with the people that say async rust was a mistake... It really wasn't -- and in fact I just prototyped fibers (async without await) in Rust and came to the conclusion that it's just objectively worse -- but it still makes me sad that someones first experience with Rust is async fuckery
The language has so much else nice to give,@jestdotty I agree with you! (somewhat)
Doing async rust well is very complex. Normal Rust is already complex but async makes it 2 times harder
Unfortunately there isn't really a fix for that. It isn't that Rust is bad, because Rust is insanely good. It's not that async Rust is bad, because it's probably the best async implementation possible inside Rusts framework of rules
It's just that.... Rust is hard, and frustrating, and sometimes really annoying.
But it's such a beautiful language I just can't hate it,@jestdotty To answer more directly:
* Yes the Rust community (despite the marketing) is toxic; really just as toxic as any other online community is toxic (I just wish they would stop saying that "oh we are so non toxic crap")
* AI for Rust sucks, but really AI just sucks for most of non-trivial programming
* Well yeah you can have async blocks which are move (and thus 'static) or not (and thus not 'static, which can be really useful),@jestdotty No, I get it :D
When I was learning Rust I was so fucking furious I wanted to throw my computer out of the window
I don't know, for me Rust is really something different. I still program in Java, C#, Python and JavaScript and I like all of these. They let me make something quickly. And I really like that
But Rust also has something I really like: Despite the complexity and stuff, just the feeling of making something that's truly robust. Something that can't just break willy nilly, I really like that,@jestdotty move is a special keyword on closures specifically that means "any values touched by this closure should be moved in, instead of being referenced"
I'm not *that* well versed on borrow rules (to be fair, they are insanely complex lol), but normally futures should work fine
I suspect (thought I might be very wrong) that your issue is, that you return `impl Future<Output = Foo>` and you want to use that. It might be that you need `impl Future<Output = Foo> + Send` so that you signal that it is thread safe
Not entirely sure though, variance is such a complicated topic,@jestdotty Also your problem may or may not be addressed by this new language feature: https://blog.rust-lang.org/2024/10/...
(like I said, lifetimes are complex :P ),@jestdotty Also funnily enough, my fiber implementation in Rust would maybe actually help you :D
It's not implemented yet, but it doesn't require async or lifetimes and just works.... it also has pretty big downsides (big virtual stack size, less flexibility), but it's a pretty cool experiment,@jestdotty Oh yeah, keeping things simple is always the right approach, especially in rust :D,@jestdotty Good question... parking_lot's deadlock check probably didn't find anything because if it did, your pogram would have soft locked instead of just been slow :D
Just a quick check: Are you running in release mode? (--release),@jestdotty oh boy, that sounds fun <.<,@jestdotty Even if simple make sure to never hold an std/parkinglot mutex guard across an await point
It really could be a deadlock that at the start is unlikely due to a short lock duration but as you process data and fill up your data structures the critical section becomes longer and longer so the chance for a task trying to lock while another task currently has the lock goes up dramatically,@jestdotty Await point is each point where you call .await
The problem with holding a mutex guard across an await point is this: If one task locks the mutex then calls .await, it may now give up execution to another running task. If that second task tries to acquire the same mutex and both tasks are scheduled on the same os thread, you've now deadlocked the tread
It happening at a later point in your program could be, like I said, because your critical sections are getting longer as time goes on, so the chance goes up,I.e. like this: https://play.rust-lang.org//...```