LWN: Comments on "Living with the Rust trademark" https://lwn.net/Articles/901816/ This is a special feed containing comments posted to the individual LWN article titled "Living with the Rust trademark". en-us Mon, 03 Nov 2025 12:22:32 +0000 Mon, 03 Nov 2025 12:22:32 +0000 https://www.rssboard.org/rss-specification lwn@lwn.net Avoiding Rice's theorem, Turing completeness etc in practice https://lwn.net/Articles/904691/ https://lwn.net/Articles/904691/ farnz <p>To be clear, I'm not claiming that simply bunging "<tt>unsafe</tt>" into a program will cause the Rust compiler to accept it when it wouldn't otherwise; you do need to rewrite a program that fails to compile in Safe Rust into using the Unsafe Rust equivalents before the compiler will accept it - one of the nice features of Unsafe Rust is that anything that's Safe Rust behaves in exactly the same way whether you're using the Safe dialect or Unsafe dialect of Rust, it's just that in the Unsafe dialect, you have more ways to express the same basic computation. Hence, I'm talking about using unsafe superpowers like converting reference to pointer and then pointer back to reference to get a reference whose lifetime is independent of the original reference. This is unsafe for good reasons, and is rarely the right thing to do (since it's likely to have undefined behaviour), but you can do it if you have a valid program that the borrow checker rejects. Similar with bounds checks (<tt>get_unchecked(idx)</tt> or <tt>get_unchecked_mut(idx)</tt> instead of <tt>[idx]</tt>) and arithmetic on primitive types (<tt>unchecked_add(a, b)</tt> instead of <tt>a + b</tt>). <p>I'd be highly suspicious of any code I saw doing this, since checking it for correctness is deeply manual if you do this, and I'd prefer something compiler checked, but you can do it if you really are smarter than the compiler. <p>And the borrow checker, like everything in Safe Rust, is conservative - if you're using Safe Rust constructs (references not pointers, for example), the borrow checker should only accept programs that are definitely memory safe. Mon, 15 Aug 2022 12:58:56 +0000 Avoiding Rice's theorem, Turing completeness etc in practice https://lwn.net/Articles/904686/ https://lwn.net/Articles/904686/ tialaramex <div class="FormattedComment"> You can&#x27;t turn off Rust&#x27;s borrow checker (this is one of the common misconceptions about what &quot;unsafe&quot; does, along with belief it disables bounds and overflow checks) and the borrow checker has both classification problems in principle but in practice it mostly can mistakenly conclude that your borrows aren&#x27;t OK when actually they are.<br> <p> So, Polonius will take some Rust programs which make sense but defy the current borrow analysis and so don&#x27;t compile today - even if you were to sprinkle &quot;unsafe&quot; all over them, and make those programs compile fine as written.<br> <p> The small number of unsafe &quot;super powers&quot; granted by the Rust unsafe keyword can of course introduce Undefined Behaviour, but that&#x27;s distinct from the situation in C++ where you can in many cases write an invalid C++ program, one which simply doesn&#x27;t mean anything under the C++ standard, and it will compile anyway, as allowed by the &quot;No diagnostic required&quot; rule.<br> </div> Mon, 15 Aug 2022 11:57:46 +0000 Living with the Rust trademark https://lwn.net/Articles/904578/ https://lwn.net/Articles/904578/ fest3er <div class="FormattedComment"> «It&#x27;s secretly still quite a rigid form of interaction, but on top of the technical issue it layers &quot;we are all humans with different understandings of this problem, and the meta-problem is getting everyone on the same page&quot;.»<br> <p> [digression]<br> <p> This supports my assertion that natural languages (English, German, Swahili, et alia) are, indeed, programming languages in that the speaker/writer attempts to program the listener&#x27;s/reader&#x27;s neural net to at least understand the former&#x27;s thoughts, if not to actually think the same thoughts. Those who take the time and make the effort to speak/write more correct programs are better understood in general.<br> <p> [/digression]<br> </div> Fri, 12 Aug 2022 18:02:57 +0000 Living with the Rust trademark https://lwn.net/Articles/904305/ https://lwn.net/Articles/904305/ sammythesnake <div class="FormattedComment"> I hadn&#x27;t heard of the double empathy problem before, but it certainly chimes with my experience.<br> <p> There have been many times when I&#x27;ve felt I&#x27;m doing a much better job of understanding an &quot;NT&quot; than they are at understanding me. I&#x27;ve generally assumed that my advantage in those situations is a massively greater amount of *experience* at dealing with people different from myself, because almost everyone I deal with *is* different from myself...<br> </div> Tue, 09 Aug 2022 23:59:29 +0000 iceweasel https://lwn.net/Articles/903954/ https://lwn.net/Articles/903954/ hummassa <div class="FormattedComment"> I read &quot;compromised&quot; as a technical term. If you are a dissident in an autocratic country that bans the use of Firefox and the government has the means to pinpoint you by the telemetry traffic, the *fact* is that you are effectively *dead* before you can opt-out.<br> </div> Fri, 05 Aug 2022 13:51:10 +0000 iceweasel https://lwn.net/Articles/903904/ https://lwn.net/Articles/903904/ zdzichu <div class="FormattedComment"> &quot;Compromised&quot;? Care to explain why have you used such heavy word?<br> </div> Fri, 05 Aug 2022 05:27:52 +0000 iceweasel https://lwn.net/Articles/903862/ https://lwn.net/Articles/903862/ brunowolff <div class="FormattedComment"> For something more explicit, they are open about having telemetry on by default. Which means unless you know what you are doing, you are compromised before you can even opt out using the normal settings interface.<br> <p> <a rel="nofollow" href="https://support.mozilla.org/en-US/kb/telemetry-clientid">https://support.mozilla.org/en-US/kb/telemetry-clientid</a><br> </div> Thu, 04 Aug 2022 20:48:42 +0000 Living with the Rust trademark https://lwn.net/Articles/903746/ https://lwn.net/Articles/903746/ farnz <p>Scroll down to "Knocking out the Competition" in <a href="https://www.thefreelibrary.com/John+H.+Patterson+and+the+sales+strategy+of+the+National+Cash...-a054140954">this account of NCR's early sales strategy</a>. Or see if you can find details of the 1912 antitrust lawsuit against NCR, where some executives were found criminally liable for NCR's actions. Thu, 04 Aug 2022 08:59:00 +0000 Living with the Rust trademark https://lwn.net/Articles/903741/ https://lwn.net/Articles/903741/ ehiggs <div class="FormattedComment"> <font class="QuotedText">&gt; An absolutely perfect example is, in the early days, NCR reputedly made shoddy copies of competitors cash-registers, specifically with the intention of damaging said competitor&#x27;s reputation and destroying their business.</font><br> <p> Do you have more information on this? It sounds like a crazy story!<br> </div> Thu, 04 Aug 2022 07:10:54 +0000 Living with the Rust trademark https://lwn.net/Articles/903504/ https://lwn.net/Articles/903504/ anton All the things we three have written is correct: <p>Yacc came first, then came Bison, and Bison was a pun on yacc, and it was originally incompatible with yacc. GNU adopted Bison and made it yacc-compatible. <p> <a href="https://en.wikipedia.org/wiki/Berkeley_Yacc#History">Source</a> Mon, 01 Aug 2022 21:14:58 +0000 Living with the Rust trademark https://lwn.net/Articles/903497/ https://lwn.net/Articles/903497/ mbunkus <div class="FormattedComment"> I don&#x27;t think this is quite correct. Back in the days there was a Unix parser generator called yacc (yet another compiler-compiler), and (GNU) Bison was written afterwards with the name bison being a play on the older project&#x27;s name. However, Bison hadn&#x27;t been a direct port of yacc, nor was it compatible with it in the beginning.<br> </div> Mon, 01 Aug 2022 18:27:27 +0000 Living with the Rust trademark https://lwn.net/Articles/903496/ https://lwn.net/Articles/903496/ farnz <p>GNU Bison is a reimplementation of traditional UNIX "yacc". As "yacc" is pronounced the same way as "<a href="https://en.wikipedia.org/wiki/Yak">yak</a>", the name GNU Bison is a pun (since yaks and bison are related species of bovine). Mon, 01 Aug 2022 18:24:40 +0000 Living with the Rust trademark https://lwn.net/Articles/903488/ https://lwn.net/Articles/903488/ anton GNU Bison is probably named that way because it is derived from a program called Bison. <p>Lots of other GNU programs were just called like their Unix counterparts, so I doubt that GNU Bison is named that way for legal reasons. Mon, 01 Aug 2022 17:42:25 +0000 iceweasel https://lwn.net/Articles/903015/ https://lwn.net/Articles/903015/ rahulsundaram <div class="FormattedComment"> <font class="QuotedText">&gt; That does not appear to be the case in Fedora. I don&#x27;t know if it is a fork or if your information is out of date.</font><br> <p> His information is correct, the Fedora maintainer has his own fork because upstream is dead.<br> <p> <a href="https://gitlab.com/anto.trande/icecat">https://gitlab.com/anto.trande/icecat</a><br> <p> You can find it by looking at the spec repo in<br> <p> <a href="https://src.fedoraproject.org/rpms/icecat">https://src.fedoraproject.org/rpms/icecat</a><br> <p> </div> Sun, 31 Jul 2022 15:29:45 +0000 iceweasel https://lwn.net/Articles/903001/ https://lwn.net/Articles/903001/ rahulsundaram <div class="FormattedComment"> Firefox can enhance defaults is probably always going to be true although newer versions typically do better there. However your statement that Mozilla thinks it’s ok to violate privacy isn’t supported by this.<br> </div> Sun, 31 Jul 2022 11:19:09 +0000 iceweasel https://lwn.net/Articles/902996/ https://lwn.net/Articles/902996/ brunowolff <div class="FormattedComment"> Read <a rel="nofollow" href="https://github.com/arkenfox/user.js/blob/master/user.js">https://github.com/arkenfox/user.js/blob/master/user.js</a> to get an idea of what could be improved. In some cases there is a trade off, in others Fitrefox just provides a poor default.<br> </div> Sun, 31 Jul 2022 05:18:00 +0000 iceweasel https://lwn.net/Articles/902995/ https://lwn.net/Articles/902995/ brunowolff <div class="FormattedComment"> That does not appear to be the case in Fedora. I don&#x27;t know if it is a fork or if your information is out of date.<br> Name : icecat<br> Version : 91.12.0<br> <p> </div> Sun, 31 Jul 2022 05:01:59 +0000 iceweasel https://lwn.net/Articles/902993/ https://lwn.net/Articles/902993/ rsidd The last <a href="https://ftp.gnu.org/gnu/icecat/">release</a> of icecat was in 2019, version 60.7.0. Using icecat means ignoring over three years of security fixes. Security holes are somewhat more of a privacy risk than anything Mozilla does. Sun, 31 Jul 2022 01:10:43 +0000 iceweasel https://lwn.net/Articles/902992/ https://lwn.net/Articles/902992/ rahulsundaram <div class="FormattedComment"> <font class="QuotedText">&gt; Mozilla thinks it is OK for them to violate users&#x27; privacy </font><br> <p> Source?<br> </div> Sun, 31 Jul 2022 00:52:21 +0000 iceweasel https://lwn.net/Articles/902970/ https://lwn.net/Articles/902970/ brunowolff <div class="FormattedComment"> There are important differences between firefox and icecat (which might not be the same as iceweasel). Mozilla thinks it is OK for them to violate users&#x27; privacy because they are the good guys doing it for good reasons. The changes for icecat provide a significant improvement in privacy and I think people should use icecat in preference to firefox until Mozilla changes their stance on privacy.<br> </div> Sat, 30 Jul 2022 17:31:36 +0000 iceweasel https://lwn.net/Articles/902959/ https://lwn.net/Articles/902959/ flussence <div class="FormattedComment"> Fragmenting a browser between Official and Free editions doesn&#x27;t seem to have hindered Chromium&#x27;s adoption. Both that and Firefox are &quot;free software&quot; in the most worthlessly pedantic sense too: I can, right now, burn a whole lot of CPU compiling either in Gentoo without manually permitting a single non-free license in the config.<br> <p> I count 41 packages in the distro repos that link against webkit-gtk, 75 that use qtwebengine, ~20 distinct binaries built on chromium, one that uses *dillo*. You know what&#x27;s not in that list? Servo. XULRunner. Firefox. We really need an alternative but Mitchell Baker&#x27;s $4 million salary sure isn&#x27;t making that happen.<br> </div> Sat, 30 Jul 2022 14:13:18 +0000 Living with the Rust trademark https://lwn.net/Articles/902863/ https://lwn.net/Articles/902863/ ssokolow <div class="FormattedComment"> Have we seen any examples of how he reacts when someone else with ASD calls him out? I doubt it&#x27;d be productive, but it might be satisfying.<br> </div> Fri, 29 Jul 2022 02:40:46 +0000 Living with the Rust trademark https://lwn.net/Articles/902862/ https://lwn.net/Articles/902862/ ssokolow <a rel="nofollow" href="https://www.psychologytoday.com/us/blog/friendship-20/201907/what-is-rejection-sensitive-dysphoria">Rejection Sensitive Dysphoria</a> can also be involved... though I usually see it brought up in correlation with ADHD. Fri, 29 Jul 2022 02:38:54 +0000 Living with the Rust trademark https://lwn.net/Articles/902847/ https://lwn.net/Articles/902847/ atnot <div class="FormattedComment"> This is still how things like OpenGL, Vulkan work.<br> </div> Thu, 28 Jul 2022 17:57:46 +0000 Living with the Rust trademark https://lwn.net/Articles/902825/ https://lwn.net/Articles/902825/ dvdeug <div class="FormattedComment"> The Ada specification had a trademark on Ada for a long time; you couldn&#x27;t sell an Ada compiler unless it passed a battery of tests. That hasn&#x27;t been in effect for sometime, though.<br> </div> Thu, 28 Jul 2022 14:57:01 +0000 Living with the Rust trademark https://lwn.net/Articles/902728/ https://lwn.net/Articles/902728/ tobiasvl <div class="FormattedComment"> Funnily enough, &quot;Ferrocene&quot; is the name of a third-party Rust specification. https://ferrous-systems.com/ferrocene/<br> </div> Thu, 28 Jul 2022 14:06:15 +0000 Living with the Rust trademark https://lwn.net/Articles/902710/ https://lwn.net/Articles/902710/ madhatter <div class="FormattedComment"> I am so going to add that to my toolbox of useful options for interactions, for all the reasons you&#x27;ve stated. Thank you.<br> </div> Thu, 28 Jul 2022 06:28:25 +0000 Living with the Rust trademark https://lwn.net/Articles/902602/ https://lwn.net/Articles/902602/ Jandar <div class="FormattedComment"> <font class="QuotedText">&gt; The &quot;spaceship&quot; operator is automatically derived. If your C++11 code is doing something weird with `&lt;` and `&lt;=&gt;` is auto-derived for you, it can look very odd.</font><br> <p> And the &lt;=&gt; operator is used instead of &lt; in the STL. I had a very subtle error while using a set of pair&lt;&gt; (*). The result was searching a multi MLOC codebase and writing many new &lt;=&gt; operators to be sure to avoid this problem.<br> <p> The new automatically derived &lt;=&gt; was an unexpected major pain during transition to -std=c++20.<br> <p> (*) This concrete problem was facilitated thru the indirection of the comparison operator by pair&lt;&gt;. Why the pair&lt;&gt; was needed to trigger the problem I don&#x27;t fully understand, the convoluted implementation of the g++ STL has left me addleheaded ;-)<br> </div> Tue, 26 Jul 2022 22:39:34 +0000 Living with the Rust trademark https://lwn.net/Articles/902507/ https://lwn.net/Articles/902507/ ttuttle <div class="FormattedComment"> This sounds great! Let&#x27;s argue about something someday.<br> </div> Tue, 26 Jul 2022 05:12:30 +0000 Living with the Rust trademark https://lwn.net/Articles/902503/ https://lwn.net/Articles/902503/ NYKevin <div class="FormattedComment"> As an ADHD sufferer who can sometimes be a bit too systemic for my own good, I have found the phrase &quot;help me understand&quot; works wonders. For example, &quot;help me understand what happens when X&quot; instead of &quot;your code is buggy because it doesn&#x27;t handle X.&quot; This is good for several reasons:<br> <p> * If I&#x27;m wrong, then I&#x27;ve explicitly invited the other person to explain that fact to me, they will hopefully do it in a calm and tactful manner, and neither of us loses face. This also gives me a good excuse to say &quot;hm, should we put a comment here or maybe refactor it somehow?&quot;<br> * If I&#x27;m right, having to explain something generally tends to engage the other person&#x27;s critical thinking rather than their social status, and so it is more likely that they will agree with me rather than getting defensive.<br> * If the issue is more complicated than a simple right/wrong dichotomy, and needs further discussion, then it&#x27;s easier to do that if we&#x27;re both thinking in analytical terms rather than &quot;who is right&quot; terms.<br> * The important thing to keep in mind is that this is *not* a rhetorical strategy, it is a genuine invitation to have an open-ended discussion. I am not assuming that I know what the answer is going to be. I have occasionally noticed people interpret it as condescension, but it must be emphasized that I really do see this as a conversation opener, and not merely as a more gentle way to deliver a criticism. Unfortunately, it can be difficult to communicate this fact over a textual channel.<br> <p> Of course, you don&#x27;t want to just repeat the same phrase over and over again, so I&#x27;ve found that phrasing critiques as questions also works well (e.g. &quot;could this pointer be NULL?&quot;)<br> </div> Tue, 26 Jul 2022 04:49:31 +0000 Living with the Rust trademark https://lwn.net/Articles/902495/ https://lwn.net/Articles/902495/ motk <div class="FormattedComment"> Yep, every time he calls called out on his toxic nonsense he goes straight back the the &quot;I have ASD, you have no power over me&quot; thing and it&#x27;s infuriating.<br> </div> Tue, 26 Jul 2022 02:15:44 +0000 Living with the Rust trademark https://lwn.net/Articles/902419/ https://lwn.net/Articles/902419/ ttuttle <p>Yeah, this absolutely goes both ways.</p> <p>Thanks in large part to <a href="https://en.wikipedia.org/wiki/Double_empathy_problem">the double empathy problem</a>, conflicts between autistics and non-autistics often go poorly.</p> <p>Some autistics handle this by avoiding conflict, some handle it by consciously learning to navigate conflicts, and some handle it by barreling through conflicts anyway.</p> Mon, 25 Jul 2022 15:48:40 +0000 Living with the Rust trademark https://lwn.net/Articles/902414/ https://lwn.net/Articles/902414/ ttuttle <div class="FormattedComment"> Oh, the buckets are nowhere *near* that discrete -- autism, ADHD, and OCD overlap both in symptoms and in comorbidity.<br> <p> Personally, I tend to think systematically, but communities are systems too. Rust&#x27;s license might forbid using their trademark, but my social &#x27;rules&#x27; forbid assuming I&#x27;m correct and assuming others&#x27; motives/reasoning/etc..<br> <p> So I might have noticed the same issue that he had, but I would&#x27;ve framed my report more like &quot;Hi, I was looking at A, and it seems like B, which I&#x27;m worried would cause big problem C for the project. Is this something that needs fixed, or a risk you&#x27;re willing to take, or am I missing something? Thanks, me&quot;, and I would&#x27;ve framed my follow-ups as &quot;Cool, can you explain why D thinks this is not an issue?&quot;.<br> <p> It&#x27;s secretly still quite a rigid form of interaction, but on top of the technical issue it layers &quot;we are all humans with different understandings of this problem, and the meta-problem is getting everyone on the same page&quot;.<br> </div> Mon, 25 Jul 2022 15:45:31 +0000 Living with the Rust trademark https://lwn.net/Articles/902369/ https://lwn.net/Articles/902369/ atnot <div class="FormattedComment"> Indeed, it has often noted by other people on the spectrum that a lot of the externally visible behaviors associated with their condition are also symptoms of them being put in emotional distress. Conflict avoidance, compulsive kindness (&quot;masking&quot;) and other learned helplessness reactions are somewhat unsurprising when you&#x27;re repeatedly being punished for behaving differently than people expect you to or struggle to receive sympathy for your needs.<br> <p> (I shudder to think what CS would look like if being toxic online was actually a common reaction instead, given the amount of us here)<br> </div> Mon, 25 Jul 2022 13:07:48 +0000 Avoiding Rice's theorem, Turing completeness etc in practice https://lwn.net/Articles/902367/ https://lwn.net/Articles/902367/ farnz <p>As a side note on Rice's theorem (and Turing completeness, and other subsets of Rice's theorem): you can also avoid Rice's theorem by accepting some degree of inaccuracy from your classifier. It says you can't get perfection, but you can approximate it. <p>You can, for example, accept all good programs, but also misclassify 0.01% of bad programs as good, and avoid being bitten by Rice's theorem; same applies in the other direction (reject all bad, misclassify some good). One of the things Rust appears to be trying to do is to have it both ways; in the Safe Rust dialect, the compiler will reject all bad programs, but will misclassify some good programs as bad. In the Unsafe Rust dialect, it goes for the opposite error - it will accept all good programs, but will misclassify some bad programs as good. Mon, 25 Jul 2022 11:49:41 +0000 iceweasel https://lwn.net/Articles/902362/ https://lwn.net/Articles/902362/ rsidd <div class="FormattedComment"> Firefox is the only viable free-software browser, fragmenting it really won&#x27;t help. Plus we really need an alternative to the chrome engine, which has even taken over Microsoft now. <br> </div> Mon, 25 Jul 2022 06:07:58 +0000 Living with the Rust trademark https://lwn.net/Articles/902360/ https://lwn.net/Articles/902360/ jezuch <div class="FormattedComment"> <font class="QuotedText">&gt; I thought it was a trait of Aspergers (and autism in general) that you AVOID conflict.</font><br> <p> I believe it&#x27;s just a coping strategy for people who don&#x27;t want to be assholes but still inadvertently run into conflicts. It&#x27;s not an inherent trait.<br> <p> (At least that&#x27;s *my* coping strategy.)<br> </div> Mon, 25 Jul 2022 05:23:11 +0000 iceweasel https://lwn.net/Articles/902345/ https://lwn.net/Articles/902345/ ballombe <div class="FormattedComment"> Really, Debian should have kept the name iceweasel. Dealing with trademark license is not worth the trouble of using them.<br> <p> </div> Sun, 24 Jul 2022 20:26:06 +0000 Living with the Rust trademark https://lwn.net/Articles/902308/ https://lwn.net/Articles/902308/ Wol <div class="FormattedComment"> I thought it was a trait of Aspergers (and autism in general) that you AVOID conflict.<br> <p> Unfortunately, it also seems to attract the assholes who foment conflict who claim to have it ...<br> <p> (Although there&#x27;s also the OCD angle where people on the spectrum just can&#x27;t let go ... Aspergers should be able to recognise that and deal with it, though ...)<br> <p> Cheers,<br> Wol<br> </div> Sun, 24 Jul 2022 07:37:23 +0000 Living with the Rust trademark https://lwn.net/Articles/902294/ https://lwn.net/Articles/902294/ ttuttle <div class="FormattedComment"> I&#x27;m autistic, and I&#x27;m mad that he&#x27;s using Asperger&#x27;s (currently considered a presentation of autism) as an excuse. It perpetuates a harmful stereotype, and plenty of us are awkward or blunt but still capable of handling differences of understanding or opinion by asking questions or clarifying thoughts rather than lashing out.<br> </div> Sun, 24 Jul 2022 00:09:45 +0000