Commit Graph

105043 Commits

Author SHA1 Message Date
Tomasz Miąsko
e88f071ed3 Document sanitizers in unstable-book 2020-01-09 09:33:49 +01:00
Tomasz Miąsko
ae57259403 Add bootstrap step for building sanitizer runtimes 2020-01-09 07:54:02 +01:00
Tomasz Miąsko
0c6b1a7e3c Link sanitizer runtimes instead of injecting crate dependencies 2020-01-09 07:54:02 +01:00
Tomasz Miąsko
36d0812570 Remove sanitizer_runtime attribute 2020-01-09 07:54:02 +01:00
Tomasz Miąsko
78e7eeeaa1 Remove sanitizer runtime crates 2020-01-09 07:54:02 +01:00
bors
adc6572500 Auto merge of #68034 - Centril:rollup-3d9pq14, r=Centril
Rollup of 12 pull requests

Successful merges:

 - #67630 (Treat extern statics just like statics in the "const pointer to static" representation)
 - #67747 (Explain that associated types and consts can't be accessed directly on the trait's path)
 - #67884 (Fix incremental builds of core by allowing unused attribute.)
 - #67966 (Use matches macro in libcore and libstd)
 - #67979 (Move `intravisit` => `rustc_hir` + misc cleanup)
 - #67986 (Display more informative ICE)
 - #67990 (slice patterns: harden match-based borrowck tests)
 - #68005 (Improve E0184 explanation)
 - #68009 (Spell check librustc_error_codes)
 - #68023 (Fix issue #68008)
 - #68024 (Remove `-Z continue-parse-after-error`)
 - #68026 (Small improvements in lexical_region_resolve)

Failed merges:

r? @ghost
2020-01-09 02:05:15 +00:00
Mazdak Farrokhzad
b24de8f0f8
Rollup merge of #68026 - llogiq:ch-ch-ch-ch-changes, r=varkor
Small improvements in lexical_region_resolve

This just replaces a trivial `if` condition with a `|=` in two places.

I could even have used a `fold` in the first case, but I think it would be less readable.
2020-01-09 00:22:21 +01:00
Mazdak Farrokhzad
5e6eeb092d
Rollup merge of #68024 - petrochenkov:recoverall, r=Centril
Remove `-Z continue-parse-after-error`

We are just always recovering and continuing now.

r? @estebank @Centril
2020-01-09 00:22:20 +01:00
Mazdak Farrokhzad
d2922e51a7
Rollup merge of #68023 - FSciammarella:master, r=Centril,varkor
Fix issue #68008

Correcting Typo on error message. From "substract" to "subtract".

Fixes #68008.
2020-01-09 00:22:18 +01:00
Mazdak Farrokhzad
1355fb58be
Rollup merge of #68009 - wcampbell0x2a:spellcheck-librustc_error_codes, r=Centril
Spell check librustc_error_codes

Found one wrongly spelled error message and decided to check all the
error messages for wrongly spelled statements.
2020-01-09 00:22:17 +01:00
Mazdak Farrokhzad
91d5fbaeb1
Rollup merge of #68005 - GuillaumeGomez:explanation-e0184, r=Dylan-DPC
Improve E0184 explanation

r? @Dylan-DPC
2020-01-09 00:22:16 +01:00
Mazdak Farrokhzad
916a7d3a2c
Rollup merge of #67990 - Centril:slice-pats-move-tests-match, r=matthewjasper
slice patterns: harden match-based borrowck tests

This hardens some move-checking tests wrt. slice patterns and `match` expressions.

r? @matthewjasper
cc @pnkfelix
cc https://github.com/rust-lang/rust/pull/67712
cc https://github.com/rust-lang/rust/issues/53114
2020-01-09 00:22:14 +01:00
Mazdak Farrokhzad
ea9a03dbb8
Rollup merge of #67986 - JohnTitor:fix-ice-rust-call, r=varkor
Display more informative ICE

Fixes #66696
2020-01-09 00:22:13 +01:00
Mazdak Farrokhzad
0b3ef24e75
Rollup merge of #67979 - Centril:hir-cleanup, r=Zoxc
Move `intravisit` => `rustc_hir` + misc cleanup

Working towards https://github.com/rust-lang/rust/issues/65031.
This should eventually enable getting rid of rustc as a dependency in various passes (e.g. lints).

cc https://github.com/rust-lang/rust/pull/67806 (this also facilitates liberating lints from tcx)
cc https://github.com/rust-lang/rust/pull/67922 (some other dep reductions)

r? @Zoxc
2020-01-09 00:22:11 +01:00
Mazdak Farrokhzad
5ea69781f4
Rollup merge of #67966 - popzxc:core-std-matches, r=Centril
Use matches macro in libcore and libstd

This PR replaces matches like

```rust
match var {
    value => true,
    _ => false,
}
```

with use of `matches!` macro.

r? @Centril
2020-01-09 00:22:10 +01:00
Mazdak Farrokhzad
11f0013378
Rollup merge of #67884 - anp:allow-unused-const-attr, r=oli-obk
Fix incremental builds of core by allowing unused attribute.

I *think* that the same problem as in https://github.com/rust-lang/rust/issues/65023 was introduced by https://github.com/rust-lang/rust/pull/67657. This works around the current incrcomp issue with these attributes by allowing it here. This resolves the near-term issue for me, at least.
2020-01-09 00:22:08 +01:00
Mazdak Farrokhzad
1a0b2a5aaa
Rollup merge of #67747 - estebank:bare-assoc-const, r=Centril
Explain that associated types and consts can't be accessed directly on the trait's path

Partially address #44539.
2020-01-09 00:22:07 +01:00
Mazdak Farrokhzad
60bef14bbc
Rollup merge of #67630 - oli-obk:extern_ptr_dangling, r=spastorino
Treat extern statics just like statics in the "const pointer to static" representation

fixes #67612

r? @spastorino

cc @RalfJung this does not affect runtime promotion at all. This is just about promotion within static item bodies.
2020-01-09 00:22:05 +01:00
Felipe Sciammarella
7de174b86e Fix Typo on cannot "substract"
Fix Typo on hir::BinOpKind::Sub

"substract" to "subtract"

Fix Typo on "Error cannot substract"

Fix Typo on cannot "substract"
2020-01-08 19:25:38 -03:00
Andre Bogus
74ea108b47 Small improvements in lexical_region_resolve 2020-01-08 23:00:33 +01:00
Mazdak Farrokhzad
0997388b87 normalize rustc::hir::intravisit imports 2020-01-08 22:09:42 +01:00
Mazdak Farrokhzad
922f8b70f2 intravisit: use walk_list! more 2020-01-08 22:01:07 +01:00
Mazdak Farrokhzad
37d76dc2f7 {rustc::hir -> rustc_hir}::intravisit 2020-01-08 22:01:07 +01:00
Mazdak Farrokhzad
8351667091 intravisit: abstract over HIR Map 2020-01-08 22:01:07 +01:00
Mazdak Farrokhzad
62e9ccbe28 intravisit: .expect_item -> .item 2020-01-08 21:58:41 +01:00
Mazdak Farrokhzad
4b08c7e974 NestedVisitorMap: reduce visibilities 2020-01-08 21:58:41 +01:00
Mazdak Farrokhzad
3f13ba8523 hir::map: elide & simplify 2020-01-08 21:58:41 +01:00
Mazdak Farrokhzad
41453d2f74 collector: clarify dependencies 2020-01-08 21:58:41 +01:00
Mazdak Farrokhzad
3eb83f2bcc collector: use impl Trait 2020-01-08 21:58:41 +01:00
Mazdak Farrokhzad
adaa521feb collector: extract upstream_crates 2020-01-08 21:58:41 +01:00
Mazdak Farrokhzad
bcb98bdc34 canonicalize imports in map::block 2020-01-08 21:58:41 +01:00
bors
caa231d998 Auto merge of #68011 - JohnTitor:rollup-44s8twu, r=JohnTitor
Rollup of 10 pull requests

Successful merges:

 - #67774 (Try statx for all linux-gnu target.)
 - #67781 (Move `is_min_const_fn` query to librustc_mir.)
 - #67798 (Remove wrong advice about spin locks from `spin_loop_hint` docs)
 - #67849 (Add a check for swapped words when we can't find an identifier)
 - #67875 (Distinguish between private items and hidden items in rustdoc)
 - #67887 (`Option::{expect,unwrap}` and `Result::{expect, expect_err, unwrap, unwrap_err}` have `#[track_caller]`)
 - #67955 (rustdoc: Remove more `#[doc(cfg(..))]` duplicates)
 - #67977 (Updates for VxWorks)
 - #67985 (Remove insignificant notes from CStr documentation)
 - #68003 (ci: fix wrong shared.sh import for publish_toolstate)

Failed merges:

 - #67820 (Parse the syntax described in RFC 2632)
 - #67979 (Move `intravisit` => `rustc_hir` + misc cleanup)

r? @ghost
2020-01-08 19:46:58 +00:00
Vadim Petrochenkov
41a93cba38 Remove -Z continue-parse-after-error 2020-01-08 21:48:04 +03:00
Esteban Küber
b3b206f6bd move code to method outside of happy path 2020-01-08 10:10:51 -08:00
Esteban Küber
ac3d4cccea Explain that associated types and consts can't be accessed directly on the trait's path 2020-01-08 09:41:51 -08:00
Yuki Okushi
844530e317
Rollup merge of #68003 - pietroalbini:yet-another-toolstate-fix, r=Mark-Simulacrum
ci: fix wrong shared.sh import for publish_toolstate

r? @Mark-Simulacrum
2020-01-09 00:29:22 +09:00
Yuki Okushi
98a5c7dc04
Rollup merge of #67985 - dtolnay:cstr, r=Mark-Simulacrum
Remove insignificant notes from CStr documentation

The to_str and to_string_lossy methods contain a note about the behavior possibly changing in the future. But those notes are referring to a distinction that is not observable in the API. Whether or not the UTF-8 check knows the string length ahead of time, these methods require linear time.
2020-01-09 00:29:20 +09:00
Yuki Okushi
b687461073
Rollup merge of #67977 - Wind-River:master_2020, r=alexcrichton
Updates for VxWorks

r? @alexcrichton
2020-01-09 00:29:18 +09:00
Yuki Okushi
1f94425864
Rollup merge of #67955 - ollie27:rustdoc_cfg_dupes, r=GuillaumeGomez
rustdoc: Remove more `#[doc(cfg(..))]` duplicates

This is a follow up to #66959.

r? @GuillaumeGomez
2020-01-09 00:29:17 +09:00
Yuki Okushi
1c9b8036bf
Rollup merge of #67887 - anp:tracked-std-panics, r=nagisa
`Option::{expect,unwrap}` and `Result::{expect, expect_err, unwrap, unwrap_err}` have `#[track_caller]`

The annotated functions now produce panic messages pointing to the location where they were called, rather than `core`'s internals.
2020-01-09 00:29:15 +09:00
Yuki Okushi
03fe834a23
Rollup merge of #67875 - dtolnay:hidden, r=GuillaumeGomez
Distinguish between private items and hidden items in rustdoc

I believe rustdoc should not be conflating private items (visibility lower than `pub`) and hidden items (attribute `doc(hidden)`). This matters now that Cargo is passing --document-private-items by default for bin crates. In bin crates that rely on macros, intentionally hidden implementation details of the macros can overwhelm the actual useful internal API that one would want to document.

This PR restores the strip-hidden pass when documenting private items, and introduces a separate unstable --document-hidden-items option to skip the strip-hidden pass. The two options are orthogonal to one another.

Fixes #67851. Closes #60884.
2020-01-09 00:29:13 +09:00
Yuki Okushi
429a7e7522
Rollup merge of #67849 - cjkenn:check-sorted-words, r=estebank
Add a check for swapped words when we can't find an identifier

Fixes #66968

Couple things here:
1. The matches take the precedence of case insensitive match, then levenshtein match, then swapped words match. Doing this allows us to not even check for swapped words unless the other checks return `None`.
2. I've assumed that the swapped words check is not held to the limits of the max levenshtein distance threshold (ie. we want to try and find a match even if the levenshtein distance is very high). This means that we cannot perform this check in the `fold` that occurs after the `filter_map` call, because the candidate will be filtered out. So, I've split this into two separate `fold` calls, and had to collect the original iterator into a vec so it can be copied (I don't think we want to change the function signature to take a vec or require the `Copy` trait). An alternative implemenation may be to remove the `filter_map`, `fold` over the entire iterator, and do a check against `max_dist` inside the relevant cases there.

r? @estebank
2020-01-09 00:29:12 +09:00
Yuki Okushi
256f401b85
Rollup merge of #67798 - matklad:spin-thouse-docs, r=Amanieu
Remove wrong advice about spin locks from `spin_loop_hint` docs

Using a pure spin lock for a critical section in a preemptable thread
is always wrong, however short the critical section may be. The thread
might be preempted, which will cause all other threads to hammer
busily at the core for the whole quant. Moreover, if threads have
different priorities, this might lead to a priority inversion problem
and a deadlock. More generally, a spinlock is not more efficient than
a well-written mutex, which typically does several spin iterations at
the start anyway.

The advise about UP vs SMP is also irrelevant in the context of
preemptive threads.

See also accompanying piece: https://matklad.github.io/2020/01/02/spinlocs-considered-harmful.html

And another, independent piece: https://probablydance.com/2019/12/30/measuring-mutexes-spinlocks-and-how-bad-the-linux-scheduler-really-is

EDIT: obligatory disclosure that I am not an expert in these things, and might be terribly wrong :)
2020-01-09 00:29:09 +09:00
Yuki Okushi
b85b1dd465
Rollup merge of #67781 - cjgillot:passes-const, r=oli-obk
Move `is_min_const_fn` query to librustc_mir.

The only two uses of the associated methods are in `librustc_mir` and
`librustdoc`. Please tell me if there is a better choice.

cc #65031
2020-01-09 00:29:08 +09:00
Yuki Okushi
9f8f97b88b
Rollup merge of #67774 - oxalica:more-statx, r=alexcrichton
Try statx for all linux-gnu target.

After https://github.com/rust-lang/libc/pull/1577, which is contained in `libc` 0.2.66,  provides `SYS_statx` for all Linux platform, so we can try to use `statx` for ~all Linux target~ all linux-gnu targets.

Unfortunately, `struct statx` and `fn statx` is not a part of public interface of musl (currently), ~we still need to invoke it through `syscall`~ we does **not** support statx for musl or other libc impls currently.

Previous PR: #65094

cc @alexcrichton
2020-01-09 00:29:06 +09:00
wcampbell
c9a55fe3db
Spell check librustc_error_codes
Found one wrongly spelled error message and decided to check all the
error messages for wrongly spelled statements.

Signed-off-by: wcampbell <wcampbell1995@gmail.com>
2020-01-08 10:12:29 -05:00
Guillaume Gomez
326994dfe6 Improve E0184 explanation 2020-01-08 14:24:25 +01:00
bors
ed6468da16 Auto merge of #67770 - Centril:reduce-diversity-2, r=petrochenkov
More reductions in error handling diversity

In this follow up to https://github.com/rust-lang/rust/pull/67744, we:

- Remove all fatal / error / warning macros in `syntax` except for `struct_span_err`, which is moved to `rustc_errors`.

- Lintify some hard-coded warnings which used warning macros.

- Defatalize some errors.

In general, the goal here is to make it painful to use fatal or unstructured errors and so we hopefully won't see many of these creep in.

Fixes https://github.com/rust-lang/rust/issues/67933.
2020-01-08 12:12:08 +00:00
Pietro Albini
aabc73631e
ci: fix wrong shared.sh import for publish_toolstate 2020-01-08 12:24:01 +01:00
Camille GILLOT
c1c09bee29 Move is_min_const_fn query to librustc_mir.
The only two uses of the associated methods are in librustc_mir and
librustdoc. Please tell me if there is a better choice.
2020-01-08 10:37:37 +01:00