Michael Goulet
4ff587263e
Note binding obligation causes for const equate errors
2022-08-24 17:53:35 +00:00
Michael Goulet
2a16a127a0
More docs
2022-08-21 02:35:11 +00:00
Michael Goulet
c005e760f5
Rework point-at-arg
2022-08-21 02:34:52 +00:00
Michael Goulet
3bbe95ca0c
Combine redundant obligation cause codes
2022-07-24 19:35:53 +00:00
Michael Goulet
8926dac549
And for patterns too
2022-07-21 07:43:00 +00:00
Michael Goulet
99c32570bb
Do if-expression obligation stuff less eagerly
2022-07-21 07:39:28 +00:00
Matthias Krüger
69e4f21f2e
Rollup merge of #99290 - compiler-errors:revert-98794, r=lcnr
...
Revert "Highlight conflicting param-env candidates"
This reverts #98794 , commit 08135254dc .
Seems to have caused an incremental compilation bug. The root cause of the incr comp bug is somewhat unrelated but is triggered by this PR, so I don't feel comfortable with having this PR in the codebase until it can be investigated further. Fixes #99233 .
2022-07-16 22:30:52 +02:00
Will Crichton
e5bb7d80d6
Propagate Expectation around binop typeck code to construct more precise trait obligations for binops.
2022-07-15 18:06:18 -07:00
Michael Goulet
1c8f87e907
Revert "Highlight conflicting param-env candidates"
...
This reverts commit 08135254dc .
2022-07-15 17:21:55 +00:00
Michael Goulet
78efaf43e4
remove tcx from ObligationCauseCode::span
2022-07-15 03:17:20 +00:00
Michael Goulet
27b6ab9129
Remove some more usages of guess_head_span
2022-07-15 03:17:20 +00:00
kadmin
e612e2603c
Move abstract const to rustc_middle::ty
2022-07-12 02:21:31 +00:00
Michael Goulet
08135254dc
Highlight conflicting param-env candidates
2022-07-08 03:51:08 +00:00
Alan Egerton
e4b9625b87
Add #[derive(TypeVisitable)]
2022-07-05 22:25:15 +01:00
Michael Goulet
6c0a591dee
Fix trait object reborrow suggestion
2022-06-28 21:42:52 +00:00
Matthias Krüger
6391f239c8
Rollup merge of #98506 - compiler-errors:object-safety-suggestions, r=oli-obk
...
Fix span issues in object safety suggestions
Fixes #98500
2022-06-27 22:35:07 +02:00
Matthias Krüger
43dd0e2424
Rollup merge of #97780 - compiler-errors:field-wfcheck-before-sized, r=jackh726
...
Check ADT field is well-formed before checking it is sized
Fixes #96810 .
There is one diagnostics regression, in [`src/test/ui/generic-associated-types/bugs/issue-80626.stderr`](https://github.com/rust-lang/rust/pull/97780/files#diff-53795946378e78a0af23a10277c628ff79091c18090fdc385801ee70c1ba6963 ). I am not super concerned about it, since it's GAT related.
We _could_ fix it, possibly by using the `FieldSized` obligation cause code instead of `BuiltinDerivedObligation`. But that would require changing `Sized` trait confirmation and the `adt_sized_constraint` query.
2022-06-27 08:06:46 +02:00
Michael Goulet
eff865ca76
Fix span issues in object safety suggestions
2022-06-25 14:59:45 -07:00
Michael Goulet
52409c4c90
Point at return expression for RPIT-related error
2022-06-21 18:23:37 -07:00
Takayuki Maeda
77d6176e69
remove unnecessary to_string and String::new
2022-06-13 15:48:40 +09:00
Michael Goulet
c1f4f980f4
Do wfcheck on ADT field before Sized check
2022-06-05 23:05:14 -07:00
Michael Goulet
1784634a39
Lifetime variance fixes for rustc
2022-05-22 14:29:32 -07:00
Dylan DPC
04f903859a
Rollup merge of #95979 - lcnr:coherence-docs, r=compiler-errors
...
update coherence docs, fix generator + opaque type ICE
the world is confusing, this makes it slightly less so
2022-05-18 08:41:14 +02:00
bors
c1d65eaa45
Auto merge of #96892 - oli-obk: 🐌 _obligation_cause_code_ 🐌 , r=estebank
...
Clean up derived obligation creation
r? `@estebank`
working on fixing the perf regression from https://github.com/rust-lang/rust/pull/91030#issuecomment-1083360210
2022-05-17 01:46:25 +00:00
Oli Scherer
0cefa5fa18
Force inline InternedObligationCauseCode creation
2022-05-16 13:34:03 +00:00
Oli Scherer
59bbbe78e2
Avoid invoking the full eq infrastructure when all we want is to check a discriminant
2022-05-13 09:31:46 +00:00
Oli Scherer
72f144de24
Give the inliner some hints
2022-05-12 11:29:01 +00:00
Camille GILLOT
6cfe52c094
Gracefully fail to resolve associated items instead of delay_span_bug.
2022-05-11 08:28:02 +02:00
Oli Scherer
824e9e47f7
Use InternedObligationCauseCode everywhere
2022-05-10 12:01:56 +00:00
Oli Scherer
213c17486e
Make FunctionArgumentObligation also use the "no allocation for misc" trick
2022-05-10 11:26:53 +00:00
Oli Scherer
1b51e1ad20
Don't allocate misc obligation parents of derived obligations
2022-05-10 11:14:07 +00:00
Oli Scherer
9ba6ddb929
Make the derived obligation cause parent private
2022-05-10 11:10:27 +00:00
Oli Scherer
5b5b549580
Add a helper function for a common piece of code
2022-05-10 11:03:52 +00:00
Oli Scherer
05a62c5527
Remove clone_code method
2022-05-10 10:42:29 +00:00
Oli Scherer
dc21fcb2fc
Remove another use of clone_code
2022-05-10 10:32:35 +00:00
Oli Scherer
704bbe5210
Move an extension trait method onto the type directly and reuse it
2022-05-10 09:26:09 +00:00
Oli Scherer
312d27d0a2
Remove some unnecessary clones
2022-05-10 08:43:39 +00:00
lcnr
58781edc54
update coherence docs, fix opaque type + generator ice
2022-05-10 09:09:06 +02:00
Elliot Roberts
7907385999
fix most compiler/ doctests
2022-05-02 17:40:30 -07:00
lcnr
8eacf6078f
update comment
2022-04-01 13:47:01 +02:00
lcnr
796b828371
convert more DefIds to LocalDefId
2022-04-01 13:38:43 +02:00
lcnr
d7cada1767
obligation cause: RepeatVec -> RepeatValueCopy
2022-03-31 12:51:46 +02:00
Yuri Astrakhan
5160f8f843
Spellchecking compiler comments
...
This PR cleans up the rest of the spelling mistakes in the compiler comments. This PR does not change any literal or code spelling issues.
2022-03-30 15:14:15 -04:00
Dylan DPC
d1d4613ead
Rollup merge of #94391 - light4:issue-90319, r=estebank
...
Fix ice when error reporting recursion errors
Fixes : #90319 , #92148 , #93955
2022-03-25 01:34:28 +01:00
lightning1141
85e67b9a59
Fix ice when error reporting recursion errors
...
Fixes : #90319 , #92148 , #93955
2022-03-25 02:53:30 +08:00
Esteban Kuber
5fd37862d9
Properly track ImplObligations
...
Instead of probing for all possible impls that could have caused an
`ImplObligation`, keep track of its `DefId` and obligation spans for
accurate error reporting.
Follow up to #89580 . Addresses #89418 .
Remove some unnecessary clones.
Tweak output for auto trait impl obligations.
2022-03-24 02:08:49 +00:00
Deadbeef
1f3ee7f32e
Rename ~const Drop to ~const Destruct
2022-03-21 17:04:03 +11:00
Takayuki Maeda
c60bae78ac
suggest a float literal when dividing a floating-point type by {integer}
...
fix a message
implement a rustfix-applicable suggestion
implement `suggest_floating_point_literal`
add `ObligationCauseCode::BinOp`
remove duplicate code
fix function names in uitests
use `Diagnostic` instead of `DiagnosticBuilder`
2022-02-26 14:28:51 +09:00
Eduard-Mihai Burtescu
02ff9e0aef
Replace &mut DiagnosticBuilder, in signatures, with &mut Diagnostic.
2022-02-23 05:38:19 +00:00
Jack Huey
3d19c8defd
Suggest copying trait associated type bounds on lifetime error
2022-02-17 14:09:21 -05:00