![]() | This is an archive of past discussions about Rust (programming language). Do not edit the contents of this page. If you wish to start a new discussion or revive an old one, please do so on the current talk page. |
Archive 1 | Archive 2 | Archive 3 | Archive 4 |
Hello fellow Wikipedians,
I have just added archive links to one external link on Rust (programming language). Please take a moment to review my edit. If necessary, add {{cbignore}}
after the link to keep me from modifying it. Alternatively, you can add {{nobots|deny=InternetArchiveBot}}
to keep me off the page altogether. I made the following changes:
When you have finished reviewing my changes, please set the checked parameter below to true to let others know.
This message was posted before February 2018. After February 2018, "External links modified" talk page sections are no longer generated or monitored by InternetArchiveBot. No special action is required regarding these talk page notices, other than regular verification using the archive tool instructions below. Editors have permission to delete these "External links modified" talk page sections if they want to de-clutter talk pages, but see the RfC before doing mass systematic removals. This message is updated dynamically through the template {{source check}}
(last update: 5 June 2024).
Cheers.—cyberbot IITalk to my owner:Online 17:39, 25 February 2016 (UTC)
The term "mutated" is used in a code comment. Please define terms, thanks! 24.18.30.76 (talk) 20:39, 17 July 2016 (UTC)24.18.30.76 (talk) 20:39, 17 July 2016 (UTC)
Borrow checker currently redirects to Rust (programming language) but is never mentioned on that page. Should the redirect be deleted or is there some more appropriate target for that redirect?—Tea2min (talk) 18:48, 15 January 2017 (UTC)
Would be useful to have some kind of indication of compile and execution efficiency. All the best: Rich Farmbrough, 20:39, 16 April 2017 (UTC).
The Rust folks at rust-lang.org refer to it as a "systems programming language". The reference for calling it a "general purpose programming language" also refers to it as a "systems programming language". So if the description is not changed, the reference needs to be removed since the text disagrees with it's own reference. Wickorama (talk) 21:28, 24 March 2017 (UTC)
Does the thread example use green threads or OS threads? And does Rust provide tail recursion optimization? If not, I am not sure it is appropriate to have the factorial implemented like that. --Ysangkok (talk) 21:33, 27 April 2016 (UTC)
Rust removed green threads before 1.0 and I'm not too sure on the tail recursion but I think it does.69.26.74.42 (talk) 19:03, 26 May 2016 (UTC)
Rust uses os threads. rust can do tail recursion optimisation, but does not guarantee it, it leaves it to llvm to do it. 178.24.156.98 (talk) 11:09, 24 April 2017 (UTC)
This is an encylopedia article. It describes a subject from reliable secondary sources. It does not attempt to teach content, and it is not a showcase for random editors' clever use of their software development experience. If we need example code, it should be to demonstrate specific features or syntax, and integrated into the relevant sections. It should not be an open-ended, arbitrary library of code snippets with no supporting references (because let's face it, all of this code is written by editors themselves to demonstrate how clever they are) tacked onto the end. Chris Cunningham (user:thumperward) (talk) 14:29, 20 August 2017 (UTC)
The history section says that "traits were added as a means to provide inheritance". I think the word "inheritance" is inaccurate, but I don't know a better word. JustinBlank (talk) 13:52, 18 April 2017 (UTC)
Hello, I'm unsure of the right WP rule but I wonder if external links to published books, esp. O'Reilly's Programming Rust and No Starch's Rust Programming Language. I am the author of Rust in Action by Manning, but I will allow others to advocate for its inclusion :) TimClicks (talk) 19:58, 9 March 2018 (UTC)
References
The reference that Rust only works partially on iOS is outdated; according to this link, Rust compiles for all iOS-relevant target architectures and you should be able to use it on every iOS device.
If nobody objects, i'll remove the "(partially)" and update the reference. KizzyCode (talk) 14:21, 8 January 2019 (UTC)
Does anyone know what is meant by "referenced" in the sentence "The language is referenced in The Book of Mozilla as "oxidised metal.""? The way that people use "reference" as a verb to mean almost anything, it's anyone's guess if that means that the Book of Mozilla cites Rust somehow, or that's what it calls Rust wherever it is mentioned, or if that's just a single, oblique mention somewhere in the Book of Mozilla. As it stands, the sentence might as well read "The language is verbed in The Book of Mozilla." — Preceding unsigned comment added by 2601:140:8000:A739:A4CF:846E:82A1:DF9F (talk) 17:12, 8 January 2019 (UTC)
The current comparison of Rust traits to C++ concepts is incorrect. Should we remove the mention of C++ concepts or expand on them to explain the difference?
Currently the "Types and polymorphism" section says:
Functions can be given generic parameters, which usually require the generic type to implement a certain trait or traits. Within such a function, the generic value can only be used through those traits. This means that a generic function can be type-checked as soon as it is defined. This is in contrast to C++ templates, which are fundamentally duck typed and cannot be checked until instantiated with concrete types. C++ concepts address the same issue and are expected to be part of C++20 (2020).
But C++ concepts (as currently proposed) are very different from Rust traits, and do not allow for the parameterised function to be type-checked only once.
Rust traits are implemented explicitly, whereas C++ concepts constraints are implicitly met. This means that concept-constrained templates can legally invoke behaviour not defined by the concept. So, the following code compiles in g++ v7.4.0 with flags `--std=c++1z -fconcepts`[1]:
#include <string>
template<typename T>
concept bool Stringable = requires(T a) {
{a.stringify()} -> std::string;
};
class Cat {
public:
std::string stringify() {
return "meow";
}
void pet() {
}
};
template<Stringable T>
void f(T a) {
a.pet();
}
int main() {
f(Cat());
return 0;
}
The Rust equivalent would not compile:
trait Stringable {
fn stringify() -> String;
}
struct Cat {
}
impl Cat {
fn pet() {}
}
impl Stringable for Cat {
fn stringify() -> String {
"meow".to_string()
}
}
fn f<T: Stringable>(a: T) {
a.pet(); // error[E0599]: no method named `pet` found for type `T` in the current scope
}
fn main() {
let cat = Cat{};
f(cat);
}
C++ concept-constrained templates are still only type checked once a concrete instantiation is made -- they just give better, sooner error messages for types that don't comply with the constraint, rather than the long stream of nonsense that failed template instantiations output in C++ without concepts.
I think it's quite common for people to think that concepts are the same as traits. They look similar syntactically, and also the realities of them aren't well known because they aren't yet in a standard. But I think it would be worth updating the Wiki here to briefly explain the differences. Either that or we could remove all mention of C++ concepts.
Maybe a separate section (briefly) comparing Rust traits to similar constructs in other languages would be helpful. Perhaps just a few sentences each for some close comparisons:
Does anyone have any thoughts? Lochsh (talk) 19:33, 3 July 2019 (UTC)
References
This list could grow very large, and by itself it is not very encyclopedic for this article. It sees issues with WP:INDISCRIMINATE sometimes. 80.221.159.67 (talk) 07:59, 23 October 2016 (UTC)
{{ping|waddie96}} {talk}
09:28, 27 September 2019 (UTC)the citation is relying on a conversation that is only thinking about the use of "Ada pragmas".
"This is a prime candidate for a linter pass. We've talked about such checks before (pragmas, subsets, etc.) along the lines of the pragmas in Ada. I'm in favour."
- https://github.com/rust-lang/rust/issues/1693
So questionable that rust is influenced by Ada. :)
CodyMLar (talk) 19:15, 26 May 2016 (UTC) https://users.rust-lang.org/t/does-rust-have-any-influence-from-ada/5981 — Preceding unsigned comment added by 69.26.74.42 (talk) 22:06, 26 May 2016 (UTC)
I vote to remove mention of Ada as there's no explicit influence from Ada at all, according to the Rust devs themselves. I don't think there'd be any objections to this move. Oecology (talk) 16:30, 30 June 2016 (UTC)
Since when are twitter tweets reliable sources for wiki pedia?
Even from people involved in a matter, i.e. non-neutral sources?
Jan Burse (talk) 15:34, 29 January 2021 (UTC)
The Rust programming language support for IA32 (32 bit) platoforms is almost completely misleading or false advertising.
Rust removed support for CPU's not having SSE2 optimization register within the past year, or was in the process of removing two or more years ago.
The CPU SSE2 optimization register was only fully implented on very late era Intel Pentium 4 CPU's. (See Wikipedia SSE2 article.) Prior to Pentium 4, the SSE2 register was called the MMX CPU register, and to use the MMX register as a SSE2 register would require additional trivial coding. MMX register, again, was only implemented in late era Pentium CPU's.
In brief, Rust programming language seems to have been quietly removing support for the older non-SSE2 CPU's over the past year, quietly subsequently creating havoc within coding and Linux package maintainer social environments, as Rust now only provides SSE2 bootstrap builds. All awhile still advertising IA32 support. A platform not having the SSE2 CPU register executing SSE2 compiled code will usually immediately segfault, and if any error message is given, a very generic error message until digging deeper. --roger (talk) 19:14, 22 February 2021 (UTC)
Isn't a mutable variable a tautology?
What is wrong with const x: int = 1; and let x: int = 1;? OttTheTormentor (talk) 21:21, 8 February 2021 (UTC)
mut
). This is just how the language was defined. Anton.bersh (talk) 11:26, 18 April 2021 (UTC)A strong part of rust are the components. we have cargo
, clippy
, rustfmt
, rust-docs
and more. I would like to raise the question of if these components should be included in the rust wikipedia page
cargo
especially is a part of the core of rust - even if not needed.rustup
. rustup
is developed by rust, but is not "core" (ie a secondary project)rustc
component - nothing more is needed (ie the lang breaks without it) (although all the components help a lot!)What are your thoughts on this? Scaledish! Talkish? Statish. 01:40, 16 May 2021 (UTC)
Scaledish! Talkish? Statish.
15:47, 16 May 2021 (UTC)Scaledish! Talkish? Statish.
18:58, 17 May 2021 (UTC)Scaledish! Talkish? Statish.
13:09, 18 May 2021 (UTC)Scaledish! Talkish? Statish.
13:33, 18 May 2021 (UTC)Scaledish! Talkish? Statish.
12:54, 9 June 2021 (UTC)Should we add WASM as a listed target? I'm leaning towards no since it's only a "guaranteed to build" target and not a "guaranteed to work" target. 199.58.98.69 (talk) 03:47, 31 July 2019 (UTC)
Scaledish! Talkish? Statish.
15:16, 25 May 2021 (UTC)If the user who says Rust is not high-level wants to create an account and discuss here (or if anyone else wants to voice an opinion), please do. Caleb Stanford (talk) 01:58, 12 November 2021 (UTC)
The rust moderation team seems to have publicly resigned en-masse. This is being further discussed on Reddit here, and is purportedly due to a lack of 'Core Team' oversight. This seems to be a sufficiently big deal to merit a mention, but of course hasn't been resolved yet. — Preceding unsigned comment added by TiredDoc (talk • contribs) 12:28, 23 November 2021 (UTC)
Please add a section about side effects in Rust. --VictorPorton (talk) 04:16, 7 August 2020 (UTC)