If there were an opt-in lint you could run on #Rust code to assert a function you've written will never panic, how would you want (the default) to be when handling method calls on trait objects where some impls might panic? Error given that it could panic or downgrade to warning given that we don't know for sure?
I'm on a motivation streak for #HalfLife#TAS editor 2, so let's start a thread, why not?
For context, this is an in-game interactive editor for crafting tool-assisted #speedrun s, implemented in an LD_PRELOAD / DLL-injected mod.
TAS editor 2 is me redoing it completely from scratch in #Rust with all lessons learned and very ambitious architectural ideas. It's been going very slowly, but I got the initial groundwork done, hopefully it'll be better.
I am starting a new project that is intended to be designed as a (#p2p) protocol eventually with implementations in multiple languages. I know #Python well, but I have been learning #Rust and think I'll need to write at least some of the perf-sensitive components in Rust. Do I prototype it in Python and then rewrite in Rust later, or try and power through and write it in Rust now? #RustLang
edit: added hashtags fwiw
Currently in the process of rewriting my #transpiler from #nom v4.2 to #chumsky v1.0.0-alpha.6 🤓
It is a lot of fun so far, but I have to say these type signatures are wild!😄
I'm still struggling with it far more than I'd like, but I guess it is just a matter of time until intuition kicks in and it will become more and more natural.
Exciting project ahead!🙂
I'm even able to parse string literals with escape sequences - something I haven't even achieved with nom!
To be fair, I think Haskell will continue to fill the niche it filled ~10 years ago, around the time it started to get mainstream hype. Small teams of skilled devs delivering robust products that would normally require much larger teams to maintain will continue to prevail. Purely functional lazy programming was never bound for world domination in an economy which is antagnostic to curiosity, creativity and truths.
On the other hand, I have the feeling that we're going to see more and more Haskellers-turned-Rustaceans come to realize that #Rust does little to alleviate the primary barrier to Haskell's wider success -- fast and predictable turnaround time for projects developing cutting-edge technologies -- and will wind up going the same route as some major Haskell projects such as #Unison and #Idris have in recent years, which is to try #Chez Scheme, only to discover that it allows them to release blazing fast functional programs on a generic foundation where major breaking changes are practically non-existent, providing incredible flexibility while significantly reducing dependencies by dint of the ad-hoc tooling that falls out of the bottom of #scheme. Not to mention the joys that come from near-instant startup times, some of the fastest compile time you've ever encountered, fully-customizable interactive development and a surgical #debugger that rivals Haskell in scheer fun. Yesterdays naysayers will become tomorrow's enthusiastic bootstrappers. Or a at least a boy can dream.
That said, in all seriousness I don't think Scheme will ever reach the heights of Haskell's moderate commercial success. But I do think that projects built on Scheme, like Unison, will get a leg up and eventually surpass it, and interest in #lisp will only grow.
Request for feedback: how would you change this #Rust compiler error? Can you tell what's going on? What the problem is? Do you get a sense of how you might be able to solve it?
Hey @xmpp folks, if I was to encourage the devs of a messaging server/client written in Rust to implement XMPP, with MUC and OMEMO, what would be the best links to send them for guidance?
Honest question for the #rust developers out there. I've observed several pretty high profile OSS projects recently, which are written in rust but are not cross platform. Well at least as far as Unix is concerned, it's Linux or nothing.
This is super unfortunate, not only as a #BSD user it locks me out from using these tools...but it also introduces a pretty big blind spot in terms of development which can lead to fragile and/or insecure systems. The whole "monoculture is bad" thing.
So folks hacking on #rust - what do you feel is lacking that makes it easier to write portable code?
One of the challenges that I'm working on is empowering people with consumer-class internet access (i.e., dynamic addresses) to run their own Fediverse servers. The Publish/Publisher and websocket components I've added to #SofaPub move in that direction.
This allows someone with broad connectivity to re-publish connections from users who are more limited.
I'm planning to self-host a Reddit like instance for myself, but I'm between Lemmy and kbin . Essentially I want to host my own data, and jump into discussions from other communities.
With a limited search results, people praise for #kbin, and bash #lemmy developers about their world and political views, however Lemmy is written with #rust, and Kbin with #php .
I just want to migrate to what people will be using to.
What would you take out of this #Rust diagnostic? Is this too much information? Would you prefer to have a shorter message at the cost of needing multiple cycles of the compiler telling you you're missing a change?
This video is about #Rust, but it's comments about error handling are valid for anyone in any language. PHP friends especially, this is the kind of stuff I've been ranting about for a while now. :-)
I love #javascript as a language, but I've lost love for the churn, the long build pipelines, frameworks that do the same thing, but better.
Getting instant feedback was what made code magical for me. JS used to have that magic. I could just type code in the browser. Now, with tooling, with build pipelines… it all feels like how people complained about compiler errors: a long slog.
Ironic that it's a compiled lang that brings back the magic.
Adding some actual non-HTTP-302 outputs to my browser search backend now that I'm #RIIR (Rewrite It In #Rust 😛) and wow, it has been /a whole fucking while/ since I have written raw HTML (no framework, no templates, no premade theme to hack up, etc).
Like, the last time I wrote an entire HTML tag from scratch, the "; charset=utf-8" part of one's Content-Type header was…not really a thing. As I found out by trying to be cute and putting an emoji in the title tag 🙃
Alright, Monday means it's time for another #bevymergetrain. Hold onto your papers(?), because there's 20 (twenty!) PRs in the backlog this week, including some real stars.
Follow along, and see how the #opensource#rust#gamedev sausage is made. Like always, we're going to start with the oldest first (to prioritize them in case of merge conflicts).