The command-line error message for E0432 does mention the possibility of
missing the `extern crate` declaration, but the detailed error message
for it doesn't.
Fixes#29517.
Fix usage of wrong article in `Result` docs.
This is my first rust PR, if something about the process is wrong let me know.
As this is a documentation change, I believe the correct highfive line to use is the following:
r? @steveklabnik
This mostly brings them in line with existing linking convention, but
also has some minor re-wording.
The text at the top has been re-focused, by starting out with what the
prelude does, rather than starting from injecting std.
Also, it now mentions that other preludes exist.
Part of https://github.com/rust-lang/rust/issues/29369
In previous PRs, I changed the match desugaring to generate more efficient code for ints/chars and the like. But this doesn't help when you're matching strings, ranges, or other crazy complex things (leading to #29740). This commit restructures match desugaring *yet again* to handle that case better -- basically we now degenerate to an if-else-if chain in such cases.
~~Note that this builds on https://github.com/rust-lang/rust/pull/29763 which will hopefully land soon. So ignore the first few commits.~~ landed now
r? @Aatch since he's been reviewing the other commits in this series
This mostly brings them in line with existing linking convention, but
also has some minor re-wording.
The text at the top has been re-focused, by starting out with what the
prelude does, rather than starting from injecting std.
Also, it now mentions that other preludes exist.
Part of https://github.com/rust-lang/rust/issues/29369
large matches that fallback to Eq. When we encounter a case where the
test being performed does not inform the candidate at all, we just stop
testing the candidates at that point, rather than adding the candidate
to both outcomes. The former behavior was not WRONG, but it generated a
lot of code, whereas this new behavior degenerates to an if-else-if
tree.
Fixes#29740.
It's a bit strange to expect users of `libstd` to require the use of an external crates.io crate to work with standard types. This commit encourages the use `os::raw::c_char` instead, although users are certainly free to use `libc::c_char` if they wish; the test still exists to ensure the two types are identical (though the reported bug only exists on platforms that are not officially tested).
Fixes#29774
under openbsd, the library path of libstdc++ need to be explicit (due
to the fact the default linker `cc` is gcc-4.2, and not gcc-4.9).
but when a recent LLVM is installed, rustc compilation pikes the bad
LLVM version (which live in /usr/local/lib, which is same directory of
libestdc++.so for gcc-4.9).
this patch move the libstdc++ path from RUST_FLAGS_<target> to special
variable, and use it *after* LLVM_LIBDIR_RUSTFLAGS_<target> in
arguments.