Esteban Küber
a8a974245e
Provide more information for HRTB lifetime errors involving closures
2021-01-12 13:53:13 -08:00
William Bain
d46c3e3411
Tweak ?
inference error messages
2021-01-10 19:48:11 -05:00
William Bain
62a39ed526
Extract parent def handling for infer failure err
2021-01-10 19:48:11 -05:00
William Bain
b9d9776fea
Refactor cannot infer ...
message rendering
2021-01-10 19:48:10 -05:00
William Bain
0496fdee4f
Note inference failures using ?
conversion
2021-01-10 19:47:57 -05:00
Yuki Okushi
faf8beddef
Rollup merge of #80637 - LingMan:filter, r=oli-obk
...
Use Option::filter instead of open-coding it
`@rustbot` modify labels +C-cleanup +T-compiler
2021-01-05 09:52:42 +09:00
LingMan
203d5025bb
Use Option::filter instead of open-coding it
2021-01-03 05:53:15 +01:00
Matthias Krüger
8a90626a46
reduce borrowing and (de)referencing around match patterns (clippy::match_ref_pats)
2021-01-02 20:09:17 +01:00
Rémy Rakic
1fc3c4c16d
adjust const generics defaults FIXMEs to the new feature gate
2021-01-01 11:01:01 +01:00
Yuki Okushi
7008911080
FIx ICE on wf check for foreign fns
2020-12-31 11:25:53 +09:00
Yuki Okushi
41fa0dba27
Rollup merge of #80509 - matthiaskrgr:ptr_arg, r=varkor
...
where possible, pass slices instead of &Vec or &String (clippy::ptr_arg)
2020-12-30 22:49:26 +09:00
Matthias Krüger
bdc9291ed9
where possible, pass slices instead of &Vec or &String (clippy::ptr_arg)
2020-12-30 13:11:52 +01:00
Yuki Okushi
a309468a8c
Rollup merge of #80348 - matthiaskrgr:less_clones, r=Dylan-DPC
...
remove redundant clones (clippy::redundant_clone)
2020-12-30 18:15:04 +09:00
Dylan DPC
c51172f38a
Rollup merge of #80344 - matthiaskrgr:matches, r=Dylan-DPC
...
use matches!() macro in more places
2020-12-28 14:13:12 +01:00
Matthias Krüger
d12a358673
use matches!() macro in more places
2020-12-24 13:35:12 +01:00
Matthias Krüger
6e852cc4ce
remove redundant clones (clippy::redundant_clone)
2020-12-24 12:59:22 +01:00
Matthew Jasper
2e92b13a60
Prevent caching projections in the case of cycles
...
When normalizing a projection which results in a cycle, we would
cache the result of `project_type` without the nested obligations
(because they're not needed for inference). This would result in
the nested obligations only being handled once in fulfill, which
would avoid the cycle error.
Fixes #79714 , a regresion from #79305 caused by the removal of
`get_paranoid_cache_value_obligation`.
2020-12-20 21:47:51 +00:00
bors
b1964e60b7
Auto merge of #80163 - jackh726:binder-refactor-part-3, r=lcnr
...
Make BoundRegion have a kind of BoungRegionKind
Split from #76814
Also includes making `replace_escaping_bound_vars` only return `T`
Going to r? `@lcnr`
Feel free to reassign
2020-12-20 07:01:00 +00:00
bors
0c11b93f5a
Auto merge of #79635 - lcnr:const-eval-idk, r=oli-obk
...
const_evaluatable_checked: fix occurs check
fixes #79615
this is kind of a hack because we use `TypeRelation` for both the `Generalizer` and the `ConstInferUnifier` but i am not sure if there is a useful way to disentangle this without unnecessarily duplicating some code.
The error in the added test is kind of unavoidable until we erase the unused substs of `ConstKind::Unevaluated`. We talked a bit about this in the cg lazy norm meeting (https://rust-lang.zulipchat.com/#narrow/stream/260443-project-const-generics/topic/lazy_normalization_consts )
2020-12-20 00:50:46 +00:00
Jack Huey
5e7095850c
More rebinds
2020-12-19 04:26:35 -05:00
Jack Huey
af3b1cb0b5
Change potentially_qualified to be defined on Binder<PredicateAtom>
2020-12-18 15:57:12 -05:00
Jack Huey
328fcee4af
Make BoundRegion have a kind of BoungRegionKind
2020-12-18 15:27:28 -05:00
Dylan DPC
da89dbb41a
Rollup merge of #80046 - camelid:diag-docs, r=lcnr
...
Add more documentation to `Diagnostic` and `DiagnosticBuilder`
cc `@estebank`
2020-12-18 00:30:20 +01:00
Camelid
10487cd784
Fix typo in method name
...
unsuccessfull -> unsuccessful
2020-12-16 14:59:12 -08:00
Jack Huey
ed80815bf2
Move binder for dyn to each list item
2020-12-11 15:02:46 -05:00
Matthias Krüger
20f8538d1f
simplify if let Some(_) = x to if x.is_some() (clippy::redundant_pattern_matching)
2020-12-08 20:27:49 +01:00
Matthias Krüger
1734f9c291
remove redundant clones
2020-12-05 12:59:54 +01:00
Benjamin Peterson
76ff0f408a
The details of higher-rank sub are in the rustc book not a doc module.
2020-12-03 23:38:36 -06:00
Bastian Kauschke
806c7281ec
add comment to visit_ct_substs
2020-12-02 16:41:01 +01:00
Santiago Pastorino
37354ebc97
Revert "Auto merge of #79209 - spastorino:trait-inheritance-self, r=nikomatsakis"
...
This reverts commit 349b3b324d
, reversing
changes made to b776d1c3e3
.
2020-12-02 12:19:38 -03:00
Bastian Kauschke
71d7550350
const_evaluatable_checked: fix occurs check
2020-12-02 15:31:27 +01:00
Santiago Pastorino
ada7c1f429
Return FxIndexSet instead of FxHashSet to avoid order errors on different platforms
2020-11-27 18:45:34 -03:00
Santiago Pastorino
28446ef19e
Inline elaborate_trait_refs_that_define_assoc_type into transitive_bounds_that_define_assoc_type
2020-11-27 11:23:52 -03:00
Santiago Pastorino
9e0538bd07
Document elaborate_trait_refs_that_define_assoc_type
2020-11-27 11:23:51 -03:00
Santiago Pastorino
2ca4964db5
Allow to self reference associated types in where clauses
2020-11-27 11:23:47 -03:00
Jonas Schievink
9b2117d1f6
Rollup merge of #77758 - Stupremee:turbofish-help-for-const, r=varkor
...
suggest turbofish syntax for uninferred const arguments
When not providing a const generic value, and it can not be inferred, the following suggestion is suggested:

Resolves #76737
r? ``@varkor``
2020-11-26 13:39:00 +01:00
Jonas Schievink
ee6f42ba94
Thread Constness
through selection
2020-11-22 02:13:53 +01:00
LeSeulArtichaut
f59d03038c
Move rustc_ty
-> rustc_ty_utils
2020-11-19 21:57:29 +01:00
Justus K
4379a43e46
Suggest turbofish for uninferred const argument
2020-11-18 19:23:22 +01:00
bors
e0ef0fc392
Auto merge of #78779 - LeSeulArtichaut:ty-visitor-return, r=oli-obk
...
Introduce `TypeVisitor::BreakTy`
Implements MCP rust-lang/compiler-team#383 .
r? `@ghost`
cc `@lcnr` `@oli-obk`
~~Blocked on FCP in rust-lang/compiler-team#383.~~
2020-11-17 12:24:34 +00:00
lcnr
a6cbd64dae
words
2020-11-16 22:42:09 +01:00
Bastian Kauschke
2bf93bd852
compiler: fold by value
2020-11-16 22:34:57 +01:00
LeSeulArtichaut
df6e87cc85
Use TypeVisitor::BreakTy
in UnresolvedTypeFinder
2020-11-14 21:20:10 +01:00
LeSeulArtichaut
e0f3119103
Introduce TypeVisitor::BreakTy
2020-11-14 20:25:27 +01:00
Guillaume Gomez
0b7a7930b4
Rollup merge of #78463 - varkor:placeholder-const, r=nikomatsakis
...
Add type to `ConstKind::Placeholder`
I simply threaded `<'tcx>` through everything that required it. I'm not sure whether this is the correct thing to do, but it seems to work.
r? `@nikomatsakis`
2020-11-13 15:26:14 +01:00
varkor
e24a4b4690
Add type to ConstKind::Placeholder
2020-11-12 15:39:55 +00:00
Jonas Schievink
9596e34ad4
Rollup merge of #76765 - guswynn:async_return, r=tmandry
...
Make it more clear what an about async fn's returns when referring to what it returns
see #76547
This is *likely* not the ONLY place that this happens to be unclear, but we can move this fn to rustc_middle or something like that and reuse it if need be, to apply it to more diagnostics
One outstanding question I have is, if the fn returns (), should I make the message more clear (what about `fn f()` vs `fn f() -> ()`, can you tell those apart in the hir?)
R? `@tmandry`
`@rustbot` modify labels +A-diagnostics +T-compiler
2020-11-10 14:45:09 +01:00
Matthias Krüger
bcd2f2df67
fix a couple of clippy warnings:
...
filter_next
manual_strip
redundant_static_lifetimes
single_char_pattern
unnecessary_cast
unused_unit
op_ref
redundant_closure
useless_conversion
2020-11-04 13:48:50 +01:00
LeSeulArtichaut
9433eb83fe
Remove implicit Continue
type
2020-10-30 12:27:47 +01:00
LeSeulArtichaut
4fe735b320
TypeVisitor: use ControlFlow
in rustc_{infer,lint,trait_selection}
2020-10-30 12:27:34 +01:00