LWN: Comments on "The Rust language gets its own foundation" https://lwn.net/Articles/829031/ This is a special feed containing comments posted to the individual LWN article titled "The Rust language gets its own foundation". en-us Wed, 03 Sep 2025 05:04:17 +0000 Wed, 03 Sep 2025 05:04:17 +0000 https://www.rssboard.org/rss-specification lwn@lwn.net Time for a Reckoning https://lwn.net/Articles/830086/ https://lwn.net/Articles/830086/ moltonel <div class="FormattedComment"> Prototyping in Rust isn&#x27;t that hard: clone your objects or use a refcounting wrapper if you encounter lifetime issues, abort the program instead of handling errors, don&#x27;t go multithreaded until you&#x27;re ready, make liberal use of channels, etc.<br> <p> Rust outsiders often overestimate the difficulty and frequency of borrow checker problems, and fail to see the benefits it brings like fearless refactoring or being able to trust function signatures without having to check code or docs.<br> </div> Mon, 31 Aug 2020 14:15:23 +0000 Time for a Reckoning https://lwn.net/Articles/830064/ https://lwn.net/Articles/830064/ moltonel <div class="FormattedComment"> There&#x27;s actually ongoing work in making the borrow checker more &quot;forgiving&quot;, not by accepting minor programmer mistakes but by being smarter at recognizing correct code.<br> <p> The most prominent released improvement was non-lexical lifetimes (NLL) which basically looks at lifetimes with a finer granularity. Other ones that come to mind are detection of match patterns that should use references, or making lifetime markers optional in more cases. Work is ongoing with the &quot;polonius&quot; borrow checker engine, which promises to be faster and smarter still.<br> </div> Mon, 31 Aug 2020 13:31:27 +0000 Time for a Reckoning https://lwn.net/Articles/829800/ https://lwn.net/Articles/829800/ nybble41 <div class="FormattedComment"> The `unsafe` keyword does not overrule the borrow checker. It does enable dereferencing unchecked raw pointers, but then it&#x27;s up to the programmer to ensure that all the borrowing rules are still met; if they aren&#x27;t then the behavior of the program is undefined.<br> </div> Fri, 28 Aug 2020 15:49:54 +0000 Time for a Reckoning https://lwn.net/Articles/829736/ https://lwn.net/Articles/829736/ metreo <div class="FormattedComment"> <font class="QuotedText">&gt;The first and most uncomfortable change needed is to make the borrow checker less draconian. Allow beginners to know how many violations they have, yet run.</font><br> <p> Rust has inline `unsafe` keywords and function declarations. So one can simply grep the codebase.<br> </div> Thu, 27 Aug 2020 21:33:55 +0000 Time for a Reckoning https://lwn.net/Articles/829700/ https://lwn.net/Articles/829700/ scientes <div class="FormattedComment"> I know you are, but what am I?<br> <p> jajajajajajajaja<br> </div> Thu, 27 Aug 2020 14:38:23 +0000 The Rust language gets its own foundation https://lwn.net/Articles/829625/ https://lwn.net/Articles/829625/ HelloWorld <div class="FormattedComment"> They tried, it&#x27;s called Perl.<br> </div> Wed, 26 Aug 2020 18:14:10 +0000 The Rust language gets its own foundation https://lwn.net/Articles/829576/ https://lwn.net/Articles/829576/ flussence <div class="FormattedComment"> Not really looking to engage with any part of the thread up there, so I won&#x27;t.<br> <p> I must say though, it does sound like there&#x27;s a small, loud and stubborn market for Magical Programming: where the programmer simply feeds the computer incorrect instructions and it always produces a correct result, without complaining about annoying details like mathematical and logical impossibility. I wonder why nobody&#x27;s built such a language yet.<br> </div> Wed, 26 Aug 2020 11:19:02 +0000 Time for a Reckoning https://lwn.net/Articles/829550/ https://lwn.net/Articles/829550/ NYKevin <div class="FormattedComment"> Oh, I could believe this is a real person. There are people who seriously, honestly believe that any use of a swear word in a debate means the person who used the word has no better arguments.<br> <p> These people don&#x27;t tend to last very long on LKML.<br> </div> Tue, 25 Aug 2020 15:15:34 +0000 The Rust language gets its own foundation https://lwn.net/Articles/829503/ https://lwn.net/Articles/829503/ ssmith32 <div class="FormattedComment"> Happy news for Rust!<br> <p> I was a little sad though: it was the first I heard of the Mozilla layoffs. The foundation has been in my &quot;add to my monthly donation&quot; queue for too long .. a good scare to get me going. <br> <p> I haven&#x27;t been able to talk my way into a real-world project using Rust, yet. We&#x27;ll see. But I&#x27;ve quite enjoyed working through the Rust book: amazing props go to the creators of the book!<br> <p> And while, overall, it&#x27;s good to see more adoption, there is a part of me that enjoys solving completely useless and wholly entertaining problems - so it&#x27;ll be a happy &amp; sad day when I get to use it &quot;for real&quot;.<br> </div> Mon, 24 Aug 2020 20:41:56 +0000 Enough https://lwn.net/Articles/829409/ https://lwn.net/Articles/829409/ corbet I must say that the comment stream on this article is pretty seriously disappointing. I really thought we had grown beyond this kind of silly name-calling mudfest here. It stops now. My apologies to the rest of our readers who have been subjected to this. Sat, 22 Aug 2020 14:30:16 +0000 Time for a Reckoning https://lwn.net/Articles/829406/ https://lwn.net/Articles/829406/ MatejLach <div class="FormattedComment"> * shipping a knowingly buggy program is one of the core things Rust tries to prevent. <br> <p> A warning isn&#x27;t s strong enough mechanism to do that, in my opinion and in the opinion of the Rust community at large.<br> </div> Sat, 22 Aug 2020 14:06:35 +0000 Time for a Reckoning https://lwn.net/Articles/829404/ https://lwn.net/Articles/829404/ MatejLach <div class="FormattedComment"> Look, I think I get what you&#x27;re trying to say, make borrow checker violations warnings instead of compile time errors. I have addressed it here <a href="https://lwn.net/Articles/829393">https://lwn.net/Articles/829393</a> but to reiterate, I think it would be a mistake to do so as warnings get ignored way too often and shipping a knowingly buggy program is one of the core things Rust tries to do. <br> <p> In fact, you can already make most C/C++ compilers warn you about many things that do not end up being fixed before release, precisely because they&#x27;re &quot;just&quot; warnings and many interpret warnings as &quot;something to get fixed on a boring weekend&quot;, rather than something to stop them from going to production.<br> <p> A compile time error will do that.<br> <p> Additionally, the borrow checker forces you to make certain, (correct), design decisions that you may otherwise not make, thus fixing the warnings would require a major refactoring/rewrite. <br> </div> Sat, 22 Aug 2020 14:03:45 +0000 Time for a Reckoning https://lwn.net/Articles/829403/ https://lwn.net/Articles/829403/ MatejLach <div class="FormattedComment"> I am convinced this is a bot and that &quot;You have presented your credentials&quot; is a fallback catchall phrase to end any sub-thread it does not have arguments with.<br> </div> Sat, 22 Aug 2020 13:57:45 +0000 Time for a Reckoning https://lwn.net/Articles/829396/ https://lwn.net/Articles/829396/ anton Use a garbage collector for the allocations that the compiler warns about. This also gives an incentive to programmers to get rid of the warnings: they get rid of the garbage collector. (Disclaimer: I am not a Rust programmer, so I may be completely wrong here). Sat, 22 Aug 2020 11:30:06 +0000 Time for a Reckoning https://lwn.net/Articles/829394/ https://lwn.net/Articles/829394/ HelloWorld <div class="FormattedComment"> <font class="QuotedText">&gt; There is no practical reason for it not to be 10x faster.</font><br> And how the fuck would *you* of all people know that?<br> <p> <font class="QuotedText">&gt; The mistake seems to be in patching up the existing compiler. Starting fresh ought to have better results.</font><br> Bullshit again. Programs don&#x27;t magically become faster by rewriting them from scratch. Scala has a similar problem, the compiler is not as fast as one would like it to be. They rewrote it for Scala 3, and while it is a lot better in many ways, it isn&#x27;t much faster. What did yield significant speedups was optimization work in the 2.12 and 2.13 releases.<br> </div> Sat, 22 Aug 2020 08:33:27 +0000 Time for a Reckoning https://lwn.net/Articles/829393/ https://lwn.net/Articles/829393/ MatejLach <div class="FormattedComment"> C/C++ compilers generate plenty of warnings that, if followed, would prevent a lot of the bugs that end up shipping. Yet, they&#x27;re not followed precisely because they&#x27;re just warnings and hey, if the program compiles and *appears* to work, ship it. <br> <p> If you have a &quot;working&quot; program, just taking care of some &quot;warnings&quot; and management wants to ship today vs you have a non-working program that doesn&#x27;t compile and clearly needs more time, which one of the two do you think your average company would be willing to hold off on pushing to production?<br> <p> The value of Rust is precisely in the fact that they&#x27;re not warnings, but compile-time errors. And yes, the value of Rust is, in part, that you won&#x27;t be able to ship a knowingly buggy program. <br> </div> Sat, 22 Aug 2020 07:52:15 +0000 Time for a Reckoning https://lwn.net/Articles/829392/ https://lwn.net/Articles/829392/ roc <div class="FormattedComment"> There actually are good reasons. Compared to C++, Rust eliminates the need to &quot;repeat yourself&quot; by copying declarations into header files, and Rust eliminates the need to manually divide code into translation units to achieve build parallelism. The problem is that eliminating that manual work also eliminates developers&#x27; ability to hand-optimize the code and build process for maximum build speed.<br> <p> Another issue is that trait type inference and checking and borrow checking are more expensive analyses than the work most other compilers do when configured for &quot;fast&quot; (i.e. non-optimizing) builds.<br> <p> I don&#x27;t believe &quot;Compilers for other languages of similar or greater complexity are much more than 10x faster&quot; for &quot;other languages&quot; with the above properties.<br> <p> I think these issues can probably be fixed, and I talked about some of this recently:<br> <a href="https://robert.ocallahan.org/2020/08/what-is-minimal-set-of-optimizations.html">https://robert.ocallahan.org/2020/08/what-is-minimal-set-...</a><br> However, some research is needed. It is certainly not as easy as &quot;rewrite from scratch and it will be magically better&quot;. I certainly hope that some of the companies adopting Rust sponsor the Rust foundation to do this work.<br> </div> Sat, 22 Aug 2020 06:41:55 +0000 Time for a Reckoning https://lwn.net/Articles/829391/ https://lwn.net/Articles/829391/ Cyberax <div class="FormattedComment"> I haven&#x27;t been following this discussion, and just now opened it. The only misbehaving person in it is you, due to the sheer amount of trolling.<br> </div> Sat, 22 Aug 2020 03:40:19 +0000 Time for a Reckoning https://lwn.net/Articles/829390/ https://lwn.net/Articles/829390/ ncm <div class="FormattedComment"> You have presented your credentials, and so stridently! We get it.<br> </div> Sat, 22 Aug 2020 03:23:49 +0000 Time for a Reckoning https://lwn.net/Articles/829389/ https://lwn.net/Articles/829389/ ncm <div class="FormattedComment"> There is no practical reason for it not to be 10x faster. Compilers for other languages of similar or greater complexity are much more than 10x faster.<br> <p> The mistake seems to be in patching up the existing compiler. Starting fresh ought to have better results. The language is quite different, and much less variable, than when the compiler was started, so choices made then are likely to be inappropriate to the language as it is now.<br> </div> Sat, 22 Aug 2020 03:21:01 +0000 Time for a Reckoning https://lwn.net/Articles/829388/ https://lwn.net/Articles/829388/ ncm <div class="FormattedComment"> If there were no reason for concern about Rust&#x27;s future, there would be no motivation to try to derail discussion of its future. But certain people really, really don&#x27;t want the problem mentioned at all, to the degree that they have actually taken to &lt;i&gt;actively lying&lt;/i&gt; about what has been offered.<br> <p> But it is clear that no other usable ideas are ready to hand, at least here.<br> </div> Sat, 22 Aug 2020 03:07:50 +0000 Time for a Reckoning https://lwn.net/Articles/829384/ https://lwn.net/Articles/829384/ Cyberax <div class="FormattedComment"> Sorry, but you&#x27;re the one trolling here...<br> </div> Sat, 22 Aug 2020 01:59:14 +0000 Time for a Reckoning https://lwn.net/Articles/829383/ https://lwn.net/Articles/829383/ HelloWorld <div class="FormattedComment"> There is no ”approaching oblivion“. Stop making shit up.<br> </div> Sat, 22 Aug 2020 01:57:21 +0000 Time for a Reckoning https://lwn.net/Articles/829382/ https://lwn.net/Articles/829382/ HelloWorld <div class="FormattedComment"> ”The Rust compiler should be 10x faster“ is not an idea that holds any more merits than ”I want a pony“.<br> </div> Sat, 22 Aug 2020 01:56:00 +0000 Time for a Reckoning https://lwn.net/Articles/829379/ https://lwn.net/Articles/829379/ HelloWorld <div class="FormattedComment"> <font class="QuotedText">&gt; The main answer here, though, seems to be &quot;let it die&quot;.</font><br> <p> No, the main answer here is ”you&#x27;re wrong“, but you can&#x27;t accept that because you&#x27;re just too fucking full of yourself, so you need to pretend that everybody who disagrees with you is just a moron who refuses to acknowledge an obvious problem. The problem with that is that it&#x27;s complete BS. <br> </div> Sat, 22 Aug 2020 01:54:14 +0000 Time for a Reckoning https://lwn.net/Articles/829381/ https://lwn.net/Articles/829381/ ncm <div class="FormattedComment"> Thank you, you have already revealed that you have no ideas to offer.<br> </div> Sat, 22 Aug 2020 01:53:23 +0000 Time for a Reckoning https://lwn.net/Articles/829378/ https://lwn.net/Articles/829378/ ncm <div class="FormattedComment"> You have already presented your credentials.<br> </div> Sat, 22 Aug 2020 01:51:15 +0000 Time for a Reckoning https://lwn.net/Articles/829377/ https://lwn.net/Articles/829377/ ncm <div class="FormattedComment"> You have presented your credentials.<br> </div> Sat, 22 Aug 2020 01:48:21 +0000 Time for a Reckoning https://lwn.net/Articles/829375/ https://lwn.net/Articles/829375/ ncm To answer your question: Attendance at C++ conferences has been exploding, right up until the lockdown. Applications to speak at C++ conferences likewise. Number of C++ conferences, likewise. For several years running, attendance at <i>each</i> tri-annual meeting of ISO C++ Standard conferences, regardless of how out-of-the-way the venue has been, has exceeded that at <i>all</i> previous meetings. <p> But this is off-topic. The only reason I even mentioned C++ was as an example Rust would not displace. But at issue here is what may be done to enable Rust ever to displace <i>anything at all</i> . (It would be super-great if Rust displaced Java.) The main answer here, though, seems to be "let it die". Sat, 22 Aug 2020 01:46:11 +0000 Time for a Reckoning https://lwn.net/Articles/829376/ https://lwn.net/Articles/829376/ HelloWorld <div class="FormattedComment"> You clearly have no fucking clue what makes or breaks a decent programming language. Stop wasting everybody&#x27;s time, troll.<br> </div> Sat, 22 Aug 2020 01:29:21 +0000 Time for a Reckoning https://lwn.net/Articles/829372/ https://lwn.net/Articles/829372/ HelloWorld <div class="FormattedComment"> <font class="QuotedText">&gt; The topic is Rust, which is. Rust&#x27;s adoption curve is still pretty good, although not good enough. </font><br> <p> You keep saying that without presenting any evidence whatsoever, and besides, how would you even know if it&#x27;s ”good enough“?<br> <p> Go troll somewhere else.<br> </div> Sat, 22 Aug 2020 01:27:36 +0000 Time for a Reckoning https://lwn.net/Articles/829374/ https://lwn.net/Articles/829374/ ncm <div class="FormattedComment"> You have presented your credentials.<br> </div> Sat, 22 Aug 2020 01:26:20 +0000 Time for a Reckoning https://lwn.net/Articles/829371/ https://lwn.net/Articles/829371/ ncm <div class="FormattedComment"> Here, it would be, because it is of no relevance of any kind. Yet, you persist.<br> </div> Sat, 22 Aug 2020 01:25:37 +0000 Time for a Reckoning https://lwn.net/Articles/829370/ https://lwn.net/Articles/829370/ HelloWorld <div class="FormattedComment"> Ok, a stupid troll it is.<br> </div> Sat, 22 Aug 2020 01:24:05 +0000 Time for a Reckoning https://lwn.net/Articles/829368/ https://lwn.net/Articles/829368/ HelloWorld <div class="FormattedComment"> Turning the borrow checker off is *exactly* what you have proposed. Your pathetic attempts at denying it doesn&#x27;t change that fact.<br> </div> Sat, 22 Aug 2020 01:23:25 +0000 Time for a Reckoning https://lwn.net/Articles/829365/ https://lwn.net/Articles/829365/ HelloWorld <div class="FormattedComment"> You made up some bullshit about Oberon being used in production at large scale, then somebody called your bullshit and now you&#x27;re trying to change the topic. You&#x27;re just a pathetic troll. Please go waste somebody else&#x27;s time.<br> </div> Sat, 22 Aug 2020 01:21:45 +0000 Time for a Reckoning https://lwn.net/Articles/829366/ https://lwn.net/Articles/829366/ ncm <div class="FormattedComment"> Ok, doom it is.<br> </div> Sat, 22 Aug 2020 01:20:29 +0000 Time for a Reckoning https://lwn.net/Articles/829363/ https://lwn.net/Articles/829363/ ncm <div class="FormattedComment"> You have become confused by noisy advocacy in a tiny puddle. There are well over two million programmers employed full-time developing C++. It would be surprising if there were fully two hundred paid to code Rust--before Mozilla&#x27;s layoffs.<br> <p> C++ is not in danger, so is off-topic. The topic is Rust, which is. Rust&#x27;s adoption curve is still pretty good, although not good enough. When it starts leveling off (second derivative crosses zero), it will be too late to discuss how to save it.<br> </div> Sat, 22 Aug 2020 01:19:25 +0000 Time for a Reckoning https://lwn.net/Articles/829362/ https://lwn.net/Articles/829362/ ncm <div class="FormattedComment"> Once again: only Rust apologists have mentioned turning the borrow checker off, in apparent effort to derail productive discussion of measures to save Rust from oblivion.<br> </div> Sat, 22 Aug 2020 01:03:50 +0000 Time for a Reckoning https://lwn.net/Articles/829361/ https://lwn.net/Articles/829361/ ncm <div class="FormattedComment"> I see that you have confused a mechanism to reveal borrow-checking mistakes with a policeman.<br> </div> Sat, 22 Aug 2020 00:52:30 +0000