109076 Commits

Author SHA1 Message Date
Mark Mansi
c8b527ed99 change method -> associated function 2020-03-12 15:46:45 -05:00
Ralf Jung
e9c96570d6 miri engine: fix treatment of abort intrinsic 2020-03-12 21:22:22 +01:00
Vadim Petrochenkov
e809e0214e ast: Mac/Macro -> MacCall 2020-03-12 22:26:52 +03:00
Matthias Krüger
7b1b08cfee remove lifetimes that can be elided (clippy::needless_lifetimes) 2020-03-12 20:03:09 +01:00
Matthew Jasper
f4eb6ed6b4 Ensure HAS_FREE_LOCAL_NAMES is set for ReFree 2020-03-12 18:48:26 +00:00
Ralf Jung
f32cccc05e rename panic_if_ intrinsics to assert_ 2020-03-12 19:38:09 +01:00
Mazdak Farrokhzad
90e8058716
triagebot.toml: add typo aliases 2020-03-12 18:06:40 +01:00
LeSeulArtichaut
8f0fa24d7b Move some more tests to check-pass 2020-03-12 17:22:44 +01:00
bors
54b7d21f59 Auto merge of #69950 - Centril:rollup-xh0hmvx, r=Centril
Rollup of 10 pull requests

Successful merges:

 - #68899 (Add Display and Error impls for proc_macro::LexError)
 - #69011 (Document unsafe blocks in core::fmt)
 - #69674 (Rename DefKind::Method and TraitItemKind::Method )
 - #69705 (Toolstate: remove redundant beta-week check.)
 - #69722 (Tweak output for invalid negative impl AST errors)
 - #69747 (Rename rustc guide)
 - #69792 (Implement Error for TryReserveError)
 - #69830 (miri: ICE on invalid terminators)
 - #69921 (rustdoc: remove unused import)
 - #69945 (update outdated comment)

Failed merges:

r? @ghost
2020-03-12 16:20:52 +00:00
LeSeulArtichaut
7326e530f2 Move some const-eval build-pass tests to check-pass 2020-03-12 16:58:34 +01:00
Mazdak Farrokhzad
9463cf3361
Rollup merge of #69945 - contrun:fix-outdated-comment, r=petrochenkov
update outdated comment
2020-03-12 16:32:27 +01:00
Mazdak Farrokhzad
841f212b50
Rollup merge of #69921 - matthiaskrgr:rustdoc_import, r=Centril
rustdoc: remove unused import

```
    Checking rustdoc v0.0.0 (/home/matthias/vcs/github/rust/src/librustdoc)
warning: unused import: `rustc_span::symbol::sym`
  --> src/librustdoc/clean/inline.rs:15:5
   |
15 | use rustc_span::symbol::sym;
   |     ^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: `#[warn(unused_imports)]` on by default
```
2020-03-12 16:32:25 +01:00
Mazdak Farrokhzad
fac7122682
Rollup merge of #69830 - RalfJung:miri-invalid-terminator, r=oli-obk
miri: ICE on invalid terminators

We've run a lot of MIR in Miri (including some generators) and never seen these.

@tmandry is it correct that `Yield` and `GeneratorDrop` get lowered away?

@eddyb @oli-obk what's with this `Abort` that does not seem to ever actually exist? Codegen *does* seem to handle it, so I wonder why Miri can get away without that. In fact, codegen handles it twice:

1d5241c962/src/librustc_codegen_ssa/mir/block.rs (L796)

1d5241c962/src/librustc_codegen_ssa/mir/mod.rs (L296)
2020-03-12 16:32:23 +01:00
Mazdak Farrokhzad
d21320cbd9
Rollup merge of #69792 - LenaWil:try_reserve_error/impl-error, r=sfackler
Implement Error for TryReserveError

I noticed that the Error trait wasn't implemented for TryReserveError. (#48043)

Not sure if the error messages and code style are 100% correct, it's my first time contributing to the Rust std.
2020-03-12 16:32:21 +01:00
Mazdak Farrokhzad
39c6405097
Rollup merge of #69747 - spastorino:rename-rustc-guide, r=pietroalbini
Rename rustc guide

This is in preparation for https://github.com/rust-lang/rustc-guide/issues/470
Needs to be merged after we actually rename the guide.

Have used this to rename:

`git grep -l 'rustc_guide' | xargs sed -i 's/rustc_guide/rustc_dev_guide/g'`
`git grep -l 'rustc-guide' | xargs sed -i 's/rustc-guide/rustc-dev-guide/g'`
`git grep -l 'rustc guide' | xargs sed -i 's/rustc guide/rustc dev guide/g'`
2020-03-12 16:32:19 +01:00
Mazdak Farrokhzad
4f7fc5ad67
Rollup merge of #69722 - estebank:negative-impl-span-ast, r=Centril
Tweak output for invalid negative impl AST errors

Use more accurate spans for negative `impl` errors.

r? @Centril
2020-03-12 16:32:17 +01:00
Mazdak Farrokhzad
3d23de7baf
Rollup merge of #69705 - ehuss:toolstate-remove-redundant-beta, r=Mark-Simulacrum
Toolstate: remove redundant beta-week check.

I made a bit of a mistake in #69624.  The "beta regression" doesn't need to be checked twice.

I also rolled up #69693 to avoid merge conflicts.
2020-03-12 16:32:15 +01:00
Mazdak Farrokhzad
9bc7386970
Rollup merge of #69674 - mark-i-m:assoc-fn, r=matthewjasper
Rename DefKind::Method and TraitItemKind::Method

r? @eddyb, @Centril, or @matthewjasper

cc #69498 #60163
2020-03-12 16:32:13 +01:00
Mazdak Farrokhzad
156a05a2e7
Rollup merge of #69011 - foeb:document-unsafe-core-fmt, r=Mark-Simulacrum
Document unsafe blocks in core::fmt

r? @RalfJung
CC: @rust-lang/wg-unsafe-code-guidelines
#66219

Sorry for the hiatus, but here's a few more files with the unsafe blocks documented! I think working on it smaller chunks like this will be easier for everyone.
2020-03-12 16:32:11 +01:00
Mazdak Farrokhzad
703dcff081
Rollup merge of #68899 - kinseytamsin:lexerror-error-impl, r=Centril
Add Display and Error impls for proc_macro::LexError

This should allow LexError to play much nicer with the `?` operator.

Fixes #68896.

(I'm not sure if I did the stability attributes right, so if I need to change them, please let me know!)
2020-03-12 16:32:07 +01:00
Mazdak Farrokhzad
118003d2dc
triagebot.toml: add ping aliases 2020-03-12 16:22:12 +01:00
Chris Simpkins
cf929f77bf support LLVM globals corresponding to miri allocations 2020-03-12 09:57:05 -04:00
Oliver Scherer
6e73a14234 Remove fn special casing in const printing 2020-03-12 13:35:44 +01:00
Guillaume Gomez
611cfd5f15 Clean up E0423 explanation 2020-03-12 13:11:07 +01:00
YI
d7100d6099 update outdated comment 2020-03-12 18:43:51 +08:00
Oliver Scherer
d0b12117c5 Comment nit 2020-03-12 11:06:14 +01:00
David Wood
bee151308d
codegen/mir: support polymorphic InstanceDefs
This commit modifies the use of `subst_and_normalize_erasing_regions` on
parts of the MIR bodies returned from `instance_mir`, so that
`InstanceDef::CloneShim` and `InstanceDef::DropGlue` (where there is a
type) do not perform substitutions. This avoids double substitutions and
enables polymorphic `InstanceDef`s.

Signed-off-by: David Wood <david@davidtw.co>
2020-03-12 09:32:15 +00:00
bors
23de8275c9 Auto merge of #68551 - Marwes:allocations_mir, r=ecstatic-morse
perf: Reuse a Vec in mir simplification

Just moves the vec out of the outer loop so it is reused every iteration
2020-03-12 09:16:53 +00:00
bors
e5e8ba4edc Auto merge of #68191 - simlay:add-tvSO-target, r=nagisa
Added tvOS as targets

This is a first attempt of adding support tvOS as described in #48862. It's got a lot of overlap with [src/librustc_target/spec/apple_ios_base.rs](31dd4f4acb/src/librustc_target/spec/apple_ios_base.rs).

I thought about refactoring `apple_ios_base.rs` to include this as well but that would require each of the ios and tvos targets to be of the something like the form `let base = opts(AppleOS::TV, Arch::Arm64)?;` I also did the same thing for watchOS because from what I can tell, all three targets (iOS, tvOS, and watchOS) have the same logic but have different parameters being sent to `xcrun`. Thoughts?

As far as the `data_layout` and other parameters to `Target`, I did as much research as I could but it really seems that processor in the [iPhone 11 is the same as the apple TV](https://en.wikipedia.org/wiki/Apple-designed_processors) so I didn't change any of those parameters.

I did get this to build and tested that it's actually running the the below logic (because the parameter to `xcrun` is `appletvos` not `tvos`).

I didn't manage to get it to actually compile a file with `fn main(){}` because I don't have the stdlib for `aarch64-apple-tvos` compiled it seems. Is there documentation for this?

Similar to the ending of https://github.com/rust-lang/rust/pull/63467, I'm not sure what to do next.
2020-03-12 04:01:02 +00:00
Tomasz Miąsko
24dc2cb133 librustc_codegen_llvm: Replace deprecated API usage 2020-03-11 23:56:41 +01:00
Ralf Jung
e219dd4a2d fmt 2020-03-11 20:32:39 +01:00
Vadim Petrochenkov
f4083c6455 Add the "consider importing it directly" label to public imports as well 2020-03-11 21:49:32 +03:00
Ralf Jung
93436d8fd7 make error message less confusing 2020-03-11 19:44:23 +01:00
Ralf Jung
9681422943 we are on 2018 edition, use try block 2020-03-11 19:44:23 +01:00
Ralf Jung
d8f81680a1 avoid boolean inversion 2020-03-11 19:44:23 +01:00
Ralf Jung
3e61442905 explain why we catch PointerUseAfterFree 2020-03-11 19:44:23 +01:00
Ralf Jung
2764d3d3e4 start Miri messages lower-case 2020-03-11 19:44:23 +01:00
Ralf Jung
3ebcd78b42 fmt, and fix rustfmt-induced rebase hickup 2020-03-11 19:44:23 +01:00
Ralf Jung
9a95b010e6 generalize InvalidNullPointerUsage to InvalidIntPointerUsage 2020-03-11 19:44:23 +01:00
Ralf Jung
d02543a453 fmt, tweak messages and bless 2020-03-11 19:44:23 +01:00
Ralf Jung
f5efb68a24 miri: categorize errors into "unsupported" and "UB"
Also slightly refactor pointer bounds checks to avoid creating unnecessary temporary Errors
2020-03-11 19:42:07 +01:00
Ralf Jung
c7eb0f2a40 fix expand-to-unstable test 2020-03-11 19:41:41 +01:00
Andreas Jonson
afa940b900 Update the mir inline costs
handle that when mir is lowered to llvm-ir more code is generated.
landingpads generates 10 llvm-ir instructions
and resume 9 llvm-ir instructions.
2020-03-11 19:18:22 +01:00
Vadim Petrochenkov
580c6a29d4 resolve: Print import chains on privacy errors 2020-03-11 21:17:32 +03:00
Vadim Petrochenkov
71ebc61820 resolve: Simplify fn report_privacy_error
by factoring out `fn ctor_fields_span` into a separate function
2020-03-11 21:17:32 +03:00
Kinsey Favre
5099ab6e6b
Give LexError more descriptive Display impl 2020-03-11 11:57:58 -05:00
Kinsey Favre
f2b22a136c
Correct stability attribute for new LexError impls 2020-03-11 11:57:58 -05:00
Lena Wildervanck
2c90a37969 Reformat match statement to make the check pass 2020-03-11 17:55:14 +01:00
Lena Wildervanck
599cd683ea Format the match statement 2020-03-11 17:30:04 +01:00
Kinsey Favre
c0c526951c
Add Display and Error impls for proc_macro::LexError
This should allow LexError to play much nicer with the `?` operator.
2020-03-11 11:28:59 -05:00