about summary refs log tree commit diff
path: root/src/test/ui/self
AgeCommit message (Collapse)AuthorLines
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
2019-11-13update suggestion ui testcsmoe-4/+0
2019-11-07Update ui testsGuillaume Gomez-0/+12
2019-10-27Point at local similarly named element and tweak references to variantsEsteban Küber-8/+8
Point at the span for the definition of ADTs internal to the current crate. Look at the leading char of the ident to determine whether we're expecting a likely fn or any of a fn, a tuple struct or a tuple variant. Turn fn `add_typo_suggestion` into a `Resolver` method.
2019-10-24Increase spacing for suggestions in diagnosticsEsteban Küber-0/+3
Make the spacing between the code snippet and verbose structured suggestions consistent with note and help messages.
2019-10-23Auto merge of #57545 - bovinebuddha:object_safe_for_dispatch, r=nikomatsakisbors-2/+45
Object safe for dispatch cc #43561