about summary refs log tree commit diff
path: root/src/test
AgeCommit message (Collapse)AuthorLines
2019-03-26Rollup merge of #59267 - estebank:assoc-const-as-field, r=davidtwcoMazdak Farrokhzad-1/+25
Provide suggestion when using field access instead of path When trying to access an associated constant as if it were a field of an instance, provide a suggestion for the correct syntax. Fix #57316.
2019-03-26Rollup merge of #59150 - estebank:type-ascription, r=varkorMazdak Farrokhzad-0/+177
Expand suggestions for type ascription parse errors Fix #51222. CC #48016, #47666, #54516, #34255.
2019-03-25review commentsEsteban Küber-3/+13
2019-03-25When moving out of a for loop head, suggest borrowing it in nll modeEsteban Küber-22/+14
2019-03-25Reject integer suffix when tuple indexingEsteban Küber-0/+17
2019-03-25Update testsJohn Kåre Alsaker-26/+26
2019-03-25Auto merge of #59258 - euclio:suggestions-filter-crate, r=oli-obkbors-1/+24
filter suggestions from extern prelude Fixes #59027. Modifies the candidate gathering code to call `filter_fn` on extern crates, which causes them to be filtered out when looking for a type.
2019-03-25Auto merge of #59242 - euclio:asm-ice, r=nagisabors-0/+27
make asm diagnostic instruction optional `DiagnosticInfoInlineAsm::getInstruction` may return a null pointer, so the instruction shouldn't be blindly unwrapped. Reopening from #55193. I was unable to trigger the assertion on Windows after rebasing. Fixes #23458. Fixes #55216.
2019-03-25Auto merge of #59240 - euclio:struct-field-span, r=oli-obkbors-7/+7
use the identifier span for missing struct field
2019-03-25compiletest: make path normalization smarterAndy Russell-149/+149
2019-03-24Deduplicate code for path suggestionEsteban Küber-2/+2
2019-03-24Provide suggestion when using field access instead of pathEsteban Küber-0/+24
When trying to access an associated constant as if it were a field of an instance, provide a suggestion for the correct syntax.
2019-03-25Auto merge of #59195 - estebank:for-loop-move, r=petrochenkovbors-0/+58
When moving out of a for loop head, suggest borrowing it When encountering code like the following, suggest borrowing the for loop head to avoid moving it into the for loop pattern: ``` fn main() { let a = vec![1, 2, 3]; for i in &a { for j in a { println!("{} * {} = {}", i, j, i * j); } } } ``` Fix #25534.
2019-03-24Auto merge of #59382 - davidtwco:rfc-2008-refactoring, r=petrochenkovbors-2/+2
Separate `DefId`s for variants and their constructors Part of #44109. Split off from #59376. See [Zulip topic](https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/rfc-2008/near/132663140) for previous discussion. r? @petrochenkov
2019-03-24Add nll testEsteban Küber-0/+24
2019-03-24When moving out of a for loop head, suggest borrowing itEsteban Küber-0/+34
When encountering code like the following, suggest borrowing the for loop head to avoid moving it into the for loop pattern: ``` fn main() { let a = vec![1, 2, 3]; for i in &a { for j in a { println!("{} * {} = {}", i, j, i * j); } } } ```
2019-03-24Auto merge of #59397 - kennytm:rollup, r=kennytmbors-12/+66
Rollup of 7 pull requests Successful merges: - #59213 (Track changes to robots.txt) - #59239 (Remove inline assembly from hint::spin_loop) - #59251 (Use a valid name for graphviz graphs) - #59296 (Do not encode gensymed imports in metadata) - #59328 (Implement specialized nth_back() for Box and Windows.) - #59355 (Fix ICE with const generic param in struct) - #59377 (Correct minimum system LLVM version in tests)
2019-03-24make asm diagnostic instruction optionalAndy Russell-0/+27
`DiagnosticInfoInlineAsm::getInstruction` may return a null pointer, so the instruction shouldn't be blindly unwrapped.
2019-03-24replace redundant note in deprecation warningAndy Russell-5/+71
2019-03-24Merge `DefPathData::VariantCtor` and `DefPathData::StructCtor`Vadim Petrochenkov-2/+2
2019-03-24Rollup merge of #59377 - smaeul:patch/system-llvm, r=nikickennytm-12/+12
Correct minimum system LLVM version in tests Since commit 9452a8dfa3ba, the new debug info format is only generated for LLVM 8 and newer versions. However, the tests still assume that LLVM 7 will use the new debug info format. Fix the tests (and a comment in the code) to match the actual version check.
2019-03-24Auto merge of #58305 - scalexm:chalk-continued, r=nikomatsakisbors-5/+31
(WIP) Small fixes in chalkification Small fixes around region constraints and builtin impls. There are still some type inference errors, for example the following code errors out: ```rust fn main() { let mut x: Vec<i32> = Vec::new(); // ^^^^^^^^ cannot infer type for `std::vec::Vec<_>` } ``` but explicitly specifying `Vec::<i32>::new` works. With these few fixes, the following code now passes type-checking: ```rust fn main() { let mut x: Vec<i32> = Vec::<i32>::new(); x.push(5); println!("{:?}", x); } ``` I also fixed the implied bounds bug as discussed on Zulip and in https://github.com/rust-lang-nursery/chalk/pull/206 cc @tmandry r? @nikomatsakis
2019-03-24Rollup merge of #59355 - varkor:const-param-struct-ice, r=petrochenkovkennytm-0/+21
Fix ICE with const generic param in struct Fixes https://github.com/rust-lang/rust/issues/59340. r? @petrochenkov
2019-03-24Rollup merge of #59296 - petrochenkov:stdup, r=estebankkennytm-0/+10
Do not encode gensymed imports in metadata (Unless they are underscore `_` imports which are re-gensymed on crate loading, see https://github.com/rust-lang/rust/pull/56392.) We cannot encode gensymed imports properly in metadata and if we encode them improperly, we can get erroneous name conflicts downstream. Gensymed imports are produced by the compiler, so we control their set, and can be sure that none of them needs being encoded for use from other crates. A workaround that fixes https://github.com/rust-lang/rust/issues/59243.
2019-03-24Rollup merge of #59251 - matthewjasper:fix-graphviz, r=petrochenkovkennytm-0/+23
Use a valid name for graphviz graphs Hiridification has broken graphviz output because `HirId` has a more complex display implemetation than `NodeId`. Since the id was just used to generate a distinct identifier, we just pull out the various constituent indexed.
2019-03-24Separate variant id and variant constructor id.David Wood-2/+2
This commit makes two changes - separating the `NodeId` that identifies an enum variant from the `NodeId` that identifies the variant's constructor; and no longer creating a `NodeId` for `Struct`-style enum variants and structs. Separation of the variant id and variant constructor id will allow the rest of RFC 2008 to be implemented by lowering the visibility of the variant's constructor without lowering the visbility of the variant itself. No longer creating a `NodeId` for `Struct`-style enum variants and structs mostly simplifies logic as previously this `NodeId` wasn't used. There were various cases where the `NodeId` wouldn't be used unless there was an unit or tuple struct or enum variant but not all uses of this `NodeId` had that condition, by removing this `NodeId`, this must be explicitly dealt with. This change mostly applied cleanly, but there were one or two cases in name resolution and one case in type check where the existing logic required a id for `Struct`-style enum variants and structs.
2019-03-24Auto merge of #59199 - estebank:untrack-errors, r=eddybbors-1/+5
Remove `track_errors` from `check_match`, `typeck_item_bodies` and `register_plugins` In the spirit of continuing through errors in type checking (#39275), remove `track_errors` from a couple of locations in the codebase.
2019-03-23Fix span after rebaseEsteban Küber-9/+3
2019-03-23Mark duplicate import removal suggestion tool onlyEsteban Küber-10/+0
2019-03-23Deduplicate const eval error spans for better outputEsteban Küber-28/+12
2019-03-23Hide obvious suggestion from cli outputEsteban Küber-21/+9
2019-03-23Tweak unnecessary import suggestionEsteban Küber-44/+24
2019-03-23Tweak unsupported negative trait bounds messageEsteban Küber-30/+40
2019-03-23Swap primary/secondary spans for E0458Esteban Küber-4/+4
2019-03-23Swap const evaluation lint spans to point at problem in primary spanEsteban Küber-304/+344
2019-03-23Tweak spans for E0599Esteban Küber-126/+60
2019-03-23syntax: Remove warning for unnecessary path disambiguatorsVadim Petrochenkov-57/+9
2019-03-23Fix invalid DWARF for enums when using thinltoPhilip Craig-0/+48
We were setting the same identifier for both the DW_TAG_structure_type and the DW_TAG_variant_part. This becomes a problem when using thinlto becauses it uses the identifier as a key for a map of types that is used to delete duplicates based on the ODR, so one of them is deleted as a duplicate, resulting in invalid DWARF. The DW_TAG_variant_part isn't a standalone type, so it doesn't need an identifier. Fix by omitting its identifier.
2019-03-23fs::copy() set file mode earlyHarald Hoyer-4/+9
A convenience method like fs::copy() should try to prevent pitfalls a normal user doesn't think about. In case of an empty umask, setting the file mode early prevents temporarily world readable or even writeable files, because the default mode is 0o666. In case the target is a named pipe or special device node, setting the file mode can lead to unwanted side effects, like setting permissons on `/dev/stdout` or for root setting permissions on `/dev/null`. copy_file_range() returns EINVAL, if the destination is a FIFO/pipe or a device like "/dev/null", so fallback to io::copy, too. Use `fcopyfile` on MacOS instead of `copyfile`. Fixes: https://github.com/rust-lang/rust/issues/26933 Fixed: https://github.com/rust-lang/rust/issues/37885
2019-03-23Auto merge of #59058 - petrochenkov:assocrecov3, r=estebankbors-4/+135
syntax: Better recovery for `$ty::AssocItem` and `ty!()::AssocItem` This PR improves on https://github.com/rust-lang/rust/pull/46788 covering a few missing cases. Fixes https://github.com/rust-lang/rust/issues/52307 Fixes https://github.com/rust-lang/rust/issues/53776 r? @estebank
2019-03-22review commentsEsteban Küber-1/+1
2019-03-22Add suggestion to use `&*var` when `&str: From<String>` is expectedEsteban Küber-0/+23
2019-03-22Continue running after `typeck_item_bodies` has failedEsteban Küber-1/+5
2019-03-22Reword type ascription note to reduce verbosityEsteban Küber-60/+10
2019-03-22Review commentEsteban Küber-10/+10
2019-03-22Hide "type ascription is experimental error" unless it's the only oneEsteban Küber-24/+5
In order to minimize the verbosity of common syntax errors that are parsed as type ascription, hide the feature gate error unless there are no other errors being emitted by the parser.
2019-03-22Only suggest let assignment for type ascription if we find an equals signEsteban Küber-9/+3
2019-03-22Tweak labelsEsteban Küber-5/+1
2019-03-22Expand suggestions for type ascription parse errorsEsteban Küber-0/+256
2019-03-23Auto merge of #58929 - estebank:elide-object, r=zackmdavisbors-0/+33
Elide object safety errors on non-existent trait function Fix #58734. r? @zackmdavis