How would you improve Rust?
>>108481988Basically?Make it C.
>>108481988i would use c++ instead
>>108481990But Rust is more of a C++ competitor.>>108481992What does C++ have that Rust doesn't have?
Proper reflection.
>>108482007>What does C++ have that Rust doesn't have?Cness.
>>108481988>replace LLVMIt's slow, it's what makes rust slow to compile, it's what makes rust difficult to work with bindings and do static builds. Zig was right for abandoning LLVM.>simplify the syntaxIt's ugly and too verbose for no reason. Languages like ruby became popular for the syntax alone.>allow GCthe borrow checker is good but also a pain in the ass, sometimes you just need to spend your time doing anything but fighting it>force the community to accept FLOSSenough MIT / Apache dual licensing, encourage (L)GPL. Half the reason people avoid the reimplementation is because they are permissive on purpose.>encourage more queersLike it or not, they are autistic and will improve the language and ecosystem for free till they die
Put 100% of development effort on stabilizing the allocator API.Also, higher kinded types would be nice.
>>108481988remove mutability entirelyremove the need for compilation, data is code and code is dataremove static typing entirely, everything should be a sum type of basic type + external type>>108482007C++ has libraries. If you want to make a cross platform UI in rust, the best solution is still using qt bindings in 2026.Iced/druid doen't have accessibility features for phones, retards and smart appliances whatever that meansservo doesn't run on embedded or constrained devices>>108482031>GCrust already allows GC, in fact most large projects get around the BC by wrapping everything in Arc<RwLock<..>>, it's easy to do and if you use parking_lot, there's no extra cost the the lock in best cases.>encourage flossthe reason they don't is that they want corpo adoption. but sucking corpo's cocks has always proved to be a bad idea on the long run>>108482020it pretty much has it, but it's stronger than traditional reflection.
>>108482031>replace LLVMThey're working on that, sort of. Cranelift is meant to be the alternative. Although it won't produce binaries that are as fast, nor will it support as many architectures, so LLVM will have to be supported in parallel.>simplify the syntaxNot happening. Just git gud.>allow GCThat'll be trivially supported via crates once the allocator API is stabilized.>force the community to accept FLOSSYou're free to make your own GPL crates already.>encourage more queersIt's already quite queer-friendly.
>>108481988>How would you improve Rust?By uninstalling it and downloading a C++ compiler and calling it "Rust".
>>108481988Rust ABI.Making the community doing less complicated examples because 800 lines in one file of your framework just makes me quit, I know you can do a lot but I wanna know where to start thank you.Async is extremely painful.Lifetimes are CBTbuild.rs doesn't have proper debug and it's ergonomics are horrendous, it's more understandle to use a cursed bash script.Crates website needs to fix it's name squatting issues.Nesting macros should be forbidden because it's literally making the code hella obfuscated.Macros don't have proper documentation or it's written somewhere on the internet which I don't have access to.GNU preprocessor level of freedom instead of having to hack the #[features()] directives.Make the compiler simplifying the full name of types in errors because it reaches C++ vomit with 200 char long in namespaces
>>108481988rust is not standing still, and never was. it's always "improving":https://doc.rust-lang.org/nightly/unstable-book/the language features chapter alone has >200 sections.putting async aside, at v1 we didn't have const generics, impl Trait (neither arg nor return position), standard scoped threads, transpose() methods, global and collection allocator choice, you had to use `extern crate`/`#[macro_use]`,,....and a lot a lot more. that's just a sample of things that got added ranging from language features to trivial API expansions.retards would call the language "incomplete" because of this, painting it as some sort of a drawback, which is the exact retardation that causes some projects to be perma stuck at the pre-v1 stage (zig 1.0 just needs TWO MORE years!)
>>108481988Give it an actually good and complete standard library. The current NPM style shit is disgusting. It doesn't even have complex numbers built in, lol. >Complain about no complex numbers>Rust fag points me to the crate "everyone" uses>The crate's git page shows it's made and maintained by a literal who>Repo and git page are a mess>Latest release has failing automated tests on master branchUgh. I want to like this language but anytime I try to do a project in it I find something that turns me off.
>>108482335>800 lines in one fileDo be aware that a lot of that is doc comments.
>>108481988C-like syntax, except still defaulting to const.
>>108481988replace the ' for lifetimes with @
>>108481988I have not looked at rust in a year+ but from what I remember I had a number of issues mostly related to having good control over builds and usage on embedded targets. Off the top of my head, remove as much as possible the dependency on libc for std and other libs provided by default, and make the interface into libc and the system clear and concise so it can be implemented or faked as needed. Fix cargo to delegate builds to a real build system; no, build.rs is not a real build system and neither is cargo. Fix cargo features to not be useless. The current method for how features work is almost unusable. Start working on writing a spec/standard for the language itself. Standardize the ABI and memory model. Define the order in which proc macros are applied to the AST in all contexts. There's probably a lot more and I wouldn't be surprised if some of these complaints are out of date now. The reliance on cargo especially is embarrassing though.
>>108482049>get around the BC
>>108481988being able to make proc_macros anywhere, not having to make a crate just for them.
>>108481988Make all variables const and eliminate immutability
>>108483201>muh system programming language should not reflect how computers works whatsoevernice bait though lol
>>108481988I wouldn't use it at all.C is already perfect.
>>108481990this
>>108482644Had to look this up but it's real, their "num" package for numeric types hasn't been updated in two years and is failing tests on master.NPM style microdependencies is a mistake, they should really just have a decent standard library.
>>108481988Isn't that what AI does though? Just improve Rust? Isn't that what you're doing right now? Isn't it the same thing?
>>108483280>/g/eet: omg i had to look this up holy shit what a miss what the fuck is this you can't make that shit up holy cow it's really npm micro-penis nothing works literally unusable---->non-/g/eet: oh, i see a dependency bumped MSRV to 1.63 breaking the 1.60 workflow, while stable passes as expected. not that anyone is using these old versions. but let me take 10 seconds to create a PR that bumps MSRV to 1.63 here also to make that badge go green again.
>>108481988fix the ecosystemit's such a mess
>>108482007better const?rust's been broken for ages
>>108481988Async existing from conception - so it's better integrated.
>>108483217>t. no coder
>>108481988Rust can only be improved by sacrificing it.
>>108481988remove function coloring, the way generics + lifetimes are used is kinda meh but is made indefinitely worse when working with anything async. tbdesu this problem could be also solved if people weren't that afraid of allocations and dynamic dispatch that kinda defeats the purpose of rust a bit but most rust software is not performance critical so it kinda doesnt matter
>>108485172You can't remove function coloring. It's impossible.
>>108485189>You can't remove function coloringeven java managed to do that with virtual threads
>>108485172"Function coloring" is not a bug, it's a feature.It's just type system, but for functions.The real problem is that current languages are rather shit about being generic over various function types.
>>108485223>The real problem is that current languages are rather shit about being generic over various function types.Making things generic over types, lifetimes and also effects would make a language way too convoluted and most of the time you don't need it
>>108485202No, it didn't. IO is still color and virtual threads have limits that make them useless for a lot of things. Even then Java loom still needed copes for synchronized methods and thread local storage.
>>108485261Eventually the convolution will have be learned, much like how people learned to deal with async / await and Rust's lifetime semantics. I agree with you, but reality is real and you can't abstract all problems away forever.
>>108485261Not if done well.Like function definitions and arguments should be implicitly generic by default.It should be an opt out to declare with some keyword or - I dunno - with where constraint or whatever that you don't want to allow async functions in given position - i.e. generic, unrestricted function can call both async and non async functions (becoming itself async or non-async) but if explicitly restricted to be non-async then it cannot call non-async functions.You could also introduce other function types: for example pure functions - not allowing side effects, functions with bounded recursion etc.Const functions (functions that can be evaluated at compile time) could also be implemented with the use of coloring.
>>108485270>virtual threads have limits that make them useless for a lot of thingsname one then? synchronised pinning is solved in java 25.
>>108481988SyntaxSuch an unreadable pile of garbage
>>108481988idk, i never found the language compelling so i dont really care. i guess replace the people in charge with normal human beings.
>>108481988I think that modern C++ is the proof that YOU CAN'T RETROACTIVELY FIX A PROGRAMMING LANGUAGE.
>>108485504>normal human beingsdo jeets think normalcy is defined by their presence lolhttps://rust-lang.org/governance/teams/lang/
>>108485393C FFI.
>>108485742>one of the past members is a monkey Whoa.
>>108485574good thing there is nothing fundamentally wrong with rust semantics to fix, just missing type system features that weren't ready/flushed out by v1.0 that are getting incrementally added.you also misunderstand the purpose of the c++ standardization process, which is purposefully designed to be open-ended and ever increasing in added complexity and convolution, all to ensure keeping the bureaucracy checks coming in. this is what you get when the figurehead is a literal nocoder, and the umbrella is an organization that is pretending to be a non-profit and works by pandering to the insecurities of world retards while doing what those with actual power want anyway.
pretty much the only thing that needs to be done is stabilization of existing shit:Allocator API would be nice, but it needs to be done properly, which is probably impossible.Getting stabilization on safe to use stuff like (mutable) cursors for BTree and other datastructures would be cool too.there is a bunch of shit, but practically speaking those are the bigger ones I care about currently. outside of Rust itself, I wish Tower would drop their shitty pre RPIT traits and embrace them. making it all pull based would remove the whole concept of "backpressure" poll_ready bs too.
>>108485780makes you wonder what intellectual level all those filtered /g/eets operate at
>>108485806it also wouldn't surprise me if the C++ process is just designed to protect the jobs of the idiots paid to work on shit codebases like MSVC too. Modules are so fucking bad, only M$ could force such brain damage through.
>>108481990>Make it C.
>>108485742there is literally a jeet on that list + almost every dude there has gayface.
>>108485877>saaar the greek guy is indian like me saaar
>>108485882hahahahah dude why are you freaking out? obviously i mean the guy in the alumni pictures with the aladdin name. Sir, if you like rust, go write rust, idc. You are your own man. Mr, use whatever language you like. You are a man, and you can choose to do whatever you like. Any one who has the bone structure of a man, and forever will, no matter how many chems they ingest, can go practice whateve lang they want. kekkerz
>>108485929you might want to start recognizing persian names. that skill may become handy soon.(that particular person was an FP maxxer who was 100% clinically on the spectrum. he had a complete break down upon stumbling on one of the impl Trait RFCs which predated his involvement and was ready to be merged, and completely lost it, which was both funny and sad.a sidetrack of that episode was an attempt by him to ban GH downvotes on RFC PRs lol. he immediately disappeared afterwards which was probably the right thing to do for him.)
>>108485877>almost every dude there has gayface.who cares?
>>108481988rusting it
>>108482007>What does C++ have that Rust doesn't have?Decades of being on market.
>>108481988Delete it.