Commit graph

18009 commits

Author SHA1 Message Date
Adam Perry
d92cef7473 resolve_for_fn_ptr checks that the instance is an Item before returning shim. 2019-10-11 07:44:01 -07:00
Adam Perry
407d1d5fd4 Instance::resolve_for_fn_ptr unconditionally resolves first.
Per review feedback.
2019-10-10 07:31:22 -07:00
Adam Perry
1cdd5d099d Improve docs for InstanceDef::ReifyShim. 2019-10-10 07:25:54 -07:00
Adam Perry
8a097f2619 Clarify comment, dedupe match arms in shim.rs.
Also add a missing terminal newline to a test.
2019-10-09 21:02:54 -07:00
Adam Perry
b8414c13ab Return ReifyShim from Instance::resolve_for_fn_ptr when track_caller present.
This ICEs in MIR currently, which I think is to be expected since none of the MIR plumbing is set up. I added a test which confirms that the shim is being used for reifying a track_caller function.
2019-10-09 20:19:09 -07:00
Adam Perry
0132738437 Reifying callers of Instance::resolve use resolve_for_fn_ptr. 2019-10-09 20:19:09 -07:00
Adam Perry
f5f67e78bb Add Instance::resolve_for_fn_ptr 2019-10-09 20:19:09 -07:00
Adam Perry
012116f860 Add InstanceDef::ReifyShim for track_caller functions. 2019-10-09 20:19:09 -07:00
Michael Woerister
ceb1a9cfe3 self-profiling: Add events for everything except trait selection. 2019-10-09 13:40:44 +02:00
Mazdak Farrokhzad
ae5bb7e289
Rollup merge of #65037 - anp:track-caller, r=oli-obk
`#[track_caller]` feature gate (RFC 2091 1/N)

RFC text: https://github.com/rust-lang/rfcs/blob/master/text/2091-inline-semantic.md
Tracking issue: https://github.com/rust-lang/rust/issues/47809

I started with @ayosec's commit to add the feature gate with tests and rebased it onto current master. I fixed up some tidy lints and added a test.
2019-10-09 05:31:35 +02:00
Mazdak Farrokhzad
ff51611c42
Rollup merge of #65213 - estebank:peel-drop-temps, r=Centril
Ignore `ExprKind::DropTemps` for some ref suggestions

Introduce `Expr::peel_drop_temps()` to ignore `ExprKind::DropTemps` for suggestions that depend on the `ExprKind` for accuracy.
2019-10-08 23:31:28 +02:00
Mazdak Farrokhzad
ecd6229f72
Rollup merge of #65135 - GuillaumeGomez:add-error-code-check, r=Mark-Simulacrum
Add check for missing tests for error codes

Fixes #64811.

r? @Mark-Simulacrum
2019-10-08 23:31:24 +02:00
Mazdak Farrokhzad
3f2ae44ba4
Rollup merge of #65081 - Mark-Simulacrum:remove-profile-queries, r=michaelwoerister
Remove -Zprofile-queries

r? @michaelwoerister

Per [zulip thread](https://zulip-archive.rust-lang.org/131828tcompiler/57361RemoveZprofilequeries.html).
2019-10-08 23:31:20 +02:00
Mazdak Farrokhzad
fc068222d0
Rollup merge of #64284 - Mark-Simulacrum:include-warn, r=petrochenkov
Warn if include macro fails to include entire file

This currently introduces an error, mainly because that was just simpler, and I'm not entirely certain if we can introduce a lint without an RFC and such.

This is primarily to get feedback on the approach and overall aim -- in particular, do we think this is helpful? If so, we probably will need lang-team sign off and decide if it should be an error (as currently introduced by this PR), a lint, or a warning.

r? @petrochenkov

cc https://github.com/rust-lang/rust/issues/35560
2019-10-08 23:31:19 +02:00
Esteban Küber
d0eea6ff6d review comments 2019-10-08 09:56:05 -07:00
Esteban Küber
d84c4cd718 Ignore ExprKind::DropTemps for some ref suggestions 2019-10-08 08:26:42 -07:00
Mazdak Farrokhzad
0d17de89ba
Rollup merge of #65176 - nnethercote:rm-query-macros, r=michaelwoerister
Remove query-related macros

The query system has a few macros that only have one or two call sites, and I find they hurt readability. This PR removes them.

r? @michaelwoerister
2019-10-08 15:45:32 +02:00
Mazdak Farrokhzad
f2dc3467f4
Rollup merge of #65162 - Mark-Simulacrum:no-cache-loading-map, r=michaelwoerister
Remove loaded_from_cache map from DepGraph

It's now unused, even with -Zquery-dep-graph

From https://github.com/rust-lang/rust/pull/63756/files#r316039379 -- it'll simplify that PR to get this landed separately so we can just remove some of the code that it touches.

r? @Zoxc or @michaelwoerister
2019-10-08 15:45:31 +02:00
Mazdak Farrokhzad
6f211f1539
Rollup merge of #64404 - GuillaumeGomez:err-E0495, r=Dylan-DPC
Add long error explanation for E0495

Part of #61137.
2019-10-08 15:45:23 +02:00
bors
ec557aa818 Auto merge of #64949 - nnethercote:avoid-SmallVec-collect, r=zackmdavis
Avoid `SmallVec::collect`

We can get sizeable speed-ups by avoiding `SmallVec::collect` when the number of elements is small.
2019-10-08 08:08:21 +00:00
Mazdak Farrokhzad
f23c9f4565
Rollup merge of #65181 - nikomatsakis:lazy-norm-anon-const-push-1, r=varkor
fix bug in folding for constants

These was a bug in the folding for constants that caused it to overlook bound regions. This branch includes some other little things that I did while trying to track the bug down.

r? @oli-obk
2019-10-08 05:02:43 +02:00
Mazdak Farrokhzad
ecdb5e98cb
Rollup merge of #65154 - skinny121:const-arg-diagnostic, r=varkor
Fix const generic arguments not displaying in types mismatch diagnostic

Fixes #61395
2019-10-08 05:02:41 +02:00
Mark Rousskov
e068cec13e Warn if include macro fails to include entire file 2019-10-07 19:47:53 -04:00
Josh Stone
33c4125fbe Rebase rustc-rayon on rayon-1.2
See also https://github.com/rust-lang/rustc-rayon/pull/3
2019-10-07 13:20:17 -07:00
Guillaume Gomez
28b0e1db50 Add long error explanation for E0495 2019-10-07 17:12:54 +02:00
Adam Perry
bdc4bd142b E073[6-8] include failing code examples. 2019-10-07 08:05:33 -07:00
Adam Perry
8992c30db4 E0735 -> E0739
Prevents number collision with another approved PR.
2019-10-07 08:05:33 -07:00
Adam Perry
9900211ea0 track_caller error numbers and text. 2019-10-07 08:05:33 -07:00
Adam Perry
6c04c8eb8e track_caller run-pass test, lint cleanup, PR review. 2019-10-07 08:05:22 -07:00
Ayose
543449d4fd [RFC 2091] Add #[track_caller] attribute.
- The attribute is behind a feature gate.
- Error if both #[naked] and #[track_caller] are applied to the same function.
- Error if #[track_caller] is applied to a non-function item.
- Error if ABI is not "rust"
- Error if #[track_caller] is applied to a trait function.

Error codes and descriptions are pending.
2019-10-07 08:05:21 -07:00
Niko Matsakis
1dba4b0117 fix ICE from debug output by using kind_ty in dumping closure
Also, make `-Zverbose` dump all info about constants.
2019-10-07 10:59:46 -04:00
Niko Matsakis
bec0902535 avoid ICE when extracting closure-kind-ty from a canonicalized value
In such a case, the `Infer` is converted to a `Bound`
2019-10-07 10:59:13 -04:00
Niko Matsakis
0b58d9d124 correct bug in the "has escaping regions" visitor
Existing code could overlook types/substitutions that are
embedded in (e.g.) an unevaluated constant.
2019-10-07 10:58:37 -04:00
Niko Matsakis
25d04f83e3 make type-flags exhaustive
Didn't find any bugs here, but you really don't want these to fall out
of sync.
2019-10-07 10:57:44 -04:00
bors
e3cb9ea15a Auto merge of #65178 - Centril:rollup-ep1zztj, r=Centril
Rollup of 4 pull requests

Successful merges:

 - #63948 (Add feature gate for raw_dylib.)
 - #65137 (remove event that causes panics in measureme tools)
 - #65164 (Add long error explanation for E0566)
 - #65173 (Update reference)

Failed merges:

r? @ghost
2019-10-07 09:21:30 +00:00
Guillaume Gomez
7a8415894f Fix/improve some error codes long explanation 2019-10-07 11:15:45 +02:00
Mazdak Farrokhzad
4db77a4c58
Rollup merge of #65164 - GuillaumeGomez:long-err-explanation-E0566, r=estebank
Add long error explanation for E0566

Part of #61137.
2019-10-07 10:36:48 +02:00
bors
f92f3c4bc6 Auto merge of #64739 - guanqun:remove-as-str, r=estebank
Remove as_str if the type is already &str

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

r? @estebank

do you think the suggestion tip is good enough?
2019-10-07 05:35:17 +00:00
Charles Lew
eb492455f2 Address review comments. 2019-10-07 12:01:56 +08:00
Charles Lew
3462b58f21 Add support for parsing #[link_ordinal] attribute. 2019-10-07 12:01:55 +08:00
Charles Lew
e70ffed9cd Add feature gate for raw_dylib. 2019-10-07 12:01:54 +08:00
Nicholas Nethercote
9267d9fe5b Remove force_ex!. 2019-10-07 11:59:28 +11:00
Nicholas Nethercote
1183d60cd5 Remove def_id!. 2019-10-07 09:35:47 +11:00
Nicholas Nethercote
8f707c3a98 Remove krate!. 2019-10-07 09:35:47 +11:00
Nicholas Nethercote
90c456e732 Remove force!. 2019-10-07 09:35:47 +11:00
bors
09868a56c9 Auto merge of #65169 - tmandry:rollup-qxjj8xp, r=tmandry
Rollup of 5 pull requests

Successful merges:

 - #65095 (Sort error codes in librustc_passes)
 - #65101 (Upgrade librustc_macros dependencies)
 - #65142 (Ensure that associated `async fn`s have unique fresh param names)
 - #65155 (Use shorthand initialization in rustdoc)
 - #65158 (Remove dead module)

Failed merges:

r? @ghost
2019-10-06 20:24:37 +00:00
Guillaume Gomez
57cb8819ee Update ui tests 2019-10-06 21:00:40 +02:00
Tyler Mandry
c4bbc6dc3f
Rollup merge of #65142 - matthewjasper:unshadow-anon-lifetimes, r=petrochenkov
Ensure that associated `async fn`s have unique fresh param names

Closes #64630
2019-10-06 11:41:57 -07:00
bors
421bd77f42 Auto merge of #64564 - jonas-schievink:cowardly-default, r=nikomatsakis
Deny specializing items not in the parent impl

Part of https://github.com/rust-lang/rust/issues/29661 (https://github.com/rust-lang/rfcs/pull/2532). At least sort of?

This was discussed in https://github.com/rust-lang/rust/pull/61812#discussion_r300504114 and is needed for that PR to make progress (fixing an unsoundness).

One annoyance with doing this is that it sometimes requires users to copy-paste a provided trait method into an impl just to mark it `default` (ie. there is no syntax to forward this impl method to the provided trait method).

cc @Centril and @arielb1
2019-10-06 16:32:46 +00:00
Guillaume Gomez
c5e0d6e4d4 Add long error explanation for E0566 2019-10-06 15:23:33 +02:00