Commit Graph

52950 Commits

Author SHA1 Message Date
Niko Matsakis
514b37e3d6 refactor interface of make_compile_args 2016-05-06 15:27:29 -04:00
Tshepang Lekhonkhobe
9f935c8dd8 doc: binding not needed 2016-05-06 21:04:40 +02:00
Tshepang Lekhonkhobe
8e9008dc30 doc: mut not needed 2016-05-06 21:04:40 +02:00
bors
0cb9bc5175 Auto merge of #33472 - alexcrichton:fix-nightlies-again, r=brson
mk: Try to fix nightlies again

Looks like the real bug on nightlies is that the `llvm-pass` run-make test is
not actually getting the value of `LLVM_CXXFLAGS` correct. Namely, it's blank!
Now the only change #33093 which actually affected this is that the argument
`$(LLVM_CXXFLAGS_$(2))` was moved up from a makefile rule into the definition of
a variable. Sounds innocuous?

Turns out the variable this was moved into is defined with `:=`, which means
that it's not recursively expanded, which basically means that it's expanded
immediately. Unfortunately part of this expansion involves running
`llvm-config`, which doesn't exist at the start of distcheck build!

This didn't show up on the bots because they run `make` *then* `make check`, and
the first step builds llvm-config so the next time `make` is loaded everything
is available. The distcheck bots, however, run just a plain `distcheck` so
`make` doesn't exist ahead of time. You can see this in action where the
distcheck bots start out with a bunch of "llvm-config not found" error messages.

This commit just changes a few variables to be defined with `=` which
essentially means they're lazily expanded. I did not run a full distcheck
locally, but this makes the initial "llvm-config not found" error messages go
away so I suspect that this is the fix.

Closes #33379 (hopefully)
2016-05-06 11:57:16 -07:00
Alex Crichton
eeb2f6dde4 mk: Try to fix nightlies again
Looks like the real bug on nightlies is that the `llvm-pass` run-make test is
not actually getting the value of `LLVM_CXXFLAGS` correct. Namely, it's blank!
Now the only change #33093 which actually affected this is that the argument
`$(LLVM_CXXFLAGS_$(2))` was moved up from a makefile rule into the definition of
a variable. Sounds innocuous?

Turns out the variable this was moved into is defined with `:=`, which means
that it's not recursively expanded, which basically means that it's expanded
immediately. Unfortunately part of this expansion involves running
`llvm-config`, which doesn't exist at the start of distcheck build!

This didn't show up on the bots because they run `make` *then* `make check`, and
the first step builds llvm-config so the next time `make` is loaded everything
is available. The distcheck bots, however, run just a plain `distcheck` so
`make` doesn't exist ahead of time. You can see this in action where the
distcheck bots start out with a bunch of "llvm-config not found" error messages.

This commit just changes a few variables to be defined with `=` which
essentially means they're lazily expanded. I did not run a full distcheck
locally, but this makes the initial "llvm-config not found" error messages go
away so I suspect that this is the fix.

Closes #33379
2016-05-06 11:21:42 -07:00
Taylor Cramer
f25cbe62e8 Add detailed error explanation for E0389
Cleanup of E0389

Added type-d out version of type in E0389 description
2016-05-06 10:47:57 -07:00
bors
102bab3d68 Auto merge of #33225 - michaelwoerister:fix-debuginfo-struct-ns, r=eddyb
debuginfo: Fix regression in namespace handling for struct types.

Fixes a small regression that has been introduced in recent refactorings.

Fixes #33193

r? @eddyb
2016-05-06 08:31:58 -07:00
bors
5158f3b282 Auto merge of #33138 - arielb1:sized-shortcut, r=nikomatsakis
Short-cut `T: Sized` trait selection for ADTs

Basically avoids all nested obligations when checking whether an ADT is sized - this speeds up typeck by ~15%

The refactoring fixed #32963, but I also want to make `Copy` not object-safe (will commit that soon).

Fixes #33201

r? @nikomatsakis
2016-05-06 06:21:25 -07:00
Corey Farwell
40025e8cd3 Indicate struct names are code-like in doc-comment. 2016-05-06 09:12:10 -04:00
bors
a36c41912b Auto merge of #33086 - cardoe:non-blocking-rand-read, r=alexcrichton
rand: don't block before random pool is initialized

If we attempt a read with getrandom() on Linux the syscall can block
before the random pool is initialized unless the GRND_NONBLOCK flag is
passed. This flag causes getrandom() to instead return EAGAIN while the
pool is uninitialized. To avoid downstream users of crate or std
functionality that have no ability to avoid this blocking behavior this
change causes Rust to read bytes from /dev/urandom while getrandom()
would block and once getrandom() is available to use that. Fixes #32953.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
2016-05-06 03:07:00 -07:00
Christopher Serr
32edf1d7a8 Fix Typo in Barrier::wait documentation
This should be `have` instead of `has`.
2016-05-06 11:18:05 +02:00
bors
6301e22e15 Auto merge of #33072 - tbu-:pr_duration_new_overflow, r=alexcrichton
Panic on overflow in `Duration::new` constructor

Panicking on overflow is also done for `+`, and it replaces the
currently incorrect overflow behavior of wrapping around, which does not
make sense for `Duration`s.
2016-05-06 00:58:59 -07:00
Georg Brandl
89aa042994 rustdoc: add "src" links to individual impls
Since these impls can be scattered around quite a bit, it is nice
to be able to jump to the location where individual methods and
trait impls are defined.

Fixes: #30416
2016-05-06 08:19:31 +02:00
bors
68d399d7e3 Auto merge of #32835 - brson:alldebug, r=michaelwoerister
Distribute both rust-lldb and rust-gdb everywhere

Both debuggers are viable in some capacity on all tier-1 platforms,
and people often ask for rust-lldb on Linux or rust-gdb on OS X.

r? @michaelwoerister

I'm still testing locally, but this *looks* like the right thing to change.
2016-05-05 21:55:02 -07:00
Brian Anderson
5ad99e2296 Distribute both rust-lldb and rust-gdb everywhere except win-msvc
Both debuggers are viable in some capacity on all tier-1 platforms,
and people often ask for rust-lldb on Linux or rust-gdb on OS X.
2016-05-06 03:09:48 +00:00
bors
b071c1feea Auto merge of #32565 - tbu-:pr_cell_as_mut, r=alexcrichton
Add `as_mut` methods to the `std::cell` structs

This is safe since the borrow checking ensures that we have the only
mutable reference to the struct, thus we can safely borrow its interior.
2016-05-05 17:55:28 -07:00
Tobias Bucher
9370d3a051 Add get_mut methods to the RefCell and Cell
This is safe since the borrow checker ensures that we have the only
mutable reference to the struct, thus we can safely borrow its interior.

Tracking issue is #33444.
2016-05-06 00:40:51 +02:00
bors
77987ba898 Auto merge of #32990 - tbu-:pr_more_defaults_cstr_path, r=alexcrichton
Add `Default` implementation for `&CStr`, `CString`, `Path`
2016-05-05 13:18:57 -07:00
Georg Brandl
10599e4641 doc: make RFC references consistent 2016-05-05 21:15:15 +02:00
Georg Brandl
26eb2bef25 Fix some some duplicate words. 2016-05-05 21:12:37 +02:00
Brian Anderson
2912bfb2b9 doc: Update reference with better description of target_env
The definition of this value recently changed slightly. It no
longer corresponds directly to the target triple.

Also shuffled things around to make the order of cfg descriptions more
logical and added text related them to the target triple.

cc #33403
2016-05-05 18:23:52 +00:00
Alex Crichton
39eec8071c mk: Fix building with --enable-ccache
We will no longer use `ccache` in the makefiles for our local dependencies like
miniz, but they're so small anyway it doesn't really matter.

Closes #33285
2016-05-05 09:12:24 -07:00
bors
413bafdabf Auto merge of #33128 - xen0n:more-confusing-unicode-chars, r=nagisa
Add more aliases for Unicode confusable chars

Building upon #29837, this PR:

* added aliases for space characters,
* distinguished square brackets from parens, and
* added common CJK punctuation characters as aliases.

This will especially help CJK users who may have forgotten to switch off IME when coding.
2016-05-05 08:50:23 -07:00
Philipp Oppermann
a22ca2872e [Doc] Default cpu is "generic" (and not "default") 2016-05-05 14:23:43 +02:00
Tobias Bucher
5efe083ddc Add Default implementation for &CStr and CString 2016-05-05 10:57:06 +02:00
bors
3f65afa694 Auto merge of #33067 - notriddle:wrapping_neg, r=alexcrichton
Implement negation for wrapping numerals.

Fixes #33037
2016-05-05 00:37:56 -07:00
Philipp Matthias Schaefer
d1c487e6c7 Add an example to Wrapping's documentation. 2016-05-05 08:23:24 +02:00
Taylor Cramer
8facc97711 Add detailed error explanation for E0506
Broke up long lines in E0506

Trimmed E0506 comment to be under max line width

Added function example to E0506

Changed example of erroneous code wording on E0506
2016-05-04 18:40:09 -07:00
bors
8655587c1e Auto merge of #33381 - alexcrichton:fix-nightlies, r=nikomatsakis
mk: Pass CFLAGS for target, not host

This changes the CFLAGS and related variables passed to compiletest to be passed
for the target, not the host, so we can correctly test 32-bit cross compiles on
64-bit host machines.

Hopefuly fixes #33379
2016-05-04 17:38:39 -07:00
Ariel Ben-Yehuda
238e4ee104 fixes 2016-05-05 01:59:22 +03:00
Kaiyin Zhong
16219deb5c Update iterator.rs 2016-05-04 23:29:28 +02:00
bors
7a0ccc458f Auto merge of #33376 - Manishearth:rollup, r=Manishearth
Rollup of 14 pull requests

- Successful merges: #33277, #33294, #33314, #33322, #33333, #33338, #33339, #33340, #33343, #33357, #33363, #33365, #33371, #33372
- Failed merges:
2016-05-04 14:26:28 -07:00
Kaiyin Zhong
2ca31205f3 errors in the doc 2016-05-04 21:50:51 +02:00
Alex Crichton
29875c2e5e rustc: Change target_env for ARM targets to gnu
Right now they're `gnueabihf` and `gnueabi`, but when adding new platforms like
musl on ARM it's unfortunate to have to test for all three (`musl`, `musleabi`,
and `musleabihf`). This PR switches everything currently to `gnu`, and the new
musl targets can also use `musl` when they land.

Closes #33244
2016-05-04 10:14:36 -07:00
Jake Goulding
a11ddb3727 Replace copy-pasted variable name with relevant one 2016-05-04 13:05:21 -04:00
Nick Cameron
25160af4b4 rustdoc: refactor rustdoc syntax highlighting for a more flexible API
Clients can now use the rustdoc syntax highlighter to classify tokens, then use that info to put together there own HTML (or whatever), rather than just having static HTML output.
2016-05-04 10:29:58 +12:00
Alex Crichton
74d1520c22 mk: Pass CFLAGS for target, not host
This changes the CFLAGS and related variables passed to compiletest to be passed
for the target, not the host, so we can correctly test 32-bit cross compiles on
64-bit host machines.

Hopefuly fixes #33379
2016-05-03 13:49:35 -07:00
Michael Woerister
bb0e5254ae Make runtest::check_debugger_output() handle wildcards at end. 2016-05-03 15:00:24 -04:00
Georg Brandl
72560e1403 parser: show a helpful note on unexpected inner comment
Fixes: #30318.
2016-05-03 17:53:23 +02:00
Ariel Ben-Yehuda
6c883840e6 stop dropping impls from cause backtraces 2016-05-03 18:52:55 +03:00
Ariel Ben-Yehuda
62db786fc8 stop using commit_if_ok where no errors can happen 2016-05-03 18:52:55 +03:00
Ariel Ben-Yehuda
6057a7f188 change the newly-added errors to warnings
this commit should be reverted after a release cycle
2016-05-03 18:52:55 +03:00
Ariel Ben-Yehuda
5876b4b12a improve error message for WF Tuples 2016-05-03 18:30:10 +03:00
Ariel Ben-Yehuda
05f1a057b6 address review comments 2016-05-03 18:30:10 +03:00
Ariel Ben-Yehuda
6fc19ada6b fix breaking changes 2016-05-03 18:30:10 +03:00
Ariel Ben-Yehuda
2f8f256cef require the existential bounds of an object type to be object-safe
This is required, as Copy and Sized are object-unsafe.

As a soundness fix, this is a [breaking-change]

Fixes #32963
2016-05-03 18:30:10 +03:00
Ariel Ben-Yehuda
0a6dfc5177 require the non-last elements of a tuple to be Sized
This requirement appears to be missing from RFC1214, but is clearly
necessary for translation. The last field of a tuple/enum remains in
a state of limbo, compiling but causing an ICE when it is used - we
should eventually fix that somehow.

this is a [breaking-change] - a soundness fix - and requires a
crater run.
2016-05-03 18:30:10 +03:00
Ariel Ben-Yehuda
babb5df529 refactor the handling of builtin candidates 2016-05-03 18:30:10 +03:00
Ariel Ben-Yehuda
4bcabbd45a add comments and tests 2016-05-03 18:30:10 +03:00
Ariel Ben-Yehuda
73f39a026a Short-cut Sized matching on ADTs
Put a constraint type on every ADT def, such that the ADT def is sized iff the constraint
type is, and use that in selection. This ignores types that are obviously sized.

This improves typeck performance by ~15%.
2016-05-03 18:30:10 +03:00