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