about summary refs log tree commit diff
path: root/src/test/ui/self
AgeCommit message (Collapse)AuthorLines
2020-11-10Rollup merge of #76765 - guswynn:async_return, r=tmandryJonas Schievink-96/+128
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-10-20review commentsEsteban Küber-3/+3
2020-10-20Tweak "object unsafe" errorsEsteban Küber-18/+25
Fix #77598.
2020-10-17Make it more clear when complaining about async fn's return typesGus Wynn-96/+128
2020-10-16stabilize union with 'ManuallyDrop' fields and 'impl Drop for Union'Ralf Jung-3/+0
2020-09-02pretty: trim paths of unique symbolsDan Aloni-8/+8
If a symbol name can only be imported from one place for a type, and as long as it was not glob-imported anywhere in the current crate, we can trim its printed path and print only the name. This has wide implications on error messages with types, for example, shortening `std::vec::Vec` to just `Vec`, as long as there is no other `Vec` importable anywhere. This adds a new '-Z trim-diagnostic-paths=false' option to control this feature. On the good path, with no diagnosis printed, we should try to avoid issuing this query, so we need to prevent trimmed_def_paths query on several cases. This change also relies on a previous commit that differentiates between `Debug` and `Display` on various rustc types, where the latter is trimmed and presented to the user and the former is not.
2020-07-22Further tweak wording of E0759 and introduce E0767Esteban Küber-4/+4
2020-07-09Reword incorrect `self` token suggestionEsteban Küber-3/+3
2020-06-19Account for multiple impl/dyn Trait in return type when suggesting `'_`Esteban Küber-0/+5
2020-06-15Change E0758 to E0759 to avoid conflict with #72912Esteban Küber-4/+4
2020-06-15small tweaksEsteban Küber-8/+3
2020-06-15Register new eror codeEsteban Küber-0/+2
2020-06-15Use note for requirement source spanEsteban Küber-6/+15
2020-06-15review comments: wordingEsteban Küber-3/+3
2020-06-15Tweak wording and add error codeEsteban Küber-7/+7
2020-06-15Reduce verbosity of suggestion message and mention lifetime in labelEsteban Küber-3/+3
2020-05-30Tweak wording and spans of `'static` `dyn Trait`/`impl Trait` requirementsEsteban Küber-18/+9
2020-05-30review comment: tweak wording and account for span overlapEsteban Küber-2/+2
2020-05-30Account for returned `dyn Trait` evaluating to `'static` lifetimeEsteban Küber-4/+4
Provide a suggestion for `dyn Trait + '_` when possible.
2020-05-07reword "possible candidate" import suggestionAndy Russell-1/+1
2020-03-23Update testsJohn Kåre Alsaker-16/+76
2020-03-12update testsMark Mansi-57/+57
2020-02-28Account for arbitrary self types in E0599Esteban Küber-5/+3
2020-02-28Tweak wordingEsteban Küber-1/+1
2020-02-28Mention the full path of the implementing traitEsteban Küber-1/+1
2020-02-28On single local candidate, use span labelEsteban Küber-3/+3
2020-02-27Revert "Backport only: avoid ICE on bad placeholder type"Esteban Küber-16/+2
This reverts commit 1cb555a1dc809a8d310354678ef9c43f01e41ad4.
2020-02-27Rollup merge of #69324 - estebank:ice-break-backport-bad-placeholder-type, ↵Yuki Okushi-2/+16
r=Centril Backport only: avoid ICE on bad placeholder type #69148 has a proper fix, but it is too big to backport. This change avoids the ICE by actually emitting an appropriate error. The output will be duplicated in some cases, but that's better than the avoidable ICE. r? @Centril
2020-02-22update some testsMark Mansi-57/+57
2020-02-20Backport only: avoid ICE on bad placeholder typeEsteban Küber-2/+16
#69148 has a proper fix, but it is too big to backport. This change avoids the ICE by actually emitting an appropriate error. The output will be duplicated in some cases, but that's better than the avoidable ICE.
2020-02-14Update testsMatthew Jasper-202/+5
2020-02-09--bless --compare-mode=nllMatthias Prechtl-1/+1
2020-02-02Use more appropriate spans on object unsafe traits and provide structured ↵Esteban Küber-7/+12
suggestions when possible
2020-02-02Wording changes to object unsafe trait errorsEsteban Küber-3/+13
Stemming from the thread at https://twitter.com/indygreg/status/1223279056398929920
2020-02-02compiletest: error if `compile-fail` header in ui test.Tyler Lanphear-15/+11
2020-01-08Unify output of "variant not found" errorsEsteban Küber-4/+4
2020-01-04Rollup merge of #66913 - VirrageS:help-self, r=varkor,CentrilMazdak Farrokhzad-0/+65
Suggest calling method when first argument is `self` Closes: #66782 I've explored different approaches for this MR but I think the most straightforward is the best one. I've tried to find out if the methods for given type exist (to maybe have a better suggestion), but we don't collect them anywhere and collecting them is quite problematic. Moreover, collecting all the methods would require rewriting big part of the code and also could potentially include performance degradation, which I don't think is necessary for this simple case.
2020-01-03Rollup merge of #67595 - ohadravid:impl-trait-does-not-live-long-enough, ↵Yuki Okushi-3/+3
r=estebank Suggest adding a lifetime constraint for opaque type Fixes #67577, where code like this: ``` struct List { data: Vec<String>, } impl List { fn started_with<'a>(&'a self, prefix: &'a str) -> impl Iterator<Item=&'a str> { self.data.iter().filter(|s| s.starts_with(prefix)).map(|s| s.as_ref()) } } ``` will show this error: ``` Compiling playground v0.0.1 (/playground) error[E0597]: `prefix` does not live long enough --> src/lib.rs:6:47 | 5 | fn started_with<'a>(&'a self, prefix: &'a str) -> impl Iterator<Item=&'a str> { | -- lifetime `'a` defined here --------------------------- opaque type requires that `prefix` is borrowed for `'a` ... ``` but without suggesting the lovely `help: you can add a constraint..`. r? @estebank
2019-12-31Change wording for lifetime suggestion for opaque types from `constraint` to ↵Ohad Ravid-3/+3
`bound`
2019-12-29Account for all item kinds when collecting and gateing `_` in item defsEsteban Küber-2/+2
2019-12-29Suggest type param when encountering `_` in fn defsEsteban Küber-2/+12
When encountering `_` type placeholder in fn arguments and return type, suggest using generic type parameters. Expand what counts as an inferable return type to slice, array and tuples of `_`.
2019-12-23Extend suggestion span to whole method callJanusz Marcinkiewicz-3/+9
2019-12-23Add arguments to suggestion method callJanusz Marcinkiewicz-3/+3
2019-12-23Add more detailed suggestionJanusz Marcinkiewicz-10/+19
2019-12-23Suggest calling method when first argument is `self`Janusz Marcinkiewicz-0/+50
2019-12-13parser: recover on `&'lifetime mut $pat`.Mazdak Farrokhzad-1/+1
2019-11-29remove get_named_spanMark Mansi-50/+28
2019-11-29improve lifetime errors with implicit trait object lifetimesMark Mansi-77/+78
2019-11-26Stabilize nested self receiversTaylor Cramer-288/+166
Previously, only Self, &Self, &mut Self, Arc<Self>, Rc<Self>, and Box<Self> were available as stable method receivers. This commit stabilizes nested uses of all the above types. However, nested receivers remain non-object-safe.
2019-11-21Rollup merge of #65730 - csmoe:return-lifetime, r=nikomatsakisMazdak Farrokhzad-4/+0
Suggest to add lifetime constraint at explicit ouput of functions Closes #62097