Commit graph

3776 commits

Author SHA1 Message Date
Pietro Albini
6ecbb05d76
Rollup merge of #55968 - ehuss:non-mod-rs-tests, r=petrochenkov
Clean up some non-mod-rs stuff.

This includes the following:
- Remove unused `non_modrs_mods` from `ParseSess` which as only used for feature gate diagnostics.
- Remove the vestiges of the feature gate tests in `test/ui`, they were only partially removed during stabilization.
- Fix the run-pass test, it was accidentally removed during stabilization.
- Add a ui test to verify error behavior for missing inline-nested mods.
- Add some tests for `#[path]` for inline-nested mods (both mod and non-mod-rs).
- Enable the diagnostic tests on windows, they should be fixed by #49478.

cc @cramertj
2018-11-19 22:06:26 +08:00
Oliver Scherer
bc543d7e6c Allow assignments in const contexts 2018-11-19 11:19:14 +01:00
Oliver Scherer
8ee9711a6c Replace the ICEing on const fn loops with an error 2018-11-19 10:40:09 +01:00
bors
7e82eda000 Auto merge of #56042 - petrochenkov:nuni, r=petrochenkov
[nightly] resolve: Implement uniform paths 2.0

Forward-port of https://github.com/rust-lang/rust/pull/55884 to nightly.

r? @ghost
2018-11-19 02:59:29 +00:00
Pietro Albini
715d83fe01
Rollup merge of #55923 - Zeegomo:master, r=estebank
reword #[test] attribute error on fn items

fix of [#55787](https://github.com/rust-lang/rust/issues/55787)
Reworded error message from "#[test] attribute is only allowed on fn items" to "#[test] attribute is only allowed on non associated functions"
2018-11-18 23:24:43 +01:00
Pietro Albini
131a7553e1
Rollup merge of #55894 - RalfJung:validation-enums, r=oli-obk
miri enum discriminant handling: Fix treatment of pointers, better error when it is undef

r? @oli-obk
2018-11-18 23:24:39 +01:00
Pietro Albini
9577734ff3
Rollup merge of #55862 - zackmdavis:but_will_they_come_when_you_call_them, r=estebank
in which the E0618 "expected function" diagnostic gets a makeover

A woman of wisdom once told me, "Better late than never." (Can't reopen the previously-closed pull request from six months ago [due to GitHub limitations](https://github.com/rust-lang/rust/pull/51098#issuecomment-437647157).)

Now the main span focuses on the erroneous not-a-function callee, while showing the entire call expression is relegated to a secondary span. In the case where the erroneous callee is itself a call, we
point out the definition, and, if the call expression spans multiple lines, tentatively suggest a semicolon (because we suspect that the "outer" call is actually supposed to be a tuple).

![not_a_fn_1](https://user-images.githubusercontent.com/1076988/48309935-96755000-e538-11e8-9390-02a048abb0c2.png)

![not_a_fn_2](https://user-images.githubusercontent.com/1076988/48309936-98d7aa00-e538-11e8-8b9b-257bc77d6261.png)

The new `bug!` assertion is, in fact, safe (`confirm_builtin_call` is only called by `check_call`, which is only called with a first arg of kind `ExprKind::Call` in `check_expr_kind`).

Resolves #51055.

r? @estebank
2018-11-18 23:24:37 +01:00
bors
a9b791b3c0 Auto merge of #55672 - RalfJung:miri-extern-types, r=eddyb
miri: accept extern types in structs if they are the only field

Fixes https://github.com/rust-lang/rust/issues/55541

Cc @oli-obk @eddyb https://github.com/rust-lang/rust/issues/43467
2018-11-18 22:19:53 +00:00
Niko Matsakis
a5b4cb2991 remove "approx env bounds" if we already know from trait 2018-11-18 15:00:34 -05:00
Vadim Petrochenkov
38025e0dca Fix rebase 2018-11-18 14:41:06 +03:00
Matthew Jasper
b16985a354 Remove mir::StatementKind::EndRegion
Since lexical MIR borrow check is gone, and validation no longer uses
these, they can be removed.
2018-11-18 11:05:19 +00:00
Vadim Petrochenkov
139d109241 Add a couple more tests + address review comments 2018-11-18 13:58:40 +03:00
Vadim Petrochenkov
a5f9bd02b1 resolve: Future-proof against imports referring to local variables and generic parameters 2018-11-18 13:58:39 +03:00
Vadim Petrochenkov
4fc3c13e32 resolve: Avoid sentence breaks in diagnostics 2018-11-18 13:58:36 +03:00
Vadim Petrochenkov
8e88c3470a resolve: Reintroduce feature gate for uniform paths in imports 2018-11-18 13:57:04 +03:00
Vadim Petrochenkov
a38f903114 Fix ICEs from imports of items not defined in modules 2018-11-18 13:57:03 +03:00
Vadim Petrochenkov
cfd762954b resolve: Tweak some articles in ambiguity diagnostics 2018-11-18 13:57:03 +03:00
Vadim Petrochenkov
cfe81559ee resolve: Recover "did you mean" suggestions in imports 2018-11-18 13:57:01 +03:00
Vadim Petrochenkov
4c5d822a8b resolve: Check resolution consistency for import paths and multi-segment macro paths 2018-11-18 13:55:58 +03:00
Vadim Petrochenkov
07af4ec7a2 resolve: Resolve single-segment imports using in-scope resolution on 2018 edition 2018-11-18 13:51:43 +03:00
Vadim Petrochenkov
1cfd08c0c4 resolve: More precise determinacy tracking during import/macro resolution 2018-11-18 13:51:42 +03:00
Vadim Petrochenkov
f0ea1c6f1e resolve: Improve diagnostics for resolution ambiguities 2018-11-18 13:51:40 +03:00
Oliver Scherer
eb18ddd8f4 Don't auto-inline const fn 2018-11-17 17:50:37 +01:00
giacomo
8e13e433c6 tidy check fix 2018-11-17 12:28:04 +01:00
giacomo
2b7c3fb725 add test for #[test] attribute only allowed on non associated functions 2018-11-17 11:39:58 +01:00
csmoe
d93e5b04f4 reserve whitespaces between prefix and pipe 2018-11-17 17:57:17 +08:00
Axary
5bfdcc1ab1 remove stray file with UI testing output 2018-11-17 09:36:56 +01:00
Ralf Jung
0c0478d57a adjust remaining tests 2018-11-16 22:04:14 +01:00
Axary
2be930bd03 fix tidy (remove whitespace) 2018-11-16 19:35:13 +01:00
Axary
fe23ffbda0 improve error when self is used as not the first argument 2018-11-16 19:27:27 +01:00
Axary
646d68f585 add a note to the error message 2018-11-16 18:43:06 +01:00
Axary
4c4aff9b3d remove license 2018-11-16 18:28:23 +01:00
Ralf Jung
303dbccf04 CTFE: dynamically make sure we do not call non-const-fn 2018-11-16 18:05:08 +01:00
Niko Matsakis
6575988d8e handle trait objects formed from traits with Self::Foo: 'a clauses 2018-11-16 09:37:33 -05:00
Axary
218e35efa1 eat CloseDelim 2018-11-16 13:54:49 +01:00
Axary
80c2101b20 change expected error message 2018-11-16 13:54:09 +01:00
Axary
7cb068e523 add ui test 2018-11-16 13:08:58 +01:00
Oliver Scherer
9b8791179f Update stderr file 2018-11-16 09:04:35 +01:00
Oliver Scherer
c8a9300d8e Fix stability hole with static _ 2018-11-15 16:16:34 +01:00
csmoe
dbd9abd74d update closure arg suggesstion ui test 2018-11-15 22:17:49 +08:00
csmoe
052bdff8fb lint based on closure pipe span 2018-11-15 22:17:03 +08:00
Pietro Albini
d0e08ce88e
Rollup merge of #55956 - euclio:issue-55587, r=estebank
add tests for some fixed ICEs

Fixes #55587.
Fixes #54348.

Looks like these ICEs are already fixed in nightly, so this PR just adds tests.

r? @estebank
2018-11-15 11:04:47 +01:00
Pietro Albini
3c7acc7878
Rollup merge of #55852 - varkor:dotdotequals-lint, r=zackmdavis
Rewrite `...` as `..=` as a `MachineApplicable` 2018 idiom lint

Fixes https://github.com/rust-lang/rust/issues/51043.
2018-11-15 11:04:40 +01:00
Pietro Albini
6ca7bc0eb8
Rollup merge of #55781 - pnkfelix:issue-54382-more-precise-spans-for-temps-and-their-drops, r=davidtwco
More precise spans for temps and their drops

This PR has two main enhancements:

 1. when possible during code generation for a statement (like `expr();`), pass along the span of a statement, and then attribute the drops of temporaries from that statement to the statement's end-point (which will be the semicolon if it is a statement that is terminating by a semicolon).
 2. when evaluating a block expression into a MIR temp, use the span of the block's tail expression (rather than the span of whole block including its statements and curly-braces) for the span of the temp.

Each of these individually increases the precision of our diagnostic output; together they combine to make a much clearer picture about the control flow through the spans.

Fix #54382
2018-11-15 11:04:37 +01:00
Ralf Jung
b8915f2ba8 fix other affected tests 2018-11-15 10:59:42 +01:00
Ralf Jung
a3770c2547 do not accept out-of-bounds pointers in enum discriminants, they might be NULL 2018-11-15 10:59:39 +01:00
Ralf Jung
ffb6ba0828 validation: better error when the enum discriminant is Undef 2018-11-15 09:58:09 +01:00
Eric Huss
7f4bc2247a Clean up some non-mod-rs stuff. 2018-11-14 18:55:41 -08:00
Ralf Jung
b396505425 put file and line into miri backtrace 2018-11-14 23:14:57 +01:00
Andy Russell
e2ef0f742c
add test for issue #54348 2018-11-14 12:54:32 -05:00