]> git.lizzy.rs Git - rust.git/log
rust.git
4 years agoAuto merge of #67268 - estebank:assoc-types, r=oli-obk
bors [Thu, 26 Dec 2019 03:42:59 +0000 (03:42 +0000)]
Auto merge of #67268 - estebank:assoc-types, r=oli-obk

Tweak errors for missing associated types and type parameters

* On `dyn Trait` missing associated types, provide a structured suggestion for them
* On missing type parameters, provide structured suggestion for them
* Point at trait definition when missing required type parameter
* Tweak output of E0658
* Tweak wording of E0719
* Account for `Trait1 + Trait2` case

Fix #66380, fix #60595. CC #63711.

4 years agoAuto merge of #67580 - RalfJung:miri-unleash-tests, r=oli-obk
bors [Thu, 26 Dec 2019 00:27:13 +0000 (00:27 +0000)]
Auto merge of #67580 - RalfJung:miri-unleash-tests, r=oli-obk

test the unleashed Miri

In particular, test what happens when we try to drop something. Cc https://github.com/rust-lang/const-eval/issues/17

r? @oli-obk

4 years agoAuto merge of #66919 - dtolnay:description, r=KodrAus
bors [Wed, 25 Dec 2019 21:10:49 +0000 (21:10 +0000)]
Auto merge of #66919 - dtolnay:description, r=KodrAus

Deprecate Error::description for real

`description` has been documented as soft-deprecated since 1.27.0 (17 months ago). There is no longer any reason to call it or implement it.

This PR:

- adds `#[rustc_deprecated(since = "1.41.0")]` to `Error::description`;
- moves `description` (and `cause`, which is also deprecated) below the `source` and `backtrace` methods in the Error trait;
- reduces documentation of `description` and `cause` to take up much less vertical real estate in rustdocs, while preserving the example that shows how to render errors without needing to call `description`;
- removes the description function of all *currently unstable* Error impls in the standard library;
- marks `#[allow(deprecated)]` the description function of all *stable* Error impls in the standard library;
- replaces miscellaneous uses of `description` in example code and the compiler.

---

![description](https://user-images.githubusercontent.com/1940490/69910369-3bbaca80-13bf-11ea-94f7-2fe27a7ea333.png)

4 years agoFix rebase and sort assoc type list for deterministic output
Esteban Küber [Tue, 24 Dec 2019 22:10:55 +0000 (14:10 -0800)]
Fix rebase and sort assoc type list for deterministic output

4 years agoAuto merge of #67524 - LukasKalbertodt:improve-into-iter-lint, r=matthewjasper
bors [Wed, 25 Dec 2019 10:20:48 +0000 (10:20 +0000)]
Auto merge of #67524 - LukasKalbertodt:improve-into-iter-lint, r=matthewjasper

Generalize `array_into_iter` lint to also lint for boxed arrays

`Box` is special in that a method call on a box can move the value out
of the box. Thus, the same backwards-compatibility problem can arise
for boxed arrays as for simple arrays.

---

CC #66145
r? @matthewjasper  (as you reviewed the first PR)

4 years agouse error-pattern
Ralf Jung [Wed, 25 Dec 2019 10:18:39 +0000 (11:18 +0100)]
use error-pattern

4 years agoDeprecate Error::description for real
David Tolnay [Sun, 1 Dec 2019 04:01:48 +0000 (20:01 -0800)]
Deprecate Error::description for real

`description` has been documented as soft-deprecated since 1.27.0 (17
months ago). There is no longer any reason to call it or implement it.

This commit:

- adds #[rustc_deprecated(since = "1.41.0")] to Error::description;

- moves description (and cause, which is also deprecated) below the
  source and backtrace methods in the Error trait;

- reduces documentation of description and cause to take up much less
  vertical real estate in rustdocs, while preserving the example that
  shows how to render errors without needing to call description;

- removes the description function of all *currently unstable* Error
  impls in the standard library;

- marks #[allow(deprecated)] the description function of all *stable*
  Error impls in the standard library;

- replaces miscellaneous uses of description in example code and the
  compiler.

4 years agoFix suggestion span for typo in associated type name
Esteban Küber [Thu, 19 Dec 2019 19:23:57 +0000 (11:23 -0800)]
Fix suggestion span for typo in associated type name

4 years agoCleanup: move code to their own methods and deduplicate actions
Esteban Küber [Wed, 18 Dec 2019 19:12:50 +0000 (11:12 -0800)]
Cleanup: move code to their own methods and deduplicate actions

4 years agoAccount for multiple trait bounds with missing associated types
Esteban Küber [Wed, 18 Dec 2019 02:15:06 +0000 (18:15 -0800)]
Account for multiple trait bounds with missing associated types

4 years agoAvoid output dependency on std spans
Esteban Küber [Fri, 13 Dec 2019 19:37:31 +0000 (11:37 -0800)]
Avoid output dependency on std spans

4 years agoUse structured suggestion for bad `Fn` traits
Esteban Küber [Fri, 13 Dec 2019 16:22:58 +0000 (08:22 -0800)]
Use structured suggestion for bad `Fn` traits

4 years agoHandle more specific case E0222
Esteban Küber [Fri, 13 Dec 2019 05:15:19 +0000 (21:15 -0800)]
Handle more specific case E0222

4 years agoreview comments: move error reporting to their own methods
Esteban Küber [Fri, 13 Dec 2019 01:26:19 +0000 (17:26 -0800)]
review comments: move error reporting to their own methods

4 years agoFix case in `associated-type-projection-from-multiple-supertraits.rs`
Esteban Küber [Thu, 12 Dec 2019 23:22:46 +0000 (15:22 -0800)]
Fix case in `associated-type-projection-from-multiple-supertraits.rs`

This still doesn't handle the case entirely correctly, requiring a more
targeted approach with a better suggestion, but at least now the
suggested syntax makes *some* sense.

4 years agoTweak errors for missing associated types and type parameters
Esteban Küber [Thu, 12 Dec 2019 22:48:46 +0000 (14:48 -0800)]
Tweak errors for missing associated types and type parameters

4 years agoAuto merge of #67303 - dtolnay:rls, r=Xanewok
bors [Wed, 25 Dec 2019 03:55:21 +0000 (03:55 +0000)]
Auto merge of #67303 - dtolnay:rls, r=Xanewok

Update rls submodule

This pulls in https://github.com/rust-lang/rls/pull/1603 in order to unblock https://github.com/rust-lang/rust/pull/66919.

r? @Xanewok

4 years agoAuto merge of #67596 - Mark-Simulacrum:tidy-silence-rustfmt, r=Centril
bors [Wed, 25 Dec 2019 00:41:55 +0000 (00:41 +0000)]
Auto merge of #67596 - Mark-Simulacrum:tidy-silence-rustfmt, r=Centril

(Mostly) finish formatting the repository

Silences tidy line length warnings on rustfmt-controlled files.

This leaves two things out of formatting: CloudABI (mostly because it's not really ours to control, it's upstream code that's mostly generated), and tests. The latter is a hard problem and maybe not one to worry too much about, we rarely edit old tests and reformatting them as we go if possible isn't too bad (they're generally small).

4 years agoFormat librustc_feature
Mark Rousskov [Tue, 24 Dec 2019 22:44:51 +0000 (17:44 -0500)]
Format librustc_feature

Use #[rustfmt::skip] on the tidy-parsed macro invocations

4 years agox.py fmt after previous deignore
Mark Rousskov [Tue, 24 Dec 2019 22:38:22 +0000 (17:38 -0500)]
x.py fmt after previous deignore

4 years agoSilence line length warnings
Mark Rousskov [Tue, 24 Dec 2019 21:21:26 +0000 (16:21 -0500)]
Silence line length warnings

rustfmt tries its best already, we should not fight with it.

4 years agoAuto merge of #67445 - llogiq:todo, r=dtolnay
bors [Tue, 24 Dec 2019 21:16:45 +0000 (21:16 +0000)]
Auto merge of #67445 - llogiq:todo, r=dtolnay

Differentiate todo! and unimplemented!

This updates the panic message and docs to make it clear that `todo!` is for unfinished code and `unimplemented!` is for partial trait or enum impls.

r? @Centril

4 years agoAuto merge of #67241 - mark-i-m:simplify-borrow_check-3, r=matthewjasper
bors [Tue, 24 Dec 2019 18:02:10 +0000 (18:02 +0000)]
Auto merge of #67241 - mark-i-m:simplify-borrow_check-3, r=matthewjasper

Refactorings to borrowck region diagnostic reporting

This PR is a followup to #66886 and #67404

EDIT: updated

In this PR:  Clean up how errors are collected from NLL: introduce `borrow_check::diagnostics::RegionErrors` to collect errors. This is later passed to `MirBorrowckCtx::report_region_errors` after the `MirBorrowckCtx` is created. This will allow us to refactor away some of the extra context structs floating around (but we don't do it in this PR).  `borrow_check::region_infer` is now mostly free of diagnostic generating code. The signatures of most of the functions in `region_infer` lose somewhere between 4 and 7 arguments :)

Left for future (feedback appreciated):

- Merge `ErrorRegionCtx` with `MirBorrowckCtx`, as suggested by @matthewjasper in https://github.com/rust-lang/rust/pull/66886#issuecomment-559949499
- Maybe move the contents of `borrow_check::nll` into `borrow_check` and remove the `nll` submodule altogether.
- Find a way to make `borrow_check::diagnostics::region_errors` less of a strange appendage to `RegionInferenceContext`. I'm not really sure how to do this yet. Ideas welcome.

4 years agoGeneralize `array_into_iter` lint to also lint for boxed arrays
Lukas Kalbertodt [Sun, 22 Dec 2019 13:26:28 +0000 (14:26 +0100)]
Generalize `array_into_iter` lint to also lint for boxed arrays

`Box` is special in that a method call on a box can move the value out
of the box. Thus, the same backwards-compatibility problem can arise
for boxed arrays as for simple arrays.

4 years agoAuto merge of #66221 - ohadravid:doc-constants, r=Dylan-DPC
bors [Tue, 24 Dec 2019 14:40:33 +0000 (14:40 +0000)]
Auto merge of #66221 - ohadravid:doc-constants, r=Dylan-DPC

Show the actual value of constant values in the documentation

Fixes #66099, making rustdoc show evaluated constant scalar values.

![image](https://user-images.githubusercontent.com/2358365/68474827-c7a95e80-0226-11ea-818a-ded7bbff861f.png)

where `main.rs` is
```
pub const VAL3: i32 = i32::max_value();
pub const VAL4: i32 = i32::max_value() - 1;
```

As a fallback, when a constant value is not evaluated (either because of an error or because it isn't a scalar), the original expression is used for consistency.

I mimicked the way min/max values of integers are [`pretty_print`ed](https://github.com/rust-lang/rust/blob/master/src/librustc/ty/print/pretty.rs#L900), to show both the value a the "hint". While a little goofy for `std`, in user crates I think it's actually rather helpful.

4 years agoDifferentiate todo! and unimplemented!
Andre Bogus [Fri, 20 Dec 2019 06:46:29 +0000 (07:46 +0100)]
Differentiate todo! and unimplemented!

4 years agoAuto merge of #67579 - RalfJung:miri, r=RalfJung
bors [Tue, 24 Dec 2019 11:38:45 +0000 (11:38 +0000)]
Auto merge of #67579 - RalfJung:miri, r=RalfJung

update miri

4 years agothis has sysroot spans to let's ignore it the usual way
Ralf Jung [Tue, 24 Dec 2019 11:28:24 +0000 (12:28 +0100)]
this has sysroot spans to let's ignore it the usual way

4 years agobetter variable names
Ralf Jung [Tue, 24 Dec 2019 11:24:32 +0000 (12:24 +0100)]
better variable names

4 years agoadd test for dropping in const
Ralf Jung [Tue, 24 Dec 2019 11:20:36 +0000 (12:20 +0100)]
add test for dropping in const

4 years agobootstrap miri: remove no longer used env var
Ralf Jung [Tue, 24 Dec 2019 10:54:25 +0000 (11:54 +0100)]
bootstrap miri: remove no longer used env var

4 years agoupdate miri
Ralf Jung [Tue, 24 Dec 2019 10:51:40 +0000 (11:51 +0100)]
update miri

4 years agoShow value for consts in the documentation
Ohad Ravid [Wed, 11 Dec 2019 13:50:19 +0000 (14:50 +0100)]
Show value for consts in the documentation

4 years agoAuto merge of #67575 - Centril:rollup-feikoir, r=Centril
bors [Tue, 24 Dec 2019 03:40:33 +0000 (03:40 +0000)]
Auto merge of #67575 - Centril:rollup-feikoir, r=Centril

Rollup of 7 pull requests

Successful merges:

 - #67337 (Ensure that evaluating or validating a constant never reads from a static)
 - #67543 (Add regression tests for fixed ICEs)
 - #67547 (Cleanup err codes)
 - #67551 (Add long error code explanation message for E0627)
 - #67561 (remove `description` from `Error` impls in docs)
 - #67569 (Clean up unsafety in char::encode_utf8)
 - #67572 (Use the chocolatey CDN directly to avoid the flaky API)

Failed merges:

r? @ghost

4 years agoRollup merge of #67572 - aidanhs:aphs-choco-direct-cdn, r=Mark-Simulacrum
Mazdak Farrokhzad [Tue, 24 Dec 2019 03:40:03 +0000 (04:40 +0100)]
Rollup merge of #67572 - aidanhs:aphs-choco-direct-cdn, r=Mark-Simulacrum

Use the chocolatey CDN directly to avoid the flaky API

4 years agoRollup merge of #67569 - Mark-Simulacrum:opt-char-encode, r=oli-obk
Mazdak Farrokhzad [Tue, 24 Dec 2019 03:40:02 +0000 (04:40 +0100)]
Rollup merge of #67569 - Mark-Simulacrum:opt-char-encode, r=oli-obk

Clean up unsafety in char::encode_utf8

This originally started as an attempt to allow LLVM to optimize through
encode_utf8 to detect the try_encode_utf8 case (#52579, #52580), but due to a
typo my conclusion that my optimizations were successful was incorrect.

Furthermore, as far as I can tell, this optimization is probably just not
possible with LLVM today.  This [code](https://rust.godbolt.org/z/JggRj4)
compiles down to a long series of compares, notably, two identical series of
compares. That essentially means that LLVM is today unable to see that these two
ifs are identical and as such can be merged and then realize that no value of
the if condition can result in a call to `please_delete`. As such, for now, we
do not attempt to specifically optimize for that case.

4 years agoRollup merge of #67561 - euclio:remove-description, r=jonas-schievink
Mazdak Farrokhzad [Tue, 24 Dec 2019 03:40:00 +0000 (04:40 +0100)]
Rollup merge of #67561 - euclio:remove-description, r=jonas-schievink

remove `description` from `Error` impls in docs

Since `description` is soft-deprecated, there's no need to show it implemented in these examples.

4 years agoRollup merge of #67551 - ldm0:E0627, r=Dylan-DPC
Mazdak Farrokhzad [Tue, 24 Dec 2019 03:39:58 +0000 (04:39 +0100)]
Rollup merge of #67551 - ldm0:E0627, r=Dylan-DPC

Add long error code explanation message for E0627

Part of #61137.

r? @GuillaumeGomez

4 years agoRollup merge of #67547 - GuillaumeGomez:cleanup-err-codes, r=Dylan-DPC
Mazdak Farrokhzad [Tue, 24 Dec 2019 03:39:57 +0000 (04:39 +0100)]
Rollup merge of #67547 - GuillaumeGomez:cleanup-err-codes, r=Dylan-DPC

Cleanup err codes

r? @Dylan-DPC

4 years agoRollup merge of #67543 - JohnTitor:regression-tests, r=Centril
Mazdak Farrokhzad [Tue, 24 Dec 2019 03:39:55 +0000 (04:39 +0100)]
Rollup merge of #67543 - JohnTitor:regression-tests, r=Centril

Add regression tests for fixed ICEs

Closes #61747 (fixed from 1.41.0-nightly (4007d4ef2 2019-12-01))
Closes #66205 (fixed from 1.41.0-nightly (4007d4ef2 2019-12-01))
Closes #66270 (fixed by #66246)
Closes #67424 (fixed by #67160)

Also picking a minor nit up from #67071 with 101dd7bad9432730fa2f625ae43afcc2929457d4

r? @Centril

4 years agoRollup merge of #67337 - oli-obk:no_mut_static_ref_from_const, r=RalfJung
Mazdak Farrokhzad [Tue, 24 Dec 2019 03:39:53 +0000 (04:39 +0100)]
Rollup merge of #67337 - oli-obk:no_mut_static_ref_from_const, r=RalfJung

Ensure that evaluating or validating a constant never reads from a static

r? @RalfJung

as per https://github.com/rust-lang/rust/pull/66302#issuecomment-554663387

This does not yet address the fact that evaluation of a constant can read from a static (under unleash-miri)

4 years agoMinimize unsafety in encode_utf8
Mark Rousskov [Mon, 23 Dec 2019 20:40:20 +0000 (15:40 -0500)]
Minimize unsafety in encode_utf8

Use slice patterns to avoid having to skip bounds checking

4 years agoUse the chocolatey CDN directly to avoid the flaky API
Aidan Hobson Sayers [Mon, 23 Dec 2019 23:31:39 +0000 (23:31 +0000)]
Use the chocolatey CDN directly to avoid the flaky API

4 years agoAuto merge of #66296 - Centril:bindings_after_at-init, r=pnkfelix
bors [Mon, 23 Dec 2019 21:49:44 +0000 (21:49 +0000)]
Auto merge of #66296 - Centril:bindings_after_at-init, r=pnkfelix

Initial implementation of `#![feature(bindings_after_at)]`

Following up on #16053, under the gate `#![feature(bindings_after_at)]`, `x @ Some(y)` is allowed subject to restrictions necessary for soundness.

The implementation and test suite should be fairly complete now.

One aspect that is not covered is the interaction with nested `#![feature(or_patterns)]`.
This is not possible to test at the moment in a good way because that feature has not progressed sufficiently and has fatal errors in MIR building. We should make sure to add such tests before we stabilize both features (but shipping one of them is fine).

r? @pnkfelix
cc @nikomatsakis @matthewjasper @pcwalton
cc https://github.com/rust-lang/rust/issues/65490

4 years agoAuto merge of #67560 - Centril:rollup-fzdpu9c, r=Centril
bors [Mon, 23 Dec 2019 18:28:33 +0000 (18:28 +0000)]
Auto merge of #67560 - Centril:rollup-fzdpu9c, r=Centril

Rollup of 8 pull requests

Successful merges:

 - #67233 (Add PartialEq and Eq to Cursor)
 - #67466 (Require const stability attributes on intrinsics to be able to use them in constant contexts)
 - #67507 (Remove mem::uninitalized from tests)
 - #67527 (Results show too much)
 - #67536 (Move `{hir::lowering -> hir}::is_range_literal`)
 - #67538 (Improve diagnostics for invalid assignment)
 - #67546 (Fix ICE in mir interpretation)
 - #67559 (Document that calling Drop, even after it panics, is UB)

Failed merges:

r? @ghost

4 years agoBless tests
Oliver Scherer [Mon, 23 Dec 2019 16:48:22 +0000 (17:48 +0100)]
Bless tests

4 years agoApply suggestion from Centril
Yuki Okushi [Sun, 22 Dec 2019 23:24:11 +0000 (08:24 +0900)]
Apply suggestion from Centril

Co-Authored-By: Mazdak Farrokhzad <twingoow@gmail.com>
4 years agoAdd test for issue-67424
Yuki Okushi [Sun, 22 Dec 2019 22:37:16 +0000 (07:37 +0900)]
Add test for issue-67424

4 years agoremove `description` from `Error` impls in docs
Andy Russell [Mon, 23 Dec 2019 15:47:28 +0000 (09:47 -0600)]
remove `description` from `Error` impls in docs

4 years agoTidy
Oliver Scherer [Mon, 23 Dec 2019 14:22:36 +0000 (15:22 +0100)]
Tidy

4 years agoRollup merge of #67559 - Mark-Simulacrum:drop-doc, r=RalfJung
Mazdak Farrokhzad [Mon, 23 Dec 2019 14:16:32 +0000 (15:16 +0100)]
Rollup merge of #67559 - Mark-Simulacrum:drop-doc, r=RalfJung

Document that calling Drop, even after it panics, is UB

Fixes #60822.

r? @gnzlbg

4 years agoRollup merge of #67546 - oli-obk:slice_pattern_ice, r=varkor
Mazdak Farrokhzad [Mon, 23 Dec 2019 14:16:31 +0000 (15:16 +0100)]
Rollup merge of #67546 - oli-obk:slice_pattern_ice, r=varkor

Fix ICE in mir interpretation

Indices from the end start at 1 so you can immediately subtract them from the length to get the index instead of having to do an additional `-1`. Kinda documented in https://doc.rust-lang.org/nightly/nightly-rustc/rustc/mir/enum.ProjectionElem.html#variant.ConstantIndex

4 years agoRollup merge of #67538 - varkor:lhs-assign-diagnostics, r=Centril
Mazdak Farrokhzad [Mon, 23 Dec 2019 14:16:29 +0000 (15:16 +0100)]
Rollup merge of #67538 - varkor:lhs-assign-diagnostics, r=Centril

Improve diagnostics for invalid assignment

- Improve wording and span information for invalid assignment diagnostics.
- Link to https://github.com/rust-lang/rfcs/issues/372 when it appears the user is trying a destructuring assignment.
- Make the equality constraint in `where` clauses error consistent with the invalid assignment error.

4 years agoRollup merge of #67536 - Centril:move-is_range_literal, r=Mark-Simulacrum
Mazdak Farrokhzad [Mon, 23 Dec 2019 14:16:28 +0000 (15:16 +0100)]
Rollup merge of #67536 - Centril:move-is_range_literal, r=Mark-Simulacrum

Move `{hir::lowering -> hir}::is_range_literal`

The function is never used inside lowering, but only ever in external crates.
By moving it, we facilitate lowering as its own crate.

Best read commit-by-commit.

r? @Mark-Simulacrum

4 years agoRollup merge of #67527 - GuillaumeGomez:results-show-too-much, r=kinnison
Mazdak Farrokhzad [Mon, 23 Dec 2019 14:16:26 +0000 (15:16 +0100)]
Rollup merge of #67527 - GuillaumeGomez:results-show-too-much, r=kinnison

Results show too much

Fixes #67461.

To reproduce the current issue: search anything, then once the results appears, press escape. They should disappear then re-appear right away. This is because blurring an element triggers the "change" event.

r? @kinnison

4 years agoRollup merge of #67507 - Mark-Simulacrum:purge-uninit, r=Centril
Mazdak Farrokhzad [Mon, 23 Dec 2019 14:16:24 +0000 (15:16 +0100)]
Rollup merge of #67507 - Mark-Simulacrum:purge-uninit, r=Centril

Remove mem::uninitalized from tests

This purges uses of uninitialized where possible from test cases. Some
are merely moved over to the equally bad pattern of
MaybeUninit::uninit().assume_init() but with an annotation that this is
"the best we can do".

Fixes #62397

4 years agoRollup merge of #67466 - oli-obk:const_intrinsic, r=Centril
Mazdak Farrokhzad [Mon, 23 Dec 2019 14:16:23 +0000 (15:16 +0100)]
Rollup merge of #67466 - oli-obk:const_intrinsic, r=Centril

Require const stability attributes on intrinsics to be able to use them in constant contexts

r? @Centril

finally fixes #61495

cc @RalfJung

4 years agoRollup merge of #67233 - Luro02:cursor_traits, r=sfackler
Mazdak Farrokhzad [Mon, 23 Dec 2019 14:16:21 +0000 (15:16 +0100)]
Rollup merge of #67233 - Luro02:cursor_traits, r=sfackler

Add PartialEq and Eq to Cursor

closes #67226

4 years agoFix typo
Oliver Scherer [Mon, 23 Dec 2019 14:11:09 +0000 (15:11 +0100)]
Fix typo

4 years agoDocument that calling Drop, even after it panics, is UB
Mark Rousskov [Mon, 23 Dec 2019 13:13:12 +0000 (08:13 -0500)]
Document that calling Drop, even after it panics, is UB

4 years agoUpdate src/librustc_mir/interpret/intern.rs
Oliver Scherer [Mon, 23 Dec 2019 13:50:34 +0000 (14:50 +0100)]
Update src/librustc_mir/interpret/intern.rs

Co-Authored-By: Ralf Jung <post@ralfj.de>
4 years agoShow `const_err` lints
Oliver Scherer [Sun, 22 Dec 2019 20:42:50 +0000 (21:42 +0100)]
Show `const_err` lints

4 years agoConstants reading or referencing statics is illegal
Oliver Scherer [Sun, 22 Dec 2019 20:40:00 +0000 (21:40 +0100)]
Constants reading or referencing statics is illegal

and some uses of it will be illegal forever
(e.g. mutable or interior mutable statics)

4 years agoDynamically prevent constants from accessing statics
Oliver Scherer [Mon, 16 Dec 2019 14:23:42 +0000 (15:23 +0100)]
Dynamically prevent constants from accessing statics

4 years agoPanic on mutable allocs in constants
Oliver Scherer [Mon, 16 Dec 2019 14:23:26 +0000 (15:23 +0100)]
Panic on mutable allocs in constants

4 years agoadjust E0303 error code docs
Mazdak Farrokhzad [Sun, 15 Dec 2019 07:06:56 +0000 (08:06 +0100)]
adjust E0303 error code docs

4 years agoRemove `bindings_after_at` from `INCOMPLETE_FEATURES`.
Mazdak Farrokhzad [Sun, 15 Dec 2019 04:06:54 +0000 (05:06 +0100)]
Remove `bindings_after_at` from `INCOMPLETE_FEATURES`.

4 years agoTest that nested type ascription is banned.
Mazdak Farrokhzad [Sun, 15 Dec 2019 03:52:13 +0000 (04:52 +0100)]
Test that nested type ascription is banned.

4 years agoTest that `_ @ subpat` is syntactically rejected.
Mazdak Farrokhzad [Sun, 15 Dec 2019 03:40:26 +0000 (04:40 +0100)]
Test that `_ @ subpat` is syntactically rejected.

4 years agoharden & split borrowck-pat-at-and-box
Mazdak Farrokhzad [Sun, 15 Dec 2019 03:29:34 +0000 (04:29 +0100)]
harden & split borrowck-pat-at-and-box

4 years agoenhance borrowck-pat-by-copy-bindings-in-at
Mazdak Farrokhzad [Sun, 15 Dec 2019 03:12:35 +0000 (04:12 +0100)]
enhance borrowck-pat-by-copy-bindings-in-at

4 years agoclarify bind-by-move-neither-can-livee..
Mazdak Farrokhzad [Sun, 15 Dec 2019 03:09:47 +0000 (04:09 +0100)]
clarify bind-by-move-neither-can-livee..

4 years agobindings_after_at: harden tests wrt. contexts & slice_patterns
Mazdak Farrokhzad [Sun, 15 Dec 2019 02:50:55 +0000 (03:50 +0100)]
bindings_after_at: harden tests wrt. contexts & slice_patterns

4 years agobindings_after_at: harden tests wrt. promotion
Mazdak Farrokhzad [Sat, 14 Dec 2019 23:50:44 +0000 (00:50 +0100)]
bindings_after_at: harden tests wrt. promotion

4 years ago--bless bindings-after-at tests
Mazdak Farrokhzad [Sat, 14 Dec 2019 23:32:20 +0000 (00:32 +0100)]
--bless bindings-after-at tests

4 years agodocument check_borrow_conflicts_in_at_patterns
Mazdak Farrokhzad [Sat, 14 Dec 2019 22:57:20 +0000 (23:57 +0100)]
document check_borrow_conflicts_in_at_patterns

4 years agoimprove robustness of pat walkers
Mazdak Farrokhzad [Sat, 14 Dec 2019 22:43:21 +0000 (23:43 +0100)]
improve robustness of pat walkers

4 years agorefactor with extract_binding_mode
Mazdak Farrokhzad [Sat, 14 Dec 2019 22:18:39 +0000 (23:18 +0100)]
refactor with extract_binding_mode

4 years agoadd check_borrow_conflicts_in_at_patterns analysis
Mazdak Farrokhzad [Sat, 14 Dec 2019 16:43:07 +0000 (17:43 +0100)]
add check_borrow_conflicts_in_at_patterns analysis

4 years agocheck_legality_of_move_bindings: generalize diagnostics & add comments
Mazdak Farrokhzad [Sat, 14 Dec 2019 17:20:13 +0000 (18:20 +0100)]
check_legality_of_move_bindings: generalize diagnostics & add comments

4 years agoadd a fixme
Mazdak Farrokhzad [Sat, 14 Dec 2019 16:43:48 +0000 (17:43 +0100)]
add a fixme

4 years agoIntroduce `#![feature(bindings_after_at)]`.
Mazdak Farrokhzad [Mon, 11 Nov 2019 10:39:52 +0000 (11:39 +0100)]
Introduce `#![feature(bindings_after_at)]`.
Under the gate, `x @ Some(y)` is allowed.
This is subject to various restrictions for soundness.

4 years agoYield is an expression form, not a statement.
Donough Liu [Mon, 23 Dec 2019 13:07:13 +0000 (21:07 +0800)]
Yield is an expression form, not a statement.

4 years agoAdd long error code explanation message for E0627
Donough Liu [Mon, 23 Dec 2019 13:05:02 +0000 (21:05 +0800)]
Add long error code explanation message for E0627

4 years agoFix reformatting rebase issues
varkor [Mon, 23 Dec 2019 12:39:48 +0000 (12:39 +0000)]
Fix reformatting rebase issues

4 years agois_range_literal: leave FIXME
Mazdak Farrokhzad [Sun, 22 Dec 2019 19:55:27 +0000 (20:55 +0100)]
is_range_literal: leave FIXME

4 years agois_range_literal: fix fallout
Mazdak Farrokhzad [Sun, 22 Dec 2019 19:53:30 +0000 (20:53 +0100)]
is_range_literal: fix fallout

4 years agoAdd new folder for destructuring assignment tests
varkor [Sun, 22 Dec 2019 23:09:54 +0000 (23:09 +0000)]
Add new folder for destructuring assignment tests

4 years agoAdd span information to `ExprKind::Assign`
varkor [Sun, 22 Dec 2019 21:08:53 +0000 (21:08 +0000)]
Add span information to `ExprKind::Assign`

4 years agoRecognise nested tuples/arrays/structs
varkor [Sun, 22 Dec 2019 20:27:42 +0000 (20:27 +0000)]
Recognise nested tuples/arrays/structs

4 years agoAdd note about destructuring assignments
varkor [Sun, 22 Dec 2019 20:14:08 +0000 (20:14 +0000)]
Add note about destructuring assignments

4 years agoImprove invalid assignment error
varkor [Sun, 22 Dec 2019 18:42:15 +0000 (18:42 +0000)]
Improve invalid assignment error

4 years agoAdd the full issue reference to equality constraints in `where` clauses
varkor [Sun, 22 Dec 2019 18:18:49 +0000 (18:18 +0000)]
Add the full issue reference to equality constraints in `where` clauses

4 years agoMove `{hir::lowering -> hir}::is_range_literal`.
Mazdak Farrokhzad [Sun, 22 Dec 2019 19:46:14 +0000 (20:46 +0100)]
Move `{hir::lowering -> hir}::is_range_literal`.

The function is never used inside lowering,
but only ever in external crates.

By moving it, we faciliate lowering as its own crate.

4 years agoUpdate src/librustc_mir/interpret/place.rs
Oliver Scherer [Mon, 23 Dec 2019 10:27:34 +0000 (11:27 +0100)]
Update src/librustc_mir/interpret/place.rs

Co-Authored-By: Ralf Jung <post@ralfj.de>
4 years agoUpdate E0124.md
Dylan DPC [Mon, 23 Dec 2019 07:25:33 +0000 (12:55 +0530)]
Update E0124.md

4 years agoRefactor region error handling to be done by mirborrowckctx
Mark Mansi [Wed, 11 Dec 2019 22:40:49 +0000 (16:40 -0600)]
Refactor region error handling to be done by mirborrowckctx

4 years agoRemove mem::uninitalized from tests
Mark Rousskov [Sun, 22 Dec 2019 02:43:13 +0000 (21:43 -0500)]
Remove mem::uninitalized from tests

This purges uses of uninitialized where possible from test cases. Some
are merely moved over to the equally bad pattern of
MaybeUninit::uninit().assume_init() but with an annotation that this is
"the best we can do".

4 years agoAuto merge of #67540 - Mark-Simulacrum:fmt-the-world, r=Centril
bors [Mon, 23 Dec 2019 02:47:52 +0000 (02:47 +0000)]
Auto merge of #67540 - Mark-Simulacrum:fmt-the-world, r=Centril

Format the world

This PR modifies the formatting infrastructure a bit in the first commit (to enable the forgotten 2018 edition), as well as removes most directories from the ignore list in rustfmt.toml. It then follows that up with the second commit which runs `x.py fmt` and formats the entire repository.

We continue to not format the test directory (`src/test`) because of interactions with pretty printing and, in part, because re-blessing all of those files is somewhat harder to review, so is best suited for a follow up PR in my opinion.

4 years agoChange bound order in rustfmt test
Mark Rousskov [Mon, 23 Dec 2019 02:46:51 +0000 (21:46 -0500)]
Change bound order in rustfmt test

It is unclear why this changed, but since it seems like a harmless
change, we're going to move forward with reformatting.