Commit Graph

77709 Commits

Author SHA1 Message Date
Clar Charr
23b6e465b9 Add more logarithm constants 2018-05-08 13:40:17 -04:00
bors
b183bd0ad4 Auto merge of #50490 - nrc:method-docs, r=eddyb
save-analysis: emit correct docs for methods

cc https://github.com/rust-lang-nursery/rls/issues/446

r? @eddyb
2018-05-08 12:25:01 +00:00
bors
697a989ec0 Auto merge of #50503 - alexheretic:master, r=oli-obk
Update rls with compiling clippy

Updates rls to use a working clippy version. This pr can be closed if the latest clippy release is broken again.
2018-05-08 10:15:48 +00:00
bors
295d98069f Auto merge of #50390 - hdhoang:46205_deny_by_default, r=nikomatsakis
lint: deny incoherent_fundamental_impls by default

Warn the ecosystem of the pending intent-to-disallow in #49799.

There are 4 ICEs on my machine, look unrelated (having happened before in https://github.com/rust-lang/rust/issues/49146#issuecomment-384473523)

```rust
thread 'main' panicked at 'assertion failed: position <= slice.len()', libserialize/leb128.rs:97:1
```

```
    [run-pass] run-pass/allocator/xcrate-use2.rs
    [run-pass] run-pass/issue-12133-3.rs
    [run-pass] run-pass/issue-32518.rs
    [run-pass] run-pass/trait-default-method-xc-2.rs
```

r? @nikomatsakis
2018-05-08 04:56:01 +00:00
bors
0da1a69003 Auto merge of #50260 - Manishearth:no-extern-crate, r=nikomatsakis
idiom lints for removing `extern crate`

Based off of https://github.com/rust-lang/rust/pull/49789

This contains two lints:

 - One that suggests replacing pub extern crates with pub use, and removing non-pub extern crates entirely
 - One that suggests rewriting `use modulename::...::cratename::foo` as `cratename::foo`

The latter is a bit tricky to emit suggestions for; for one this involves splicing spans (never a good idea), and it also won't be able to correctly
handle `use module::{cratename, foo}` and use-trees. I'm not sure how to proceed here. Currently it doesn't suggest anything at all.

Perhaps we can go the other way and suggest removal of all extern crates _except_ those used through modules (stash node ids somewhere) and suggest replacing those with `<visibility> use`?

r? @nikomatsakis

fixes https://github.com/rust-lang/rust/issues/48719
2018-05-08 01:37:52 +00:00
bors
715d6a98aa Auto merge of #50305 - GuillaumeGomez:fix-mod-stackoverflow, r=QuietMisdreavus
Prevent infinite recursion of modules

Fixes #50196.

r? @QuietMisdreavus
2018-05-07 23:18:12 +00:00
Alex Butler
640e937ec3
Update clippy 0.0.197 2018-05-07 16:03:42 +01:00
bors
565235ee7e Auto merge of #50454 - Manishearth:edition-preview-fixes, r=alexcrichton
Various edition preview fixes

Implement a bunch of things discussed in the meeting.
2018-05-07 14:54:17 +00:00
Alex Butler
e4a0514bbe
Update rls 1263f1f
Fix rls-clippy feature compile
2018-05-07 15:25:37 +01:00
bors
62889702c9 Auto merge of #50487 - nikic:heap-manually-drop, r=Gankro
Use ManuallyDrop instead of Option in BinaryHeap Hole implementation

The Option is always Some until drop, where it becomes None. Make this more explicit and avoid unwraps by using ManuallyDrop.

This change should be performance-neutral as LLVM already optimizes the unwraps away in the inlined code. However I've seen this pattern copied from here to other crates where it is not optimized away, so I think it would be good to change it.
2018-05-07 12:30:55 +00:00
Guillaume Gomez
3ba7c00f94 Prevent infinite recursion of modules 2018-05-07 12:44:03 +02:00
bors
c88992d001 Auto merge of #50000 - michaelwoerister:cross-lang-lto, r=alexcrichton
Add some groundwork for cross-language LTO.

Implements part of #49879:
- Adds a `-Z cross-lang-lto` flag to rustc
- Makes sure that bitcode is embedded in object files if the flag is set.

This should already allow for using cross language LTO for staticlibs (where one has to invoke the linker manually anyway). However, `rustc` will not try to enable LTO for its own linker invocations yet.

r? @alexcrichton
2018-05-07 08:41:07 +00:00
Michael Woerister
0bf26bf951 Fix Mac OS section name for LLVM bitcode. 2018-05-07 09:52:38 +02:00
bors
9b97705f9e Auto merge of #50437 - zackmdavis:must_note, r=estebank
in which the must-use additional messaging is tucked into a note

_I_ think it looks better this way! What do _you_ think??

![must_use_note](https://user-images.githubusercontent.com/1076988/39612597-b6dd2dae-4f15-11e8-87ec-ab9da21ef062.png)

r? @estebank
2018-05-07 06:27:01 +00:00
Zack M. Davis
5a5a25c701 in which the must-use additional messaging is tucked into a note
Also, a comment is edited to reflect that spaces around the equals-sign in
attributes is the standard (q.v. rust-lang-nursery/fmt-rfcs@bea80532e7).
2018-05-06 21:51:23 -07:00
bors
760274f7b3 Auto merge of #50434 - nrc:tool-bustage-infra, r=alexcrichton
Ping infra team on all tool bustage

r? @kennytm

cc @rust-lang/core as discussed at today's meeting
2018-05-07 03:47:41 +00:00
Nick Cameron
d4c53ac827 save-analysis: emit correct docs for methods
cc https://github.com/rust-lang-nursery/rls/issues/446
2018-05-07 11:43:34 +12:00
bors
700165d7ae Auto merge of #50468 - nrc:test-rustfmt, r=alexcrichton
Pass a test directory to rustfmt

Another attempt to fix the rustfmt tests. `RUSTFMT_TEST_DIR` is consumed by Rustfmt in the latext commit (thus the Rustfmt update) because we need a place to create temp files that won't be read-only.

r? @alexcrichton
2018-05-06 22:29:01 +00:00
bors
428ea5f6b9 Auto merge of #50309 - samWson:issue-49938, r=eddyb
Issue 49938: Reference tagged unions discr(iminant) as tag

Here the changes reference the Tagged type _discriminant_ as _tag_ instead. This is the correct terminology when referencing how tagged unions are represented in memory.
2018-05-06 17:47:30 +00:00
bors
fb9e058890 Auto merge of #50474 - sinkuu:fix_assert_ice, r=alexcrichton
Fix ICE in assertion macro

Fixes #50471. Needs beta-backport (stable-to-beta/nightly regression).

* `panic` with single argument does not need escaping `{` and `}`
* Instead of unescaping `\u{...}` manually, just use `escape_debug` in pprust
2018-05-06 15:17:13 +00:00
Nikita Popov
9f8f366eea Use ManuallyDrop instead of Option in Hole implementation
The Option is always Some until drop, where it becomes None. Make
this more explicit and avoid unwraps by using ManuallyDrop.

This change should be performance-neutral as LLVM already optimizes
the unwraps away in the inlined code.
2018-05-06 16:55:40 +02:00
bors
2416032bb7 Auto merge of #50420 - chrisvittal:mailmap-chrisvittal, r=oli-obk
Add mailmap entry for Chris Vittal

I use both Chris and Christopher in git configs and other places.
2018-05-06 12:44:15 +00:00
bors
6f721f54c6 Auto merge of #50466 - kennytm:rustbuild-stage0-lib-test, r=Mark-Simulacrum
rustbuild: Allow quick testing of libstd and libcore at stage0

This PR implemented two features:

1. Added a `--no-doc` flag to allow testing a crate *without* doc tests. In this mode, we don't need to build rustdoc, and thus we can skip building the stage2 compiler. (Ideally stage0 test should use the bootstrap rustdoc, but I don't want to mess up the core builder logic here)

2. Moved all libcore tests externally and added a tidy test to ensure we don't accidentally add `#[test]` into libcore.

After this PR, one could run `./x.py test --stage 0 --no-doc src/libstd` to test `libstd` without building the compiler, thus enables us to quickly test new library features.
2018-05-06 06:33:53 +00:00
bors
ce0cb144fb Auto merge of #50453 - alexcrichton:proc-macro-not-send, r=eddyb
proc_macro: Explicitly make everything !Send/Sync

This commit adds explicit imp blocks to ensure that all publicly exported types
(except simple enums) are not `Send` nor `Sync` in the `proc_macro` crate.

cc #38356
2018-05-06 04:15:02 +00:00
Shotaro Yamada
39df2231bb Fix assertion message generation 2018-05-06 12:13:32 +09:00
Samuel Wilson
38a6eca29d issue-49938: Reference tagged unions discr(iminant) as tag
Refer https://github.com/rust-lang/rust/issues/49938

Previously tagged unions' tag was refered to as a discr(iminant).
Here the changes use tag instead which is the correct terminology
when refering to the memory representation of tagged unions.
2018-05-06 14:52:38 +12:00
bors
2c315475ea Auto merge of #50470 - frewsxcv:frewsxcv-update-books, r=Mark-Simulacrum
Update books for the next release.

Continuation from https://github.com/rust-lang/rust/pull/50427
2018-05-05 23:46:16 +00:00
Corey Farwell
7364d26921 Update books for the next release. 2018-05-05 19:02:13 -04:00
bors
f9bfe840f4 Auto merge of #50444 - michaelwoerister:check-parallel-queries-in-ci, r=alexcrichton
Add a CI job that makes sure rustc builds with parallel queries enabled.

This shouldn't take up too much CI time `:)`

cc https://github.com/rust-lang/rust/issues/48607
cc @Zoxc

r? @alexcrichton
2018-05-05 21:09:56 +00:00
Nick Cameron
df97dd1d05 Pass a test directory to rustfmt 2018-05-06 08:39:37 +12:00
kennytm
05af55bd80
s/DocTestsOption/DocTests/g 2018-05-06 03:30:42 +08:00
kennytm
169f58b712
Added some simple documentation. 2018-05-06 03:29:19 +08:00
bors
24c5f153fd Auto merge of #50276 - Zoxc:build-cleanup, r=alexcrichton
Misc tweaks

This:
- ~~Add explicit dependencies on `getops`~~
- Fixes the libtest-json test when `RUST_BACKTRACE=1` is set
- ~~Sets `opt-level` to `3`~~
- Removes the use of `staged_api` from `rustc_plugin`
- ~~Enables the Windows Error Reporting dialog when running rustc during bootstrapping~~
- Disables Windows Error Reporting dialog when running compiletest tests
- Enables backtraces when running rustc during bootstrapping
- ~~Removes the `librustc` dependency on `libtest`~~
- Triggers JIT debugging on Windows if rustc panics during bootstrapping

r? @alexcrichton
2018-05-05 18:58:17 +00:00
John Kåre Alsaker
e24cbe2da0 Misc tweaks 2018-05-05 20:36:46 +02:00
kennytm
02f6a0335f
Some final touches to ensure ./x.py test --stage 0 src/lib* works 2018-05-06 02:34:07 +08:00
kennytm
f24915b67f
Added a tidy test to ensure libcore cannot contain any tests. 2018-05-06 02:34:07 +08:00
kennytm
13e07a4e18
Move the tests in src/libcore/slice/memchr.rs as well. 2018-05-06 02:34:07 +08:00
Lukas Kalbertodt
10ab98da8c
Fix warning in core::time tests 2018-05-06 02:34:07 +08:00
Lukas Kalbertodt
3ddd67ba53
Move libcore/time tests from time.rs to tests/time.rs
All other tests of libcore reside in the tests/ directory,
too. Apparently the tests of `time.rs` weren't run before, at
least not by `x.py test src/libcore`.
2018-05-06 02:34:07 +08:00
kennytm
be9d6690b2
Added test case. 2018-05-06 02:34:07 +08:00
kennytm
1733f5e1c0
Added ./x.py test --no-doc option.
This enables `./x.py test --stage 0 src/libstd --no-doc` and ensures the
stage2-rustc and rustdoc need to be built.
2018-05-06 01:27:22 +08:00
bors
fa30ae5c7e Auto merge of #50441 - kornelski:debughint, r=kornelski
Suggest more helpful formatting string

Based on [user feedback](https://users.rust-lang.org/t/ux-feedback-from-a-rust-newbie/17220) the minimal suggestion of `:?` is unclear.

Also `{:#?}` is much more readable than the standard debug, so this PR suggests it to help surface this nice feature.
2018-05-05 14:29:42 +00:00
bors
2d847dc90f Auto merge of #50370 - nikomatsakis:nll-alias-analysis-flat, r=pnkfelix
introduce `-Znll-facts` to dump base-facts for the NLL analysis

r? @pnkfelix
2018-05-05 11:05:23 +00:00
Kornel
1e38eee63b Suggest more helpful formatting string 2018-05-05 11:50:02 +01:00
Niko Matsakis
b36cbcb0c4 add a comment about Locations::All 2018-05-05 06:03:25 -04:00
Niko Matsakis
9788479784 remove #[allow(dead_code)] 2018-05-05 06:03:25 -04:00
Niko Matsakis
eaac10ec0d add -Znll-facts switch that dumps facts for new analysis 2018-05-05 06:03:25 -04:00
Niko Matsakis
74bb9171cc add location table
This will be used in fact generation.
2018-05-05 05:03:56 -04:00
Niko Matsakis
53eb9e582f add Locations::All as a concept
In particular, type annotations given by the user must hold at all
points in the program. This doesn't affect current analysis but
will affect fact generation later.
2018-05-05 05:03:56 -04:00
Niko Matsakis
81905a15c1 use crate visibility modifier 2018-05-05 05:03:56 -04:00