summary refs log tree commit diff
path: root/src/test/ui/liveness
AgeCommit message (Collapse)AuthorLines
2021-04-12Compiler error messages: reduce assertiveness of message E0384James Addison-8/+8
This message is emitted as guidance by the compiler when a developer attempts to reassign a value to an immutable variable. Following the message will always currently work, but it may not always be the best course of action; following the 'consider ...' messaging pattern provides a hint to the developer that it could be wise to explore other alternatives.
2021-02-28Bless some testsGiacomo Stevanato-10/+10
2020-10-21Bless liveness-asm outputOlivia Crain-3/+3
2020-10-21Limit liveness-asm tests to x86_64Olivia Crain-0/+1
2020-10-18Refactor liveness-issue-77915 to liveness-asm and improve testsOlivia Crain-36/+66
2020-10-17Mark inout asm! operands as used in liveness passOlivia Crain-0/+36
2020-09-29Liveness analysis for everybodyTomasz Miąsko-6/+143
Perform liveness analysis for every body instead of limiting it to fns.
2020-09-27liveness: Test interaction with automatically_derived attributeTomasz Miąsko-0/+53
2020-09-02pretty: trim paths of unique symbolsDan Aloni-5/+5
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-28Make closures and generators a must use typesTomasz Miąsko-9/+9
Warn about unused expressions with closure or generator type. This follows existing precedence of must use annotations present on `FnOnce`, `FnMut`, `Fn` traits, which already indirectly apply to closures in some cases, e.g.,: ```rust fn f() -> impl FnOnce() { || {} } fn main() { // an existing warning: unused implementer of `std::ops::FnOnce` that must be used: f(); // a new warning: unused closure that must be used: || {}; } ```
2020-05-29liveness: Warn about unused captured variablesTomasz Miąsko-0/+258
2020-04-12Rollup merge of #67766 - sapir:fix-unused-in-or-pattern-warning, r=matthewjasperDylan DPC-8/+8
Fix warning for unused variables in or pattern (issue #67691) Is this a good way to fix it? Also, the tests fail, the "fixed" code output says `{ i, j }` instead of `{ i, j: _ }`, how can I fix that?
2020-04-11rustc: Add a warning count upon completionRoccoDev-2/+2
2020-04-10Try to fix warning for unused variables in or patterns, issue #67691sapir-8/+8
2020-03-23Reword unused variable warningAlex Tokarev-8/+8
2020-02-06rustc_macros: don't limit the -Zmacro-backtrace suggestion to extern macros.Eduard-Mihai Burtescu-0/+2
2020-01-24Normalise notes with the/isvarkor-4/+4
2019-11-18Surround types with backticks in type errorsEsteban Küber-8/+8
2019-11-18Remove E0308 note when primary label has all infoEsteban Küber-24/+0
2019-11-18review comments: tweak prefix stringsEsteban Küber-16/+16
2019-09-21Do not trigger unreachable lint in async body and Use span labelsEsteban Küber-6/+3
2019-09-18Point at original span when emitting unreachable lintAaron Hill-0/+5
Fixes #64590 When we emit an 'unreachable' lint, we now add a note pointing at the expression that actually causes the code to be unreachable (e.g. `return`, `break`, `panic`). This is especially useful when macros are involved, since a diverging expression might be hidden inside of a macro invocation.
2019-08-09review comments: typo and rewordingEsteban Küber-6/+6
2019-08-09review comment: review wording or missing return errorEsteban Küber-6/+6
2019-08-09Tweak wording of fn without explicit returnEsteban Küber-6/+6
2019-08-09Change wording for function without return valueEsteban Küber-6/+6
Fix #62677
2019-07-17normalize use of backticks in compiler messages for librustc/lintSamy Kacimi-2/+2
https://github.com/rust-lang/rust/issues/60532
2019-07-06Make WhileTrue into an EarlyLintPass lint.Mazdak Farrokhzad-0/+23
2019-04-22update tests for migrate mode by defaultMatthew Jasper-247/+50
2019-03-17Updated UI test output to remove test annotations for revisionsMathias Blikstad-24/+24
2019-03-11Update NLL testsVadim Petrochenkov-5/+5
2019-03-11Update testsVadim Petrochenkov-17/+17
2019-01-28Unused variable suggestions on all patterns.David Wood-8/+8
This commit extends existing suggestions to prefix unused variable bindings in match arms with an underscore so that it applies to all patterns in a match arm.
2019-01-24Fix --compare-mode=nll testsEsteban Küber-10/+13
2019-01-19Rollup merge of #57723 - estebank:fix, r=davidtwcoMazdak Farrokhzad-1/+1
Point at cause for expectation in return type type error Various improvements and fixes for type errors in return expressions. Fix #57664.
2019-01-18Rollup merge of #57302 - sinkuu:unused_assignments_fp, r=estebankMazdak Farrokhzad-0/+9
Fix unused_assignments false positive Fixes #22630. In liveness analysis, make `continue` jump to the loop condition's `LiveNode` (`cond` as in comment) instead of the loop's one (`expr`). https://github.com/rust-lang/rust/blob/069b0c410808c1d1d33b495e048b1186e9f8d57f/src/librustc/middle/liveness.rs#L1358-L1370
2019-01-18Point at return type when appropriateEsteban Küber-1/+1
2019-01-05Auto merge of #57230 - estebank:return-mismatch, r=varkorbors-30/+30
Modify mismatched type error for functions with no return Fix #50009. ``` error[E0308]: mismatched types --> $DIR/coercion-missing-tail-expected-type.rs:3:24 | LL | fn plus_one(x: i32) -> i32 { //~ ERROR mismatched types | -------- ^^^ expected i32, found () | | | this function's body doesn't return LL | x + 1; | - help: consider removing this semicolon | = note: expected type `i32` found type `()` ``` instead of ``` error[E0308]: mismatched types --> $DIR/coercion-missing-tail-expected-type.rs:3:28 | LL | fn plus_one(x: i32) -> i32 { //~ ERROR mismatched types | ____________________________^ LL | | x + 1; | | - help: consider removing this semicolon LL | | } | |_^ expected i32, found () | = note: expected type `i32` found type `()` ```
2019-01-03Fix unused_assignments false positiveShotaro Yamada-0/+9
Make `continue` jump to the loop condition's `LiveNode` instead of one of the loop body.
2018-12-30Tweak E0308 error for clarityEsteban Küber-18/+16
2018-12-30Point at function name spanEsteban Küber-16/+29
2018-12-30Point at the return type span on type mismatch due to missing returnEsteban Küber-30/+19
Do not point at the entire block span on fn return type mismatches caused by missing return.
2018-12-29add non-copy note to stderrcsmoe-0/+2
2018-12-25Remove licensesMark Rousskov-212/+53
2018-12-24make non_camel_case_types an early lintAndy Russell-3/+3
2018-12-07Change to give a help messageJohn Ginger-6/+10
2018-12-03Fix stderr filesJohn Ginger-0/+6
2018-10-16updates to expected output for other ui tests.Felix S. Klock II-1/+1
2018-09-28test fix for #54015Rusty Blitzerr-0/+22
2018-09-28Test fixes for the change of error message for issue #54015Rusty Blitzerr-1/+1