1
Fork 0
Commit graph

97741 commits

Author SHA1 Message Date
Simon Sapin
b79ce1b1b1 Rename private helper method allocate_for_unsized to allocate_for_layout 2019-08-17 17:01:04 +02:00
Simon Sapin
ba0328327c Doc nits
Co-Authored-By: Ralf Jung <post@ralfj.de>
2019-08-17 15:42:05 +02:00
Simon Sapin
7a641f7c51 Relax the safety condition for get_mut_unchecked 2019-08-16 17:45:44 +02:00
Simon Sapin
810dfd7cd4 Reuse more internal Rc and Arc methods 2019-08-16 17:45:08 +02:00
Simon Sapin
ae1e201a0c Add a comment on the usage of Layout:🆕:<RcBox<()>>() 2019-08-16 17:11:18 +02:00
Simon Sapin
78264f5e3c Add tracking issue numbers 2019-08-16 17:11:18 +02:00
Simon Sapin
1141136b90 Use ManuallyDrop instead of mem::forget
Per https://github.com/rust-lang/rust/pull/62451#discussion_r303197278
2019-08-16 17:11:18 +02:00
Simon Sapin
dab967afdc Use alloc::Global in Box::new_uninit 2019-08-16 17:11:18 +02:00
Simon Sapin
4eeb623e9e Fix intra-rustdoc links 2019-08-16 17:11:18 +02:00
Simon Sapin
170d933d2f Move constructors of boxed/rc’ed slices to matching impl blocks 2019-08-16 17:11:18 +02:00
Simon Sapin
bde1924059 Add new_uninit_slice and assume_init on Box, Rc, and Arc of [T] 2019-08-16 17:11:18 +02:00
Simon Sapin
7b02b9f8ec Add new_uninit and assume_init on Box, Rc, and Arc 2019-08-16 17:11:18 +02:00
Simon Sapin
1613fdae37 Add Rc::get_mut_unchecked, Arc::get_mut_unchecked 2019-08-16 17:11:18 +02:00
bors
9dd5c19199 Auto merge of #63596 - lzutao:update-miri, r=RalfJung
submodules: Update miri

Closes #63581
r? @RalfJung
2019-08-16 10:42:02 +00:00
bors
5a6d801bf9 Auto merge of #63627 - Centril:rollup-v8i7x5i, r=Centril
Rollup of 7 pull requests

Successful merges:

 - #62593 (Group all ABI tests.)
 - #63173 (Use libunwind from llvm-project submodule for musl targets)
 - #63535 (Continue refactoring resolve and hygiene)
 - #63539 (Suggest Rust 2018 on `<expr>.await` with no such field)
 - #63584 (libcore: more cleanups using `#![feature(associated_type_bounds)]`)
 - #63612 (Do not suggest `try_into` for base types inside of macro expansions)
 - #63615 (Fix typo in DoubleEndedIterator::nth_back doc)

Failed merges:

r? @ghost
2019-08-16 06:53:13 +00:00
Mazdak Farrokhzad
0bd3a85255
Rollup merge of #63615 - jens1o:patch-1, r=jonas-schievink
Fix typo in DoubleEndedIterator::nth_back doc
2019-08-16 08:26:42 +02:00
Mazdak Farrokhzad
8958e50618
Rollup merge of #63612 - estebank:macro-sugg-try-into, r=Centril
Do not suggest `try_into` for base types inside of macro expansions
2019-08-16 08:26:40 +02:00
Mazdak Farrokhzad
7dbd98fa9a
Rollup merge of #63584 - Centril:cleanup-core-with-more-atb, r=alexreg
libcore: more cleanups using `#![feature(associated_type_bounds)]`

Turns out this was indeed a bootstrapping issue from a test with `./x.py check` locally after https://github.com/rust-lang/rust/pull/63534 merged.

Closes https://github.com/rust-lang/rust/issues/63393

r? @alexreg
cc @iluuu1994
cc https://github.com/rust-lang/rust/issues/52662
2019-08-16 08:26:39 +02:00
Mazdak Farrokhzad
d9a429a1eb
Rollup merge of #63539 - Centril:2015.await, r=oli-obk
Suggest Rust 2018 on `<expr>.await` with no such field

When type checking a field projection (`fn check_field`) to `<expr>.await` where `<expr>: τ` and `τ` is not a primitive type, suggest switching to Rust 2018. E.g.

```
error[E0609]: no field `await` on type `std::pin::Pin<&mut dyn std::future::Future<Output = ()>>`
  --> $DIR/suggest-switching-edition-on-await.rs:31:7
   |
LL |     x.await;
   |       ^^^^^ unknown field
   |
   = note: to `.await` a `Future`, switch to Rust 2018
   = help: set `edition = "2018"` in `Cargo.toml`
   = note: for more on editions, read https://doc.rust-lang.org/edition-guide
```

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

This PR also performs some preparatory cleanups in `fn check_field`; the last 2 commits are where the suggestion is introduced and tested respectively.

r? @varkor
2019-08-16 08:26:38 +02:00
Mazdak Farrokhzad
6e9e6ea39b
Rollup merge of #63535 - petrochenkov:expndata, r=matthewjasper
Continue refactoring resolve and hygiene

The general goal is addressing FIXMEs from the previous PRs.

Merging similar data structures (+ prerequisites for such merging), accounting for the fact that all `ExpnId`s have associated data in `HygieneData` now (less `Option`s).

Also, some renaming.
This should be the last renaming session in this area, I think.

r? @matthewjasper
2019-08-16 08:26:36 +02:00
Mazdak Farrokhzad
32c1005652
Rollup merge of #63173 - malbarbo:musl-libunwind, r=alexcrichton
Use libunwind from llvm-project submodule for musl targets

This avoid downloading libunwind by using the scheme introduced in https://github.com/rust-lang/rust/pull/61544
2019-08-16 08:26:34 +02:00
Mazdak Farrokhzad
100a02a0d8
Rollup merge of #62593 - kper:cleanup_abi, r=Centril
Group all ABI tests.

r? @eddyb

Closes #62401
2019-08-16 08:26:33 +02:00
Jens Hausdorf
e046a7af49
Fix typo in DoubleEndedIterator::nth_back doc 2019-08-15 22:16:59 +02:00
Esteban Küber
fbf1efb949 Do not suggest try_into for base types inside of macro expansions 2019-08-15 11:46:52 -07:00
Vadim Petrochenkov
c76277340e resolve: ParentScope::default -> ParentScope::module 2019-08-15 20:47:15 +03:00
Vadim Petrochenkov
136db2235a hygiene: ExpnInfo -> ExpnData
For naming consistency with everything else in this area
2019-08-15 20:41:45 +03:00
Vadim Petrochenkov
650f19aeae hygiene: Merge a tiny bit of the "share expansion definition data" PR 2019-08-15 20:41:45 +03:00
Vadim Petrochenkov
74190a5e1c syntax_pos: Remove the duplicate global edition
It was introduced to avoid going through `hygiene_data`, but now it's read only once, when `ParseSess` is created, so going through a lock is ok.
2019-08-15 20:41:45 +03:00
Vadim Petrochenkov
1a447738b8 hygiene: Merge ExpnInfo and InternalExpnData 2019-08-15 20:41:45 +03:00
Vadim Petrochenkov
aca1353240 resolve: Add some comments to the main modules 2019-08-15 20:40:47 +03:00
Vadim Petrochenkov
310ee4d98c resolve: Privatize BuildReducedGraphVisitor 2019-08-15 20:40:47 +03:00
Vadim Petrochenkov
ea68bc85e0 resolve: Make ParentScope Copy
By allocating its derive paths on the resolver arena.
2019-08-15 20:40:47 +03:00
Vadim Petrochenkov
59dd07ae2b resolve: Eliminate InvocationData
It was very similar to `ParentScope` and mostly could be replaced by it.
2019-08-15 20:40:18 +03:00
Vadim Petrochenkov
1a1557c285 resolve: Add ParentScope::default, eliminate dummy_parent_scope
Remove some unnecessary parameters from functions
2019-08-15 20:40:18 +03:00
Vadim Petrochenkov
cfbb60bf6d resolve: Do not "normalize away" trait/enum modules prematurely
The previous approach was brittle - what would happen if `ParentScope` wasn't created by `invoc_parent_scope`?
That's exactly the case for various uses of `ParentScope` in diagnostics and in built-in attribute validation.
2019-08-15 20:39:27 +03:00
Vadim Petrochenkov
23b82c3229 resolve: Move macro resolution traces from Modules to Resolver
Traces already contain module info without that.
It's easy to forget to call `finalize_*` on a module.
In particular, macros enum and trait modules weren't finalized.
By happy accident macros weren't placed into those modules until now.
2019-08-15 20:39:27 +03:00
Vadim Petrochenkov
73dee258c1 hygiene: Remove Options from functions returning ExpnInfo
The expansion info is not optional and should always exist
2019-08-15 20:39:27 +03:00
Vadim Petrochenkov
6cb28b6617 Ident::with_empty_ctxt -> Ident::with_dummy_span
`Ident` has had a full span rather than just a `SyntaxContext` for a long time now.
2019-08-15 20:39:26 +03:00
Vadim Petrochenkov
67d6ce4206 syntax_pos: NO_EXPANSION/SyntaxContext::empty() -> SyntaxContext::root()
For consistency with `ExpnId::root`.

Also introduce a helper `Span::with_root_ctxt` for creating spans with `SyntaxContext::root()` context
2019-08-15 20:38:12 +03:00
Vadim Petrochenkov
dfcbe75900 syntax_pos: Introduce a helper for checking whether a span comes from expansion 2019-08-15 20:38:12 +03:00
Kevin Per
26ee99e5d4 Duplicate test-macros.rs to fix test #62593 2019-08-15 19:26:51 +02:00
Lzu Tao
f4ed8a2e05 submodules: Update miri 2019-08-15 16:50:46 +00:00
Kevin Per
4a8ff5bb7c Remove run-pass directory #62593 2019-08-15 17:07:38 +02:00
Kevin Per
a90d0876d1 Move test-macros.rs back to ui to fix tests #62593 2019-08-15 17:05:49 +02:00
Kevin Per
df713dd397 Group all ui tests and move to abi #62593 2019-08-15 16:00:54 +02:00
bors
f7af19c279 Auto merge of #63592 - Centril:rollup-7c6dg3e, r=Centril
Rollup of 9 pull requests

Successful merges:

 - #63155 (Add UWP MSVC targets)
 - #63165 (Add builtin targets for mips64(el)-unknown-linux-muslabi64)
 - #63306 (Adapt AddRetag for shallow retagging)
 - #63467 (Add Catalyst (iOS apps running on macOS) target)
 - #63546 (Remove uses of `mem::uninitialized()` from cloudabi)
 - #63572 (remove unused Level::PhaseFatal)
 - #63577 (Test HRTB issue accepted by compiler)
 - #63582 (Fix ICE #63226)
 - #63586 (cleanup: Remove `Spanned` where possible)

Failed merges:

r? @ghost
2019-08-15 12:35:03 +00:00
Mazdak Farrokhzad
6e8fabb4ac
Rollup merge of #63586 - petrochenkov:nospanned, r=eddyb
cleanup: Remove `Spanned` where possible

It generally only makes sense on enums, otherwise it's more convenient to "flatten" it by adding a span field to the struct it wraps.
2019-08-15 14:34:10 +02:00
Mazdak Farrokhzad
19d6178b8f
Rollup merge of #63582 - JohnTitor:fix-ice-63226, r=oli-obk
Fix ICE #63226

Fixes #63226

r? @oli-obk
2019-08-15 14:34:08 +02:00
Mazdak Farrokhzad
77f2694fdc
Rollup merge of #63577 - meffij:test-hrtb, r=alexcrichton
Test HRTB issue accepted by compiler

Hi! First Rust PR, so if anything needs changing just let me know and I'll take care of it right away.

Closes #50301 which was marked E-needstest
2019-08-15 14:34:07 +02:00
Mazdak Farrokhzad
b1bbd52a59
Rollup merge of #63572 - matklad:no-phase-fatal, r=estebank
remove unused Level::PhaseFatal

r? @estebank
2019-08-15 14:34:05 +02:00