Skip to content

Rollup of 14 pull requests #46922

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 38 commits into from
Dec 22, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
4f04f97
Replace libtest/lib.rs:FnBox with std::boxed::FnBox.
frewsxcv Dec 10, 2017
2e2defd
Cleanup for libgraphviz
bjorn3 Dec 17, 2017
c76cdce
Prevent rustc overwriting input files
varkor Dec 18, 2017
a4210ef
Fix ICE when calling non-functions within closures
varkor Dec 17, 2017
dbffc42
Add trailing newline
varkor Dec 17, 2017
6bce6ac
libcore/num/mod.rs: simplify the int_impl! macro.
nodakai Dec 17, 2017
55b0f14
Fix the regression
varkor Dec 18, 2017
e65c741
Add `delay_span_bug` and increase idiomaticity
varkor Dec 18, 2017
5741dcd
Fix tidy error
varkor Dec 18, 2017
b59fbfd
Move source-output conflict checking into `compile_input`
varkor Dec 19, 2017
0258c6d
incr.comp.: Precompute small hash for filenames to save some work.
michaelwoerister Dec 19, 2017
3a29f28
Fix a `compile_input` test
varkor Dec 19, 2017
06fbd59
turn errors with external docs into actual errors
QuietMisdreavus Dec 19, 2017
8fc0d47
make the missing_docs lint check for doc(include)
QuietMisdreavus Dec 19, 2017
95b87d1
add files loaded through doc(include) into dep-info
QuietMisdreavus Dec 19, 2017
f873c55
test for missing_doc in the external_doc test
QuietMisdreavus Dec 19, 2017
cbbb73b
add compile-fail error for external_doc errors
QuietMisdreavus Dec 19, 2017
5c3dcfa
rustc: do not raise the alignment of optimized enums to the niche's a…
eddyb Dec 18, 2017
1470e77
Update compiler_builtins
malbarbo Dec 20, 2017
52c28ff
Clarify vec docs on deallocation (fixes #46879)
Manishearth Dec 20, 2017
f68e11b
A few small improvements to the contributing docs
arielb1 Dec 20, 2017
9d6bd05
docs: do not call integer overflows as underflows
tspiteri Dec 21, 2017
d4424d8
Escape more items in the sidebar when needed
GuillaumeGomez Dec 19, 2017
427e630
rustc: Sort CGUs before merging
alexcrichton Dec 21, 2017
71c6d23
Rollup merge of #46636 - frewsxcv:frewsxcv-fn-box, r=estebank
kennytm Dec 21, 2017
4467044
Rollup merge of #46780 - varkor:contrib-5, r=arielb1
kennytm Dec 21, 2017
9341321
Rollup merge of #46784 - bjorn3:patch-1, r=pnkfelix
kennytm Dec 21, 2017
d4981e9
Rollup merge of #46809 - eddyb:issue-46769-optimal, r=arielb1
kennytm Dec 21, 2017
0ee069c
Rollup merge of #46814 - varkor:contrib-7, r=alexcrichton
kennytm Dec 21, 2017
dc00aa4
Rollup merge of #46820 - nodakai:simplify-int-impl, r=alexcrichton
kennytm Dec 21, 2017
614e285
Rollup merge of #46839 - michaelwoerister:faster-span-hashing-2, r=ni…
kennytm Dec 21, 2017
256bf2b
Rollup merge of #46847 - GuillaumeGomez:more-sidebar-escape, r=QuietM…
kennytm Dec 21, 2017
696e951
Rollup merge of #46858 - QuietMisdreavus:external-doc-error, r=estebank
kennytm Dec 21, 2017
4802a85
Rollup merge of #46878 - malbarbo:fix-armv5te, r=alexcrichton
kennytm Dec 21, 2017
7767d84
Rollup merge of #46884 - Manishearth:vec-docs, r=steveklabnik
kennytm Dec 21, 2017
8acc406
Rollup merge of #46890 - arielb1:contributing-improvements, r=stevekl…
kennytm Dec 21, 2017
b60e6f8
Rollup merge of #46898 - tspiteri:int-overflow-not-underflow, r=steve…
kennytm Dec 21, 2017
0787ad9
Rollup merge of #46918 - alexcrichton:fix-ordering, r=michaelwoerister
kennytm Dec 21, 2017
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 28 additions & 4 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -112,14 +112,17 @@ There are large number of options provided in this config file that will alter t
configuration used in the build process. Some options to note:

#### `[llvm]`:
- `assertions = true` = This enables LLVM assertions, which makes LLVM misuse cause an assertion failure instead of weird misbehavior. This also slows down the compiler's runtime by ~20%.
- `ccache = true` - Use ccache when building llvm

#### `[build]`:
- `compiler-docs = true` - Build compiler documentation

#### `[rust]`:
- `debuginfo = true` - Build a compiler with debuginfo
- `optimize = false` - Disable optimizations to speed up compilation of stage1 rust
- `debuginfo = true` - Build a compiler with debuginfo. Makes building rustc slower, but then you can use a debugger to debug `rustc`.
- `debuginfo-lines = true` - An alternative to `debuginfo = true` that doesn't let you use a debugger, but doesn't make building rustc slower and still gives you line numbers in backtraces.
- `debug-assertions = true` - Makes the log output of `debug!` work.
- `optimize = false` - Disable optimizations to speed up compilation of stage1 rust, but makes the stage1 compiler x100 slower.

For more options, the `config.toml` file contains commented out defaults, with
descriptions of what each option will do.
Expand Down Expand Up @@ -273,6 +276,27 @@ build, you'll need to build rustdoc specially, since it's not normally built in
stage 1. `python x.py build --stage 1 src/libstd src/tools/rustdoc` will build
rustdoc and libstd, which will allow rustdoc to be run with that toolchain.)

### Out-of-tree builds
[out-of-tree-builds]: #out-of-tree-builds

Rust's `x.py` script fully supports out-of-tree builds - it looks for
the Rust source code from the directory `x.py` was found in, but it
reads the `config.toml` configuration file from the directory it's
run in, and places all build artifacts within a subdirectory named `build`.

This means that if you want to do an out-of-tree build, you can just do it:
```
$ cd my/build/dir
$ cp ~/my-config.toml config.toml # Or fill in config.toml otherwise
$ path/to/rust/x.py build
...
$ # This will use the Rust source code in `path/to/rust`, but build
$ # artifacts will now be in ./build
```

It's absolutely fine to have multiple build directories with different
`config.toml` configurations using the same code.

## Pull Requests
[pull-requests]: #pull-requests

Expand Down Expand Up @@ -446,14 +470,14 @@ failed to run: ~/rust/build/x86_64-unknown-linux-gnu/stage0/bin/cargo build --ma
If you haven't used the `[patch]`
section of `Cargo.toml` before, there is [some relevant documentation about it
in the cargo docs](http://doc.crates.io/manifest.html#the-patch-section). In
addition to that, you should read the
addition to that, you should read the
[Overriding dependencies](http://doc.crates.io/specifying-dependencies.html#overriding-dependencies)
section of the documentation as well.

Specifically, the following [section in Overriding dependencies](http://doc.crates.io/specifying-dependencies.html#testing-a-bugfix) reveals what the problem is:

> Next up we need to ensure that our lock file is updated to use this new version of uuid so our project uses the locally checked out copy instead of one from crates.io. The way [patch] works is that it'll load the dependency at ../path/to/uuid and then whenever crates.io is queried for versions of uuid it'll also return the local version.
>
>
> This means that the version number of the local checkout is significant and will affect whether the patch is used. Our manifest declared uuid = "1.0" which means we'll only resolve to >= 1.0.0, < 2.0.0, and Cargo's greedy resolution algorithm also means that we'll resolve to the maximum version within that range. Typically this doesn't matter as the version of the git repository will already be greater or match the maximum version published on crates.io, but it's important to keep this in mind!

This says that when we updated the submodule, the version number in our
Expand Down
6 changes: 4 additions & 2 deletions src/liballoc/vec.rs
Original file line number Diff line number Diff line change
Expand Up @@ -224,8 +224,10 @@ use Bound::{Excluded, Included, Unbounded};
/// types inside a `Vec`, it will not allocate space for them. *Note that in this case
/// the `Vec` may not report a [`capacity`] of 0*. `Vec` will allocate if and only
/// if [`mem::size_of::<T>`]`() * capacity() > 0`. In general, `Vec`'s allocation
/// details are subtle enough that it is strongly recommended that you only
/// free memory allocated by a `Vec` by creating a new `Vec` and dropping it.
/// details are very subtle &mdash; if you intend to allocate memory using a `Vec`
/// and use it for something else (either to pass to unsafe code, or to build your
/// own memory-backed collection), be sure to deallocate this memory by using
/// `from_raw_parts` to recover the `Vec` and then dropping it.
///
/// If a `Vec` *has* allocated memory, then the memory it points to is on the heap
/// (as defined by the allocator Rust is configured to use by default), and its
Expand Down
2 changes: 1 addition & 1 deletion src/libcompiler_builtins
2 changes: 1 addition & 1 deletion src/libcore/num/bignum.rs
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ macro_rules! define_bignum {
/// copying it recklessly may result in the performance hit.
/// Thus this is intentionally not `Copy`.
///
/// All operations available to bignums panic in the case of over/underflows.
/// All operations available to bignums panic in the case of overflows.
/// The caller is responsible to use large enough bignum types.
pub struct $name {
/// One plus the offset to the maximum "digit" in use.
Expand Down
Loading