Commit Graph

98518 Commits

Author SHA1 Message Date
Albin Stjerna
6b09477e91 Polonius: emit initialization/move tracking facts
- var_starts_path
- parent
- initialized_at
- moved_out_at

This also switches to the intended emission of `var_drop_used` fact emission,
where that fact is always emitted on a drop-use of a variable, regardless of its
initialization status, as Polonius now handles that.
2019-09-04 09:46:44 +02:00
Albin Stjerna
996ba932cc NLL: Adapt to the new Polonius types 2019-09-04 09:44:40 +02:00
Albin Stjerna
2adb246b5c NLL: New Polonius version 2019-09-04 09:44:40 +02:00
Nicholas Nethercote
cc17b1bc3c Add Symbol::{with,with2}.
And remove the `unsafe` blocks, they're not necessary.

Also rewrite `InternedString::{with,with2}` to use the new functions.

Finally, add some comments about the speed of the
`as_str()`/`as_interned_str()` functions.
2019-09-04 15:21:33 +10:00
Nicholas Nethercote
7a1bc79cbd Remove LocalInternedString::intern. 2019-09-04 14:41:09 +10:00
Nicholas Nethercote
a1cd79ff4e Remove Encodable/Decodable impls for LocalInternedString. 2019-09-04 14:41:09 +10:00
Nicholas Nethercote
6025fc843a Remove hashing impls for LocalInternedString. 2019-09-04 14:41:07 +10:00
Nicholas Nethercote
224daa64bd Remove LocalInternedString::get.
It has a single use, which is easily changed to something better.
2019-09-04 14:40:23 +10:00
Nicholas Nethercote
69ae8d9dfd Remove LocalInternedString::as_interned_str().
It's unused.
2019-09-04 14:23:45 +10:00
Nicholas Nethercote
bf536dde3b Remove LocalInternedString uses from librustc/traits/. 2019-09-04 14:23:45 +10:00
Nicholas Nethercote
d78b33a807 Remove LocalInternedString uses from librustc_codegen_llvm. 2019-09-04 14:23:45 +10:00
Nicholas Nethercote
b50db34e4d Remove LocalInternedString uses from librustc_codegen_llvm/consts.rs. 2019-09-04 14:23:45 +10:00
Nicholas Nethercote
0ad111f8bb Remove LocalInternedString uses from librustc/ty/.
This is not a compelling change in isolation, but it is a necessary
step.
2019-09-04 14:23:30 +10:00
Aleksey Kladov
613649584a use consistent naming for buildin expansion functions 2019-09-03 21:15:45 +03:00
Aleksey Kladov
fa893a3225 use TokenStream rather than &[TokenTree] for built-in macros
That way, we don't loose the jointness info
2019-09-03 21:15:45 +03:00
nathanwhit
12adc395c3 Strip remote-test-client output from run stdout
The remote-test-client outputs a message of the form "uploaded
"<build_dir>/<executable_path>", waiting for result" onto stdout when
executing a test, which is then captured in the process result. This needs to be removed when
comparing the results of the run-pass test execution.
2019-09-03 11:56:08 -04:00
bors
b9de4ef89e Auto merge of #64127 - Centril:rollup-dfgb9h8, r=Centril
Rollup of 5 pull requests

Successful merges:

 - #64049 (Emit a single error on if expr with expectation and no else clause)
 - #64056 (Account for arbitrary self types in E0599)
 - #64058 (librustc_errors: Extract sugg/subst handling into method)
 - #64071 (use just one name when parameters and fields are the same)
 - #64104 (Emit error on intrinsic to fn ptr casts)

Failed merges:

r? @ghost
2019-09-03 15:17:31 +00:00
Esteban Küber
e16ce8007a fix error code test 2019-09-03 08:07:35 -07:00
Esteban Küber
4a79633ad2 review comments 2019-09-03 08:05:54 -07:00
Esteban Küber
28b518474e review comments: error code text 2019-09-03 08:03:09 -07:00
Yuki Okushi
3284734f78 Update Clippy 2019-09-03 23:08:52 +09:00
Daniel Henry-Mantilla
b03d3dc478 Changed comment to better reflect std's exceptional situation 2019-09-03 15:36:21 +02:00
Mazdak Farrokhzad
e85b181638 unused_parens: fix for or-patterns + &(mut x) 2019-09-03 15:33:30 +02:00
Mazdak Farrokhzad
24e3b1d0d3
Rollup merge of #64104 - Mark-Simulacrum:intrinsic-fn-ptr-ice, r=estebank
Emit error on intrinsic to fn ptr casts

I'm not sure if a type error is the best way of doing this but it seemed like a relatively correct place to do it, and I expect this is a pretty rare case to hit anyway.

Fixes #15694
2019-09-03 14:27:05 +02:00
Mazdak Farrokhzad
a906a83d98
Rollup merge of #64071 - guanqun:style-fix, r=Centril
use just one name when parameters and fields are the same
2019-09-03 14:27:03 +02:00
Mazdak Farrokhzad
586aeb4c9d
Rollup merge of #64058 - phansch:refactor_out_method, r=estebank
librustc_errors: Extract sugg/subst handling into method

An initial refactoring before working on #61809.

This moves the whole block into a method so that it can be reused in the
annotate-snippet emitter. The method is already used in the new emitter, but
there's no UI tests with suggestions included in this PR.

A first look at some UI tests with suggestions showed that there's some
more work to do in [annotate-snippet-rs][annotate-snippet-rs] before the new output is closer to the
current one, so I opted to do that in a second step.

r? @estebank

[annotate-snippet-rs]: https://github.com/rust-lang/annotate-snippets-rs
2019-09-03 14:27:01 +02:00
Mazdak Farrokhzad
56d00e388b
Rollup merge of #64056 - estebank:arbitrary-self-types, r=Centril
Account for arbitrary self types in E0599

Fix https://github.com/rust-lang/rust/issues/62373
2019-09-03 14:27:00 +02:00
Mazdak Farrokhzad
4245be7fb3
Rollup merge of #64049 - estebank:if-else-type-err, r=Centril
Emit a single error on if expr with expectation and no else clause

Fix https://github.com/rust-lang/rust/issues/60254.

r? @Centril
2019-09-03 14:26:58 +02:00
Daniel Henry-Mantilla
23c76ff7b9 Added warning around code with reference to uninit bytes 2019-09-03 12:18:09 +02:00
Nicholas Nethercote
8c74eb7790 Move path parsing earlier.
It's a hot enough path that moving it slightly earlier gives a tiny but
easy speedup.
2019-09-03 20:15:07 +10:00
Nicholas Nethercote
a8975a0752 Remove LocalInternedString uses from librustc/lint/. 2019-09-03 16:02:32 +10:00
Nicholas Nethercote
05dcd0e7e3 Remove LocalInternedString uses from librustc_typeck. 2019-09-03 15:48:14 +10:00
Esteban Küber
efe85943b3 account for DUMMY_SP and correct wording 2019-09-02 22:11:29 -07:00
bors
815dec9db1 Auto merge of #63869 - GuillaumeGomez:fix-build-failure, r=Mark-Simulacrum
Fix build failure in case file doesn't exist

It fixes the following issue:

```bash
$ ./x.py test src/tools/linkchecker ./build/x86_64-apple-darwin/doc/ --stage 1
Updating only changed submodules
Submodules updated in 0.05 seconds
    Finished dev [unoptimized] target(s) in 0.15s
thread 'main' panicked at 'source "/Users/imperio/rust/rust/build/x86_64-apple-darwin/doc/version_info.html" failed to get metadata: No such file or directory (os error 2)', src/build_helper/lib.rs:179:19
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
failed to run: /Users/imperio/rust/rust/build/bootstrap/debug/bootstrap test src/tools/linkchecker ./build/x86_64-apple-darwin/doc/ --stage 1
Build completed unsuccessfully in 0:00:01
```

If the file doesn't exist, it makes sense anyway to just run the command in order to generate it.

r? @Mark-Simulacrum
2019-09-03 04:33:08 +00:00
Esteban Küber
bb99fc31d0 review comment: update error code descr 2019-09-02 21:08:34 -07:00
Esteban Küber
c1e5e5c567 On object safety violation, point at source when possible 2019-09-02 20:22:22 -07:00
Esteban Küber
3ea932ab0e Refer to "self type" instead of "receiver type" 2019-09-02 19:07:04 -07:00
Esteban Küber
c430d743e9 Add match test cases 2019-09-02 17:37:50 -07:00
bors
b50520835f Auto merge of #63561 - HeroicKatora:alloc-private-bytes, r=oli-obk
Make Allocation::bytes private

Fixes #62931.

Direct immutable access to the bytes is still possible but redirected through the new method `raw_bytes_with_undef_and_ptr`, similar to `get_bytes_with_undef_and_ptr` but without requiring an interpretation context and not doing *any* relocation or bounds checks. The `size` of the allocation is stored separately which makes access as `Size` and `usize` more ergonomic.

cc: @RalfJung
2019-09-02 22:07:40 +00:00
Mark Rousskov
dd323f8a72 Emit error on intrinsic to fn ptr casts 2019-09-02 17:28:37 -04:00
Wesley Wiser
46877e2890 Fix const eval bug breaking run-pass tests in Miri
PR #63580 broke miri's ability to run the run-pass test suite with MIR
optimizations enabled. The issue was that we weren't properly handling
the substs and DefId associated with a Promoted value. This didn't break
anything in rustc because in rustc this code runs before the Inliner
pass which is where the DefId and substs can diverge from their initial
values. It broke Miri though because it ran this code again after
running the optimization pass.
2019-09-02 17:23:21 -04:00
Esteban Küber
dd870d7422 fix typo 2019-09-02 10:19:09 -07:00
nathanwhit
bf44f12d66 Ignore check-run-results tests for wasm32-bare
Ignores run-pass tests with the `check-run-results` flag enabled for the
wasm32-bare ("wasm32-unknown-unknown") target, as it does not support
printing to stdout/stderr.
2019-09-02 12:00:55 -04:00
bors
9af17757be Auto merge of #63692 - iluuu1994:issue-49660, r=sfackler
Test that Wrapping arithmetic ops are implemented for all int types

Closes #49660
2019-09-02 15:32:08 +00:00
Guillaume Gomez
a80ab3a2f8 Generate version file if it doesn't exist 2019-09-02 14:13:36 +02:00
Michael Woerister
b0bb3017c1 Update xLTO compatibility table in rustc book. 2019-09-02 13:50:44 +02:00
Esteban Küber
334d465732 Point at appropriate arm on type error on if/else/match with one non-! arm 2019-09-01 20:15:49 -07:00
bors
fdaf594bab Auto merge of #63834 - andjo403:rustdoc-linker-remove, r=Mark-Simulacrum
remove the unstable rustdoc parameter --linker

use the code generation parameter -Clinker (same parameter as rustc)
to control what linker to use for building the rustdoc test executables.

closes: #63816
2019-09-02 02:11:07 +00:00
Yuki Okushi
a937d8cdeb Fix tests again 2019-09-02 05:01:39 +09:00
Yuki Okushi
0cd9c1623f Fix condition and tests' flags 2019-09-02 03:40:35 +09:00