about summary refs log tree commit diff
path: root/src/test
AgeCommit message (Collapse)AuthorLines
2020-06-04Rollup merge of #72923 - Patryk27:fix/52468, r=estebankDylan DPC-6/+68
Improve E0433, so that it suggests missing imports Closes #52468
2020-06-04Rollup merge of #72718 - estebank:impl-trait-obligation-failure, r=matthewjasperDylan DPC-0/+33
Add regression test for #72554 Fix #72554.
2020-06-03Rollup merge of #72900 - jsgf:no-unused-pathless, r=petrochenkovDylan DPC-0/+12
Don't count pathless --extern for unused-crate-dependencies warnings `--extern proc_macro` is used to add the proc_macro crate to the extern prelude for all procmacros. In general pathless `--extern` only references sysroot/standard libraries and so should be exempt from unused-crate-dependencies warnings. r? @petrochenkov
2020-06-03Auto merge of #70107 - lcnr:issue68977, r=eddybbors-16/+172
WF-check all ty::Const's, not just array lengths. fixes #68977 This PR removes the special case for array length in `wf::compute` and checks the well formedness of all consts. Changes `PredicateKind::WellFormed` to take a `GenericArg` and updates `wf::obligations`.
2020-06-03Rollup merge of #72902 - cuviper:fuse-covariant, r=nikomatsakisDylan DPC-2/+3
Add a test to ensure Fuse stays covariant When #70502 attempted to specialize the data types in `Fuse`, one of the problems we found was that it broke variance. This was also realized when `Fuse` was first added, https://github.com/rust-lang/rust/pull/35656#discussion-diff-74995079, but now this PR adds a test so we don't forget again.
2020-06-03Rollup merge of #72848 - camelid:fix-72815, r=varkorDylan DPC-2/+2
Correct generic parameter ordering in error note for E0747 Fixes #72815. r? @varkor
2020-06-03Rollup merge of #72820 - jonas-schievink:instcombine-uninit, r=oli-obkDylan DPC-4/+17
InstCombine: Don't optimize `&mut *x` into `x` Fixes https://github.com/rust-lang/rust/issues/72797
2020-06-02Improve E0433, so that it suggests missing importsPatryk Wychowaniec-6/+68
2020-06-02update testsBastian Kauschke-6/+32
2020-06-02add WellFormedConst predicateBastian Kauschke-10/+140
2020-06-02compiletest: Add name directive for remote runnersTom Eccles-0/+2
Allow tests to use // ignore-remote to ignore the test when using remote-test-{client,server}. In most situations this would be covered by // ignore-cross-compile but I see no reason that a non-cross compiled remote test runner shouldn't work.
2020-06-02Rollup merge of #72893 - RalfJung:unleash-tls, r=ecstatic-morseYuki Okushi-3/+55
test miri-unleash TLS accesses Finally gets rid of `IS_SUPPORTED_IN_MIRI`. :-) I also added a test for the new `asm!` while I am at it. r? @ecstatic-morse Cc @rust-lang/wg-const-eval
2020-06-02Rollup merge of #72825 - Amanieu:asm-warning, r=davidtwcoYuki Okushi-10/+16
Clarify errors and warnings about the transition to the new asm! Hopefully addresses the concerns from https://github.com/rust-lang/rust/pull/71007#issuecomment-636412905.
2020-06-02Rollup merge of #72795 - petrochenkov:identgroup, r=nikomatsakisYuki Okushi-33/+99
Add a test for `$:ident` in proc macro input cc https://github.com/rust-lang/rust/issues/72545#issuecomment-636388019
2020-06-02Rollup merge of #72775 - JohnTitor:await-sugg, r=estebankYuki Okushi-0/+35
Return early to avoid ICE Fixes #72766
2020-06-01Add a test to ensure Fuse stays covariantJosh Stone-2/+3
2020-06-01Don't count pathless --extern options for unused-crate-dependencies warningsJeremy Fitzhardinge-0/+12
`--extern proc_macro` is used to add the proc_macro crate to the extern prelude for all procmacros. In general pathless `--extern` only references sysroot/standard libraries and so should be exempt from unused-crate-dependencies warnings.
2020-06-02Fix commentRalf Jung-1/+1
Co-authored-by: Aaron Hill <aa1ronham@gmail.com>
2020-06-01test miri-unleash TLS accessesRalf Jung-3/+55
2020-06-01Add test for #72554.Esteban Küber-0/+33
2020-06-01Auto merge of #71192 - oli-obk:eager_alloc_id_canonicalization, r=wesleywiserbors-0/+53
Make TLS accesses explicit in MIR r? @rust-lang/wg-mir-opt cc @RalfJung @vakaras for miri thread locals cc @bjorn3 for cranelift fixes #70685
2020-05-31Correct generic parameter ordering in error notecamelid-2/+2
2020-06-01Rollup merge of #72823 - matthewjasper:describe-queries, r=eddybDylan DPC-56/+61
Add descriptions for all queries This also removes the default description for queries with DefId keys and makes the macro validate that a description is provided. cc #72730 r? @eddyb
2020-05-31Rollup merge of #72807 - xiaotianrandom:fix-assoc-type-diagnostics, r=estebankDylan DPC-0/+29
Avoid setting wrong obligation cause span of associated type mismatch Removes code that sets wrong obligation cause span of associated type mismatch. See the linked issue for details. Closes #72806.
2020-05-31Add descriptions for all queriesMatthew Jasper-56/+61
2020-05-31Clarify errors and warnings about the transition to the new asm!Amanieu d'Antras-10/+16
2020-05-31InstCombine: Don't optimize `&mut *x` into `x`Jonas Schievink-4/+17
2020-05-31Rollup merge of #72715 - estebank:trailing-comma-where, r=petrochenkovRalf Jung-1/+1
Account for trailing comma when suggesting `where` clauses Fix #72693.
2020-05-31Add a test for wrong assoc type diagnosticsXIAO Tian-0/+29
2020-05-31Add a test for `$:ident` in proc macro inputVadim Petrochenkov-0/+94
2020-05-31test-macros: Avoid always producing errors in `#[derive(Print)]`Vadim Petrochenkov-33/+5
2020-05-30Rollup merge of #72772 - RalfJung:valid-char, r=petrochenkovRalf Jung-1/+1
miri validation: clarify valid values of 'char' The old text said "expected a valid unicode codepoint", which is not actually correct -- it has to be a scalar value (which is a code point that is not part of a surrogate pair).
2020-05-30Rollup merge of #72757 - petrochenkov:shebang, r=varkorRalf Jung-0/+14
rustc_lexer: Optimize shebang detection slightly Sorry, I just couldn't resist. It shouldn't make any difference in practice. Also, documented a previously unnoticed case with doc comments treated as regular comments during shebang detection.
2020-05-30Rollup merge of #72668 - ↵Ralf Jung-0/+68
awoimbee:give-fn-parenthetical-notation-parentheses, r=estebank Fix missing parentheses Fn notation error Fixes #72611 Well, fixes the error output, I think E0658 is the right error to throw in this case so I didn't change that
2020-05-30Rollup merge of #72666 - ivanloz:profile_emit_flag, r=matthewjasperRalf Jung-0/+3
Add -Z profile-emit=<path> for Gcov gcda output. Adds a -Z flag to control the file path that the Gcov gcda output is written to during runtime. This flag expects a path and filename, e.g. -Z profile-emit=gcov/out/lib.gcda. This works similar to GCC/Clang's -fprofile-dir flag which allows control over the output path for gcda coverage files.
2020-05-30Rollup merge of #72657 - flip1995:impl_lint_pass-ty, r=matthewjasperRalf Jung-0/+26
Allow types (with lifetimes/generics) in impl_lint_pass cc https://github.com/rust-lang/rust-clippy/pull/5279#discussion_r430790267 This allows to implement `LintPass` for types with lifetimes and/or generics. The only thing, I'm not sure of is the `LintPass::name` function, which now includes the lifetime(s) (which will be `'_` most of the time) in the name returned for the lint pass, if it exists. But I don't think that this should be a problem, since the `LintPass::name` is never used for output for the user (?).
2020-05-30Rollup merge of #72637 - euclio:env-hygiene, r=davidtwcoRalf Jung-0/+8
expand `env!` with def-site context Similar to #66349. Fixes rust-lang/rust-clippy#5619.
2020-05-30Rollup merge of #72625 - Amanieu:asm-srcloc, r=petrochenkovRalf Jung-12/+133
Improve inline asm error diagnostics Previously we were just using the raw LLVM error output (with line, caret, etc) as the diagnostic message, which ends up looking rather out of place with our existing diagnostics. The new diagnostics properly format the diagnostics and also take advantage of LLVM's per-line `srcloc` attribute to map an error in inline assembly directly to the relevant line of source code. Incidentally also fixes #71639 by disabling `srcloc` metadata during LTO builds since we don't know what crate it might have come from. We can only resolve `srcloc`s from the currently crate since it indexes into the source map for the current crate. Fixes #72664 Fixes #71639 r? @petrochenkov ### Old style ```rust #![feature(llvm_asm)] fn main() { unsafe { let _x: i32; llvm_asm!( "mov $0, $1 invalid_instruction $0, $1 mov $0, $1" : "=&r" (_x) : "r" (0) :: "intel" ); } } ``` ``` error: <inline asm>:3:14: error: invalid instruction mnemonic 'invalid_instruction' invalid_instruction ecx, eax ^~~~~~~~~~~~~~~~~~~ --> src/main.rs:6:9 | 6 | / llvm_asm!( 7 | | "mov $0, $1 8 | | invalid_instruction $0, $1 9 | | mov $0, $1" ... | 12 | | :: "intel" 13 | | ); | |__________^ ``` ### New style ```rust #![feature(asm)] fn main() { unsafe { asm!( "mov {0}, {1} invalid_instruction {0}, {1} mov {0}, {1}", out(reg) _, in(reg) 0i64, ); } } ``` ``` error: invalid instruction mnemonic 'invalid_instruction' --> test.rs:7:14 | 7 | invalid_instruction {0}, {1} | ^ | note: instantiated into assembly here --> <inline asm>:3:14 | 3 | invalid_instruction rax, rcx | ^^^^^^^^^^^^^^^^^^^ ```
2020-05-30Tweak wording and spans of `'static` `dyn Trait`/`impl Trait` requirementsEsteban Küber-135/+65
2020-05-30Account for enclosing item when suggesting new lifetime nameEsteban Küber-10/+63
2020-05-30Tweak type parameter errors to reduce verbosityEsteban Küber-363/+55
2020-05-30Update nll testsEsteban Küber-8/+29
2020-05-30review comment: tweak wording and account for span overlapEsteban Küber-21/+20
2020-05-30Account for returned `dyn Trait` evaluating to `'static` lifetimeEsteban Küber-63/+114
Provide a suggestion for `dyn Trait + '_` when possible.
2020-05-30Fix NLL outputEsteban Küber-12/+98
2020-05-30Improve output of argument anonymous borrow missing annotation involving ↵Esteban Küber-68/+19
opaque return type Go from ``` error[E0495]: cannot infer an appropriate lifetime due to conflicting requirements --> file8.rs:22:5 | 22 | / move || { 23 | | *dest = g.get(); 24 | | } | |_____^ | note: first, the lifetime cannot outlive the anonymous lifetime #1 defined on the function body at 18:1... --> file8.rs:18:1 | 18 | / fn bat<'a, G: 'a, T>(g: G, dest: &mut T) -> impl FnOnce() + '_ + 'a 19 | | where 20 | | G: Get<T> 21 | | { ... | 24 | | } 25 | | } | |_^ note: ...so that the types are compatible --> file8.rs:22:5 | 22 | / move || { //~ ERROR cannot infer an appropriate lifetime 23 | | *dest = g.get(); 24 | | } | |_____^ = note: expected `&mut T` found `&mut T` note: but, the lifetime must be valid for the lifetime `'a` as defined on the function body at 18:8... --> file8.rs:18:8 | 18 | fn bat<'a, G: 'a, T>(g: G, dest: &mut T) -> impl FnOnce() + '_ + 'a | ^^ note: ...so that return value is valid for the call --> file8.rs:18:45 | 18 | fn bat<'a, G: 'a, T>(g: G, dest: &mut T) -> impl FnOnce() + '_ + 'a | ^^^^^^^^^^^^^^^^^^^^^^^ ``` to ``` error[E0621]: explicit lifetime required in the type of `dest` --> file8.rs:18:45 | 18 | fn bat<'a, G: 'a, T>(g: G, dest: &mut T) -> impl FnOnce() + '_ + 'a | ------ ^^^^^^^^^^^^^^^^^^^^^^^ lifetime `'a` required | | | help: add explicit lifetime `'a` to the type of `dest`: `&'a mut T` ```
2020-05-30Account for missing lifetime in opaque return typeEsteban Küber-0/+246
When encountering an opaque closure return type that needs to bound a lifetime to the function's arguments, including borrows and type params, provide appropriate suggestions that lead to working code. Get the user from ```rust fn foo<G, T>(g: G, dest: &mut T) -> impl FnOnce() where G: Get<T> { move || { *dest = g.get(); } } ``` to ```rust fn foo<'a, G: 'a, T>(g: G, dest: &'a mut T) -> impl FnOnce() +'a where G: Get<T> { move || { *dest = g.get(); } } ```
2020-05-30Test ui suggestion fn trait notationArthur Woimbée-0/+68
2020-05-30Rollup merge of #72607 - Amanieu:fix-72570, r=oli-obkRalf Jung-0/+18
Eagerly lower asm sub-expressions to HIR even if there is an error Fixes #72570 r? @oli-obk
2020-05-30Rollup merge of #72585 - Aaron1011:feature/opt-item-tokens, r=petrochenkovRalf Jung-2/+2
Only capture tokens for items with outer attributes Suggested by @petrochenkov in https://github.com/rust-lang/rust/issues/43081#issuecomment-633389225