The part complaining about missing details in the error message seems weird. You get a pretty detailed error even without using `--explain`:<p><pre><code> error[E0384]: cannot assign twice to immutable variable `x`
--> src/main.rs:4:5
|
3 | let x = 3;
| -
| |
| first assignment to `x`
| help: make this binding mutable: `mut x`
4 | x = 5;
| ^^^^^ cannot assign twice to immutable variable
error: aborting due to previous error; 2 warnings emitted
For more information about this error, try `rustc --explain E0384`.</code></pre>
I quite liked the tongue-in-cheek style.<p>> The book really led me to believe there are literally two types of strings in Rust<p>Oh you sweet summer child :) The joys of discovering that on lower levels, a String is not a str is an OsStr but is not a str and why that is are coming back to me.<p>Also, I particularly like the periodic table of rust types:<p><a href="https://cosmic.mearie.org/2014/01/periodic-table-of-rust-types/" rel="nofollow">https://cosmic.mearie.org/2014/01/periodic-table-of-rust-typ...</a><p>This compared to almost any other language should tell you that Rust trades compilation speed for strictness and execution speed. It's really helpful to understand what you need to care about if you don't have a garbage collector working for you.
> const MAX_POINTS: u32 = 100_000; // wtf is this ugly numeric shit<p>Java has had this since Java7 and Go has had it since at least 1.13, so I'm not sure why he hasn't seen it based on his other experiences.
Btw. there are parts in the standards library which are not suited for learning rust by understanding it.<p>Not only might your run into some but trivial edge case complexity which add the user of the standard library you don't have to know about at all but you will also run into a bunch of unstable nightly and as such often but that well documented thinks, some of which might never get stabilized.<p>So if you start learning rust this can lead to unnecessary confusion.<p>Btw. one of the reasons I like rust is that for a lot of the (more hidden) complexity you get away without knowing it and (important) if you don't get away with it you run into a compiler error. Which is in difference to C++ where a bunch of the (more hidden) complexity has quite a high potential to screw you up if you run into it without knowing about it.
> I see a very sharp knife; but this knife is completely and utterly shrouded and encased in tamper-proof, child-proof, thief-proof hardened and sealed plastic shells.<p>Yeah, because that knife is made of uranium.<p>Anyone not handling that uranium as they should, should be shunned, isolated and enclosed in a lead vault.