| Age | Commit message (Collapse) | Author | Lines |
|
Fixes #24008.
|
|
Fixes #24173
|
|
Without the `box` keyword, one of these two reasons is not correct, so
let's just eliminate this section and elaborate on the reason for the
legit use case inline.
Fixes #24511
|
|
|
|
|
|
Fixes #24656
|
|
In 8f5b5f94dcdb9884737dfbc8efd893d1d70f0b14, `default::Default` was
added to the prelude, so these imports are no longer necessary.
|
|
Only backporting the style portion, as changing the test suite is needless churn, and the book/reference are getting their own imports at the end.
|
|
Fix fallout from wrapping_neg revert
|
|
|
|
|
|
|
|
multiple kinds of parameters (regions and types, specifically)
Conflicts:
src/librustc_typeck/collect.rs
|
|
which get mentioned in an associated type are constrained. Arguably we
should just require that all regions are constrained, but that is more
of a breaking change.
Conflicts:
src/librustc_typeck/collect.rs
|
|
|
|
This allows `io::Error` values to be stored in `Arc` properly.
Because this requires `Sync` of any value passed to `io::Error::new()`
and modifies the relevant `convert::From` impls, this is a
[breaking-change]
Fixes #24049.
|
|
Conflicts:
src/test/run-pass/task-stderr.rs
|
|
Conflicts:
src/librustc_data_structures/lib.rs
|
|
This API was exercised in a few tests and mirrors the `from_str_radix`
functionality of the integer types.
Conflicts:
src/doc/trpl/traits.md
src/libstd/sys/windows/fs2.rs
|
|
|
|
This commit removes all the old casting/generic traits from `std::num` that are
no longer in use by the standard library. This additionally removes the old
`strconv` module which has not seen much use in quite a long time. All generic
functionality has been supplanted with traits in the `num` crate and the
`strconv` module is supplanted with the [rust-strconv crate][rust-strconv].
[rust-strconv]: https://github.com/lifthrasiir/rust-strconv
This is a breaking change due to the removal of these deprecated crates, and the
alternative crates are listed above.
[breaking-change]
Conflicts:
src/libstd/num/strconv.rs
|
|
|
|
Cleaning out more deprecated items
Conflicts:
src/libcore/result.rs
|
|
Words struct was stabilied by mistake. Unstabilize.
|
|
This is an implementation of [RFC 1030][rfc] which adds these traits to the
prelude and additionally removes all inherent `into_iter` methods on collections
in favor of the trait implementation (which is now accessible by default).
[rfc]: https://github.com/rust-lang/rfcs/pull/1030
This is technically a breaking change due to the prelude additions and removal
of inherent methods, but it is expected that essentially no code breaks in
practice.
[breaking-change]
Closes #24538
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Close #23729
Close #23827
Close #24356
|
|
This avoids various ICEs, e.g. premature calls to cat_expr that yield
the dreaded "cat_expr Errd" ICE.
|
|
|
|
|
|
Note: this Warns rather than error on shadowing problems involving labels.
We took this more conservative option mostly due to issues with
hygiene being broken for labels and/or lifetimes.
Add FIXME regarding non-hygienic comparison.
|
|
I doubt this PR is ready to merge as-is, for a couple reasons:
* There are no tests for this change. I'm not sure how to add tests for this change, as it modifies the C ABI for a cross-compilation target. Anecdotally, I have an iOS library I've been working on, and before this change, it crashes running on an arm64 device due to bad calling conventions (a simplified example is in #24154), and after this change, it runs correctly.
* This is my first foray into LLVM. I did my best to reimplement what Clang does for AArch64 codegen (https://github.com/llvm-mirror/clang/blob/master/lib/CodeGen/TargetInfo.cpp), particularly in `ABIInfo::isHomogeneousAggregate`, `AArch64ABIInfo::isHomogeneousAggregateBaseType`, and `AArch64ABIInfo::isHomogeneousAggregateSmallEnough`, but I'm not confident I got a complete translation, particularly because Clang includes a lot of checks that I don't believe are necessary for rustc.
Fixes #24154.
|
|
One of the parameters to the magical "register a thread-local destructor"
function is called `__dso_handle` and largely just passed along (this seems to
be what other implementations do). Currently we pass the *value* of this symbol,
but apparently the correct piece of information to pass is the *address* of the
symbol.
In a PIE binary the symbol actually contains an address to itself which is why
we've gotten away with what we're doing as long as we have. In a non-PIE binary
the symbol contains the address `NULL`, causing a segfault in the runtime
library if it keeps going.
Closes #24445
|
|
closes #24434
This PR changes executes `syntax::config::strip_unconfigured_items` before `syntax::feature_gate::check_crate_macros(sess.codemap()`. As far as I know, `strip_unconfigured_items` should be independent of `check_crate_macros`.
|
|
This is a little bit tricky, since with include_str!, we know that we
are including utf-8 content, so it's safe to store the source as a
String in a FileMap. We don't know that for include_bytes!, but I don't
think we actually need to track the contents anyways, so I'm passing "".
new_filemap does check for the zero length content, and it should be
reasonable, howeven I'm not sure if it would be better to pass None
instead of Some(Rc::new("")) as the src component of a FileMap.
Fixes bug #24348
|
|
cf. open(2): If the open file refers to a terminal device it will not become the process's controlling terminal even if the process does not have one.
|
|
r? @alexcrichton
|
|
It was an oversight that this was not done in the great int upheaval.
[breaking-change]
|
|
It was an oversight that this was not done in the great int upheaval.
[breaking-change]
|
|
- Successful merges: #24425, #24435, #24438, #24440, #24449, #24457, #24460, #24465, #24467, #24468, #24471, #24476, #24480
- Failed merges:
|
|
- Also move common functions to test.rs
- Leaves out Socket address related tests in addr.rs
|
|
"as an library" -> "as a library"
|
|
Use external instead of relative link for rustbyexample.com in generated `src/doc/index.md`. (http://doc.rust-lang.org/nightly/index.html)
Previous: http://doc.rust-lang.org/nightly/rustbyexample.com
Desired: http://rustbyexample.com/
|
|
Link spanned a line and was missing the actual link target.
|
|
Had a newline in middle of a link, causing the link text to be shown with `[]`.
|