Commit Graph

108189 Commits

Author SHA1 Message Date
Mazdak Farrokhzad
fd302f46dc Store TokenStream in rmeta::MacroDef.
This removes a hack from `load_macro_untracked` in which parsing is used.
2020-03-10 07:26:27 +01:00
bors
dd155df0a6 Auto merge of #69879 - Centril:rollup-ryea91j, r=Centril
Rollup of 10 pull requests

Successful merges:

 - #69475 (Remove the `no_force` query attribute)
 - #69514 (Remove spotlight)
 - #69677 (rustc_metadata: Give decoder access to whole crate store)
 - #69714 (Make PlaceRef take just one lifetime)
 - #69799 (Allow ZSTs in `AllocRef`)
 - #69817 (test(patterns): add patterns feature tests to borrowck test suite)
 - #69836 (Check if output is immediate value)
 - #69847 (clean up E0393 explanation)
 - #69861 (Add note about localization to std::fmt docs)
 - #69877 (Vec::new is const stable in 1.39 not 1.32)

Failed merges:

r? @ghost
2020-03-10 05:48:27 +00:00
Mazdak Farrokhzad
3e9efbd8b4
Rollup merge of #69877 - CAD97:patch-1, r=dtolnay
Vec::new is const stable in 1.39 not 1.32

Changelog: https://github.com/rust-lang/rust/blob/master/RELEASES.md#version-1390-2019-11-07

This really surprised me when a MSRV check for 1.35 failed with `Vec::new is not yet stable as a const fn` and the docs said that it was const stabilized in 1.32.
2020-03-10 06:47:59 +01:00
Mazdak Farrokhzad
20361bd2bf
Rollup merge of #69861 - Dylnuge:dylnuge/locale-doc, r=Mark-Simulacrum
Add note about localization to std::fmt docs

Closes #69681
2020-03-10 06:47:58 +01:00
Mazdak Farrokhzad
6f1db996c1
Rollup merge of #69847 - GuillaumeGomez:cleanup-e0393, r=Dylan-DPC
clean up E0393 explanation

r? @Dylan-DPC
2020-03-10 06:47:56 +01:00
Mazdak Farrokhzad
436f2ec58c
Rollup merge of #69836 - JohnTitor:immediate-outputs, r=nagisa
Check if output is immediate value

Fixes #62046

r? @nagisa
2020-03-10 06:47:55 +01:00
Mazdak Farrokhzad
08095f4978
Rollup merge of #69817 - thekuom:test/borrow-checking-pattern-features, r=Centril
test(patterns): add patterns feature tests to borrowck test suite

Addresses request here: https://github.com/rust-lang/rust/pull/69690#issuecomment-595763571

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

r? @Centril
2020-03-10 06:47:53 +01:00
Mazdak Farrokhzad
6ad5e69b5a
Rollup merge of #69799 - TimDiekmann:zst, r=Amanieu
Allow ZSTs in `AllocRef`

Allows ZSTs in all `AllocRef` methods. The implementation of `AllocRef` for `Global` and `System` were adjusted to reflect those changes.

This is the second item on the roadmap to support ZSTs in `AllocRef`: https://github.com/rust-lang/wg-allocators/issues/38#issuecomment-595861542
After this has landed, I will adapt `RawVec`, but since this will be a pretty big overhaul, it makes sense to do a different PR for it.

~~Requires #69794 to land first~~

r? @Amanieu
2020-03-10 06:47:52 +01:00
Mazdak Farrokhzad
977d69fc19
Rollup merge of #69714 - spastorino:place-ref-lifetime, r=oli-obk
Make PlaceRef take just one lifetime

r? @eddyb
2020-03-10 06:47:50 +01:00
Mazdak Farrokhzad
5a62acaf9e
Rollup merge of #69677 - petrochenkov:spancode, r=eddyb
rustc_metadata: Give decoder access to whole crate store

Pre-requisite for https://github.com/rust-lang/rust/pull/68941.
r? @eddyb
2020-03-10 06:47:49 +01:00
Mazdak Farrokhzad
61150353bf
Rollup merge of #69514 - GuillaumeGomez:remove-spotlight, r=kinnison
Remove spotlight

I had a few comments saying that this feature was at best misunderstood or not even used so I decided to organize a poll about on [twitter](https://twitter.com/imperioworld_/status/1232769353503956994). After 87 votes, the result is very clear: it's not useful. Considering the amount of code we have just to run it, I think it's definitely worth it to remove it.

r? @kinnison

cc @ollie27
2020-03-10 06:47:47 +01:00
Mazdak Farrokhzad
5b08aad6d9
Rollup merge of #69475 - Zoxc:no-no-force, r=michaelwoerister
Remove the `no_force` query attribute

This removes the `no_force` query attribute and instead uses the `DepNodeParams` trait to find out if a query can be forced.

Also the `analysis` query is moved to the query macro.

r? @eddyb
2020-03-10 06:47:46 +01:00
Ayush Kumar Mishra
761c8c1eef Removed trailing whitespace 2020-03-10 09:07:29 +05:30
Christopher Durham
a56196205b
Vec::new is const tstable in 1.39 not 1.32 2020-03-09 23:07:04 -04:00
Ayush Kumar Mishra
6f2c01bcfb Add long error explanation for E0739 2020-03-10 08:33:14 +05:30
Chris Simpkins
c60d581eb1 update x.py tidy testing command 2020-03-09 23:00:41 -04:00
YI
0a0c850d73 fix test failure due to earlier emitted error 2020-03-10 10:54:48 +08:00
Chris Simpkins
4922b683de remove trailing whitespace (tidy) 2020-03-09 22:15:41 -04:00
Chris Simpkins
9f734c978c Add documentation of tool testing with x.py script 2020-03-09 22:04:59 -04:00
Chris Simpkins
259b06e33f add documentation of x.py tool testing 2020-03-09 21:55:56 -04:00
Chris Simpkins
0982c58edc update tidy documentation to recommend ./x.py test tidy 2020-03-09 21:40:00 -04:00
YI
906bb8d0e8 fix #62456 2020-03-10 09:30:24 +08:00
Ralf Jung
911c75ff5f also handle abort intrinsic with new machine hook 2020-03-09 20:18:48 +01:00
Ralf Jung
f34e0664a1 remove no-longer needed span from Miri Machine hook 2020-03-09 19:58:58 +01:00
Dylan Nugent
7c60405dd6 Add note about localization to std::fmt docs 2020-03-09 12:31:33 -04:00
Ralf Jung
51b60b75e7
Improve readability 2020-03-09 16:56:45 +01:00
John Kåre Alsaker
2f120095b5 Add a comment to recover. 2020-03-09 14:50:40 +01:00
John Kåre Alsaker
f4450772ed Remove the no_force query attribute 2020-03-09 14:50:40 +01:00
John Kåre Alsaker
cbce21767b Remove the need for no_force 2020-03-09 14:50:40 +01:00
John Kåre Alsaker
67012158a3 Move analysis to the query macro 2020-03-09 14:50:40 +01:00
Matthew Kuo
b974d6fc30 test(patterns): add borrowck tests for combination of pattern features
Adds borrowck tests for the following features:
- bindings_after_at
- or_patterns
- slice_patterns
- box_patterns
2020-03-09 08:27:45 -05:00
bors
3dbade652e Auto merge of #69851 - Centril:rollup-iivxvah, r=Centril
Rollup of 6 pull requests

Successful merges:

 - #69201 (Permit attributes on 'if' expressions)
 - #69685 (unix: Don't override existing SIGSEGV/BUS handlers)
 - #69762 (Ensure that validity only raises validity errors)
 - #69779 (librustc_codegen_llvm: Use slices in preference to 0-terminated strings)
 - #69801 (rustc_parse: Remove `Parser::normalized(_prev)_token`)
 - #69842 (Add more regression tests)

Failed merges:

r? @ghost
2020-03-09 11:58:17 +00:00
Mazdak Farrokhzad
7e903f82ff
Rollup merge of #69842 - JohnTitor:more-tests, r=Centril
Add more regression tests

Closes #54239
Closes #57200
Closes #57201
Closes #60473
Closes #64620
Closes #67166

r? @Centril
2020-03-09 12:57:54 +01:00
Mazdak Farrokhzad
2677d59298
Rollup merge of #69801 - petrochenkov:nonorm, r=Centril
rustc_parse: Remove `Parser::normalized(_prev)_token`

Perform the "normalization" (renamed to "uninterpolation") on the fly when necessary.

The final part of https://github.com/rust-lang/rust/pull/69579 https://github.com/rust-lang/rust/pull/69384 https://github.com/rust-lang/rust/pull/69376 https://github.com/rust-lang/rust/pull/69211 https://github.com/rust-lang/rust/pull/69034 https://github.com/rust-lang/rust/pull/69006.
r? @Centril
2020-03-09 12:57:53 +01:00
Mazdak Farrokhzad
2409e70bdb
Rollup merge of #69779 - tmiasko:di-cstr, r=nagisa
librustc_codegen_llvm: Use slices in preference to 0-terminated strings

Additionally whenever possible match C API provided by the LLVM.
2020-03-09 12:57:51 +01:00
Mazdak Farrokhzad
c9bbfb9474
Rollup merge of #69762 - RalfJung:validity-errors, r=oli-obk
Ensure that validity only raises validity errors

For now, only as a debug-assertion (similar to const-prop detecting errors that allocate).

Now includes https://github.com/rust-lang/rust/pull/69646.
[Relative diff](https://github.com/RalfJung/rust/compare/layout-visitor...RalfJung:validity-errors).

r? @oli-obk
2020-03-09 12:57:50 +01:00
Mazdak Farrokhzad
eaf6905c55
Rollup merge of #69685 - cuviper:soft-segv, r=sfackler
unix: Don't override existing SIGSEGV/BUS handlers

Although `stack_overflow::init` runs very early in the process, even
before `main`, there may already be signal handlers installed for things
like the address sanitizer. In that case, just leave it alone, and don't
bother trying to allocate our own signal stacks either.

Fixes #69524.
2020-03-09 12:57:48 +01:00
Mazdak Farrokhzad
4ec997503c
Rollup merge of #69201 - Aaron1011:feature/permit-if-attr, r=Centril
Permit attributes on 'if' expressions

Previously, attributes on 'if' expressions (e.g. `#[attr] if true {}`)
were disallowed during parsing. This made it impossible for macros to
perform any custom handling of such attributes (e.g. stripping them
away), since a compilation error would be emitted before they ever had a
chance to run.

This PR permits attributes on 'if' expressions ('if-attrs' from here on).
Both built-in attributes (e.g. `#[allow]`, `#[cfg]`) and proc-macro attributes are supported.

We still do *not* accept attributes on 'other parts' of an if-else
chain. That is, the following code snippet still fails to parse:

```rust
if true {} #[attr] else if false {} else #[attr] if false {} #[attr]
else {}
```

Closes https://github.com/rust-lang/rust/issues/68618
2020-03-09 12:57:44 +01:00
Ralf Jung
1a9fc18e83 panic_bounds_check: use caller_location, like PanicFnLangItem 2020-03-09 11:16:23 +01:00
Vadim Petrochenkov
7a30bb1676 Address review comments 2020-03-09 13:07:21 +03:00
Ralf Jung
8a8870fbae miri: add machine hook for Abort terminator 2020-03-09 11:06:55 +01:00
Vadim Petrochenkov
9be233cbfe Use Token::uninterpolate in couple more places matching on (Nt)Ident 2020-03-09 12:42:41 +03:00
Vadim Petrochenkov
5d7f67d3b1 rustc_parse: Remove Parser::normalized(_prev)_token 2020-03-09 12:42:41 +03:00
Vadim Petrochenkov
43b27df5b2 rustc_ast: Introduce Token::uninterpolate 2020-03-09 12:42:41 +03:00
Vadim Petrochenkov
f4a03c44d5 rustc_ast: Introduce Token::uninterpolated_span 2020-03-09 12:42:41 +03:00
Vadim Petrochenkov
925e9a2188 rustc_parse: Use Token::ident where possible 2020-03-09 12:42:41 +03:00
Bastian Kauschke
314da73797 discrimant test must not be inlined! 2020-03-09 10:12:44 +01:00
Guillaume Gomez
c06fa0be82 clean up E0393 explanation 2020-03-09 09:31:15 +01:00
Yuki Okushi
ef98ec055e
Add FIXMEs 2020-03-09 16:50:46 +09:00
Josh Stone
676b9bc477 unix: Don't override existing SIGSEGV/BUS handlers
Although `stack_overflow::init` runs very early in the process, even
before `main`, there may already be signal handlers installed for things
like the address sanitizer. In that case, just leave it alone, and don't
bother trying to allocate our own signal stacks either.
2020-03-08 18:44:12 -07:00