about summary refs log tree commit diff
path: root/src/test/ui/traits
AgeCommit message (Collapse)AuthorLines
2022-08-20remove unnecessary string searchingsTakayuki Maeda-12/+18
remove unnecessary string searchings for checking if function arguments have `&` and `&mut`
2022-08-18Reword "Required because of the requirements on the impl of ..."Andy Wang-33/+33
2022-08-17Add const-generics test.Camille GILLOT-0/+23
2022-08-17implied_bounds: clarify our assumptionslcnr-2/+2
2022-08-14Also do it for genericsMichael Goulet-6/+6
2022-08-14Point to argument if it's self type of unsatisfied projection predicateMichael Goulet-4/+8
2022-08-13Rollup merge of #99646 - compiler-errors:arg-mismatch-single-arg-label, ↵Michael Goulet-1/+1
r=estebank Only point out a single function parameter if we have a single arg incompatibility Fixes #99635
2022-08-13Ban references to `Self` in trait object substs for projection predicates too.Camille GILLOT-1/+8
2022-08-12Point out a single arg if we have a single arg incompatibilityMichael Goulet-1/+1
2022-08-10Ban indirect references to `Self` too.Camille GILLOT-0/+19
2022-08-10Generalize trait object generic param check to aliases.Camille GILLOT-0/+184
2022-08-08Adjust wordingMichael Goulet-7/+6
2022-08-07Implement special-cased projection error message for some common traitsMichael Goulet-2/+3
2022-08-03Warn about dead tuple struct fieldsFabian Wolff-7/+7
2022-07-28Remove guess_head_span.Camille GILLOT-6/+5
2022-07-22Auto merge of #99420 - RalfJung:vtable, r=oli-obkbors-15/+68
make vtable pointers entirely opaque This implements the scheme discussed in https://github.com/rust-lang/unsafe-code-guidelines/issues/338: vtable pointers should be considered entirely opaque and not even readable by Rust code, similar to function pointers. - We have a new kind of `GlobalAlloc` that symbolically refers to a vtable. - Miri uses that kind of allocation when generating a vtable. - The codegen backends, upon encountering such an allocation, call `vtable_allocation` to obtain an actually dataful allocation for this vtable. - We need new intrinsics to obtain the size and align from a vtable (for some `ptr::metadata` APIs), since direct accesses are UB now. I had to touch quite a bit of code that I am not very familiar with, so some of this might not make much sense... r? `@oli-obk`
2022-07-20we seem to monomorphize fewer vtables by default now, so adjust some testsRalf Jung-15/+68
2022-07-20Rollup merge of #99352 - compiler-errors:tighter-spans-on-generic-call, ↵Matthias Krüger-17/+5
r=spastorino Use `typeck_results` to avoid duplicate `ast_ty_to_ty` call Comes with a bunch of improvements in spans :heart_eyes:
2022-07-19Add E0790 as more specific variant of E0283aticu-5/+11
2022-07-16Use typeck_results to avoid duplicate ast_ty_to_ty callMichael Goulet-17/+5
2022-07-16Rollup merge of #99290 - compiler-errors:revert-98794, r=lcnrMatthias Krüger-8/+1
Revert "Highlight conflicting param-env candidates" This reverts #98794, commit 08135254dcf22be0d5661ea8f75e703b29a83514. 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-15Revert "Highlight conflicting param-env candidates"Michael Goulet-8/+1
This reverts commit 08135254dcf22be0d5661ea8f75e703b29a83514.
2022-07-15passes: migrate half of `check_attr`David Wood-4/+4
Migrate half of the `rustc_passes::check_attr` diagnostics to using diagnostic derives and being translatable.
2022-07-11Rollup merge of #99075 - danobi:dup_type_hint_sugg, r=petrochenkovMatthias Krüger-8/+0
Fix duplicated type annotation suggestion Before, there was more or less duplicated suggestions to add type hints. Fix by clearing more generic suggestions when a more specific suggestion is possible. This fixes #93506 .
2022-07-11Rollup merge of #99147 - compiler-errors:issue-55673, r=lcnrDylan DPC-2/+2
Mention similarly named associated type even if it's not clearly in supertrait Due to query cycle avoidance, we sometimes restrict the candidates in `complain_about_assoc_type_not_found` too much so that we can't detect typo replacements from just supertraits. This creates a more general note of the existence of a similarly named associated type from _all_ visible traits when possible. Fixes #55673
2022-07-11Do not mention private Self types from other cratesMichael Goulet-1/+0
2022-07-11Mention similarly named associated type even if it's not clearly in supertraitMichael Goulet-2/+2
2022-07-08Fix duplicated type annotation suggestionDaniel Xu-8/+0
Before, there was more or less duplicated suggestions to add type hints. Fix by clearing more generic suggestions when a more specific suggestion is possible. This fixes #93506 .
2022-07-08distinguish the method and associated function diagnostic informationYiming Lei-5/+5
Methods are defined within the context of a struct and their first parameter is always self Associated functions don’t take self as a parameter modified: compiler/rustc_typeck/src/check/method/suggest.rs modified: src/test/ui/auto-ref-slice-plus-ref.stderr modified: src/test/ui/block-result/issue-3563.stderr modified: src/test/ui/issues/issue-28344.stderr modified: src/test/ui/suggestions/dont-suggest-pin-array-dot-set.stderr modified: src/test/ui/suggestions/suggest-methods.stderr modified: src/test/ui/traits/trait-upcasting/subtrait-method.stderr
2022-07-08Auto merge of #98816 - estebank:implicit-sized, r=oli-obkbors-9/+9
Track implicit `Sized` obligations in type params When we evaluate `ty::GenericPredicates` we introduce the implicit `Sized` predicate of type params, but we do so with only the `Predicate` its `Span` as context, we don't have an `Obligation` or `ObligationCauseCode` we could influence. To try and carry this information through, we add a new field to `ty::GenericPredicates` that tracks both which predicates come from a type param and whether that param has any bounds already (to use in suggestions). We also suggest adding a `?Sized` bound if appropriate on E0599. Address part of #98539.
2022-07-08Rollup merge of #98794 - compiler-errors:conflicting-param-env, ↵Dylan DPC-1/+8
r=michaelwoerister Highlight conflicting param-env candidates This could probably be further improved by noting _why_ equivalent param-env candidates (modulo regions) leads to ambiguity. Fixes #98786
2022-07-08Highlight conflicting param-env candidatesMichael Goulet-1/+8
2022-07-07Track implicit `Sized` obligations in type paramsEsteban Küber-9/+9
Suggest adding a `?Sized` bound if appropriate on E0599 by inspecting the HIR Generics. (Fix #98539)
2022-07-07Shorten span for closures.Camille GILLOT-1/+1
2022-07-02Auto merge of #91743 - cjgillot:enable_mir_inlining_inline_all, r=oli-obkbors-2/+3
Enable MIR inlining Continuation of https://github.com/rust-lang/rust/pull/82280 by `@wesleywiser.` #82280 has shown nice compile time wins could be obtained by enabling MIR inlining. Most of the issues in https://github.com/rust-lang/rust/issues/81567 are now fixed, except the interaction with polymorphization which is worked around specifically. I believe we can proceed with enabling MIR inlining in the near future (preferably just after beta branching, in case we discover new issues). Steps before merging: - [x] figure out the interaction with polymorphization; - [x] figure out how miri should deal with extern types; - [x] silence the extra arithmetic overflow warnings; - [x] remove the codegen fulfilment ICE; - [x] remove the type normalization ICEs while compiling nalgebra; - [ ] tweak the inlining threshold.
2022-07-01Auto merge of #98781 - GuillaumeGomez:rollup-798kb8u, r=GuillaumeGomezbors-7/+11
Rollup of 5 pull requests Successful merges: - #97249 (`<details>`/`<summary>` UI fixes) - #98418 (Allow macOS to build LLVM as shared library) - #98460 (Use CSS variables to handle theming) - #98497 (Improve some inference diagnostics) - #98708 (rustdoc: fix 98690 Panic if invalid path for -Z persist-doctests) Failed merges: - #98761 (more `need_type_info` improvements) r? `@ghost` `@rustbot` modify labels: rollup
2022-07-01Don't point at Self type if we can't find an infer variable in ambiguous ↵Michael Goulet-3/+3
trait predicate
2022-07-01Show source of ambiguity in a few more placesMichael Goulet-4/+8
2022-07-01Bless recursion test.Camille GILLOT-2/+3
2022-07-01Shorten def_span for more items.Camille GILLOT-99/+47
2022-06-28Note concrete type being coerced into objectMichael Goulet-5/+5
2022-06-28Auto merge of #98396 - cjgillot:iwfchir, r=petrochenkovbors-2/+2
Do not access HIR to check impl wf. r? `@ghost`
2022-06-27Auto merge of #98221 - cjgillot:single-coh, r=lcnrbors-21/+11
Perform coherence checking per impl. r? `@ghost`
2022-06-26add regression test for #87558Takayuki Maeda-0/+33
2022-06-25Rollup merge of #98298 - TaKO8Ki:point-to-type-param-definition, ↵Matthias Krüger-9/+13
r=compiler-errors Point to type parameter definition when not finding variant, method and associated item fixes #77391
2022-06-24Bless ui tests.Camille GILLOT-2/+2
2022-06-22Perform coherence checking per impl.Camille GILLOT-21/+11
2022-06-22point to type param definition when not finding variant, method and assoc typeTakayuki Maeda-9/+13
use `def_ident_span` , `body_owner_def_id` instead of `in_progress_typeck_results`, `guess_head_span` use `body_id.owner` directly add description to label
2022-06-21Move some tests to more reasonable directoriesCaio-0/+79
2022-06-16 fix one more case of trailing spaceklensy-7/+7