]> git.lizzy.rs Git - rust.git/log
rust.git
4 years agoimprove a comment
Ralf Jung [Wed, 6 Nov 2019 07:45:50 +0000 (08:45 +0100)]
improve a comment

4 years agoremvoe to_scalar_ptr and use ref_to_mplace everywhere
Ralf Jung [Wed, 6 Nov 2019 07:44:15 +0000 (08:44 +0100)]
remvoe to_scalar_ptr and use ref_to_mplace everywhere

4 years agomiri cast: avoid unnecessary to_scalar_ptr
Ralf Jung [Tue, 5 Nov 2019 22:04:17 +0000 (23:04 +0100)]
miri cast: avoid unnecessary to_scalar_ptr

4 years agoUpdate local.rs
3442853561 [Wed, 6 Nov 2019 08:39:48 +0000 (16:39 +0800)]
Update local.rs

Removed parameters not used in the macro

4 years agoFix the Error linking.
Pyry Kontio [Wed, 6 Nov 2019 07:57:59 +0000 (16:57 +0900)]
Fix the Error linking.

4 years agogate rustc_on_unimplemented under rustc_attrs
Mazdak Farrokhzad [Fri, 25 Oct 2019 05:19:07 +0000 (07:19 +0200)]
gate rustc_on_unimplemented under rustc_attrs

4 years agoAuto merge of #66143 - Centril:rollup-qmzuex0, r=Centril
bors [Wed, 6 Nov 2019 06:14:03 +0000 (06:14 +0000)]
Auto merge of #66143 - Centril:rollup-qmzuex0, r=Centril

Rollup of 9 pull requests

Successful merges:

 - #65776 (Rename `LocalInternedString` and more)
 - #65973 (caller_location: point to macro invocation sites, like file!/line!, and use in core::panic!.)
 - #66015 (librustc_lexer: Refactor the module)
 - #66062 (Configure LLVM module PIC level)
 - #66086 (bump smallvec to 1.0)
 - #66092 (Use KERN_ARND syscall for random numbers on NetBSD, same as FreeBSD.)
 - #66103 (Add target thumbv7neon-unknown-linux-musleabihf)
 - #66133 (Update the bundled `wasi-libc` repository)
 - #66139 (use American spelling for `pluralize!`)

Failed merges:

r? @ghost

4 years agoRollup merge of #66139 - euclio:pluralize, r=nagisa
Mazdak Farrokhzad [Wed, 6 Nov 2019 06:03:14 +0000 (07:03 +0100)]
Rollup merge of #66139 - euclio:pluralize, r=nagisa

use American spelling for `pluralize!`

4 years agoRollup merge of #66133 - alexcrichton:update-wasi-libc, r=Mark-Simulacrum
Mazdak Farrokhzad [Wed, 6 Nov 2019 06:03:12 +0000 (07:03 +0100)]
Rollup merge of #66133 - alexcrichton:update-wasi-libc, r=Mark-Simulacrum

Update the bundled `wasi-libc` repository

This updates the libc that the `wasm32-wasi` target links against to the
latest revision, mostly just bringing in minor bug fixes and minor wasm
size improvements.

4 years agoRollup merge of #66103 - smaeul:patch/thumb-musl, r=nagisa
Mazdak Farrokhzad [Wed, 6 Nov 2019 06:03:11 +0000 (07:03 +0100)]
Rollup merge of #66103 - smaeul:patch/thumb-musl, r=nagisa

Add target thumbv7neon-unknown-linux-musleabihf

This is a copy of thumbv7neon-unknown-linux-gnueabihf with musl changes
merged from armv7-unknown-linux-musleabihf. This appears to have been
missed when adding the other ARMv7-A thumb targets.

4 years agoRollup merge of #66092 - niacat:master, r=nagisa
Mazdak Farrokhzad [Wed, 6 Nov 2019 06:03:09 +0000 (07:03 +0100)]
Rollup merge of #66092 - niacat:master, r=nagisa

Use KERN_ARND syscall for random numbers on NetBSD, same as FreeBSD.

This system call is present on all supported NetBSD versions and provides an endless stream of non-blocking random data from the kernel's ChaCha20-based CSPRNG. It doesn't require a file like `/dev/urandom` to be opened.

The system call is documented here (under kern.arandom):
https://netbsd.gw.com/cgi-bin/man-cgi?sysctl+7+NetBSD-7.0

And defined here:
https://nxr.netbsd.org/xref/src/sys/sys/sysctl.h#273

The semantics are the same as FreeBSD so reading 256 bytes per call is fine.

Similar change for getrandom crate: rust-random/getrandom#115

4 years agoRollup merge of #66086 - RalfJung:smallvec, r=nagisa
Mazdak Farrokhzad [Wed, 6 Nov 2019 06:03:08 +0000 (07:03 +0100)]
Rollup merge of #66086 - RalfJung:smallvec, r=nagisa

bump smallvec to 1.0

This includes https://github.com/servo/rust-smallvec/pull/162, fixing an unsoundness in smallvec.

See https://github.com/servo/rust-smallvec/pull/175 for the 1.0 release announcement.

Cc @mbrubeck @emilio

4 years agoRollup merge of #66062 - smaeul:patch/pic-level, r=estebank
Mazdak Farrokhzad [Wed, 6 Nov 2019 06:03:06 +0000 (07:03 +0100)]
Rollup merge of #66062 - smaeul:patch/pic-level, r=estebank

Configure LLVM module PIC level

As of LLVM 9, this is required for 32-bit PowerPC to properly generate
PLT references. Previously, only BigPIC was supported; now LLVM supports
both BigPIC and SmallPIC, and there is no default value provided.

4 years agoRollup merge of #66015 - popzxc:refactor-librustc_parser, r=matklad
Mazdak Farrokhzad [Wed, 6 Nov 2019 06:03:05 +0000 (07:03 +0100)]
Rollup merge of #66015 - popzxc:refactor-librustc_parser, r=matklad

librustc_lexer: Refactor the module

This PR introduces a refactoring of the `librustc_lexer` in order to improve readability.

All the changes performed are only cosmetic and do not introduce any changes the lexer logic or performance.

Newly introduced modules `literal`, `token` and `utils` are just copy-pasted from the `lib.rs` and do not contain even cosmetic changes (I decided to do so so it'll be easier to review changes looking only on diff).

r? @petrochenkov

cc @Centril @matklad

4 years agoRollup merge of #65973 - eddyb:caller-location-panic, r=petrochenkov
Mazdak Farrokhzad [Wed, 6 Nov 2019 06:03:03 +0000 (07:03 +0100)]
Rollup merge of #65973 - eddyb:caller-location-panic, r=petrochenkov

caller_location: point to macro invocation sites, like file!/line!, and use in core::panic!.

The main change here is to `core::panic!`, trying to fix this remaining regression: https://github.com/rust-lang/rust/pull/65927#issuecomment-547625147

However, in order for `caller_location` to be usable from macros the same way `file!()`/`line!()` are, it needs to have the same behavior (of extracting the macro invocation site `Span` and using that).

Arguably we would've had to do this at some point anyway, if we want to use `#[track_caller]` to replace the `file!()`/`line!()` uses from macros, but I'm not sure the RFC mentions this at all.

r? @petrochenkov cc @anp @nnethercote

4 years agoRollup merge of #65776 - nnethercote:rename-LocalInternedString-and-more, r=estebank
Mazdak Farrokhzad [Wed, 6 Nov 2019 06:03:01 +0000 (07:03 +0100)]
Rollup merge of #65776 - nnethercote:rename-LocalInternedString-and-more, r=estebank

Rename `LocalInternedString` and more

This PR renames `LocalInternedString` as `SymbolStr`, removes an unnecessary `impl` from it, improves comments, and cleans up some `SymbolStr` uses.

r? @estebank

4 years agoAddressed review comments.
Pyry Kontio [Wed, 6 Nov 2019 05:47:52 +0000 (14:47 +0900)]
Addressed review comments.

4 years agoAuto merge of #66141 - Centril:rollup-n2fcvp9, r=Centril
bors [Wed, 6 Nov 2019 02:29:21 +0000 (02:29 +0000)]
Auto merge of #66141 - Centril:rollup-n2fcvp9, r=Centril

Rollup of 11 pull requests

Successful merges:

 - #65892 (Remove `PartialEq` and `Eq` from the `SpecialDerives`.)
 - #66014 (Show type parameter name and definition in type mismatch error messages )
 - #66027 (Move has_panic_handler to query)
 - #66054 (syntax: Avoid span arithmetic for delimiter tokens)
 - #66068 (use silent emitter for rustdoc highlighting pass)
 - #66081 (let caller of check_ptr_access_align control the error message)
 - #66093 (Do not ICE with a precision flag in formatting str and no format arguments)
 - #66098 (Detect `::` -> `:` typo when involving turbofish)
 - #66101 (Tweak type mismatch caused by break on tail expr)
 - #66106 (Fix typo in explanation of `E0080`)
 - #66115 (rustc: remove "GlobalMetaData" dead code from hir::map::definitions.)

Failed merges:

r? @ghost

4 years agoRollup merge of #66115 - eddyb:global-meta-what, r=michaelwoerister
Mazdak Farrokhzad [Wed, 6 Nov 2019 02:28:20 +0000 (03:28 +0100)]
Rollup merge of #66115 - eddyb:global-meta-what, r=michaelwoerister

rustc: remove "GlobalMetaData" dead code from hir::map::definitions.

Spotted while refactoring uses of `DefIndex` and/or `LocalDefId`.

r? @michaelwoerister

4 years agoRollup merge of #66106 - JOE1994:master, r=GuillaumeGomez
Mazdak Farrokhzad [Wed, 6 Nov 2019 02:28:19 +0000 (03:28 +0100)]
Rollup merge of #66106 - JOE1994:master, r=GuillaumeGomez

Fix typo in explanation of `E0080`

Handling issue #66105 in Rust repo.
`evaluate an constant expression` to `evaluate a constant expression`

4 years agoRollup merge of #66101 - estebank:break-tail-e0308, r=Centril
Mazdak Farrokhzad [Wed, 6 Nov 2019 02:28:17 +0000 (03:28 +0100)]
Rollup merge of #66101 - estebank:break-tail-e0308, r=Centril

Tweak type mismatch caused by break on tail expr

When `break;` has a type mismatch because the `Destination` points at a tail
expression with an obligation flowing from a return type, point at the
return type.

Fix #39968.

4 years agoRollup merge of #66098 - estebank:path-asciption-typo, r=Centril
Mazdak Farrokhzad [Wed, 6 Nov 2019 02:28:15 +0000 (03:28 +0100)]
Rollup merge of #66098 - estebank:path-asciption-typo, r=Centril

Detect `::` -> `:` typo when involving turbofish

Fix #65569.

4 years agoRollup merge of #66093 - estebank:fmt-ice, r=Centril
Mazdak Farrokhzad [Wed, 6 Nov 2019 02:28:14 +0000 (03:28 +0100)]
Rollup merge of #66093 - estebank:fmt-ice, r=Centril

Do not ICE with a precision flag in formatting str and no format arguments

Fix #66065.

4 years agoRollup merge of #66081 - RalfJung:ptr-offset, r=zackmdavis
Mazdak Farrokhzad [Wed, 6 Nov 2019 02:28:12 +0000 (03:28 +0100)]
Rollup merge of #66081 - RalfJung:ptr-offset, r=zackmdavis

let caller of check_ptr_access_align control the error message

This is needed for https://github.com/rust-lang/miri/pull/1031

4 years agoRollup merge of #66068 - euclio:null-emitter, r=estebank
Mazdak Farrokhzad [Wed, 6 Nov 2019 02:28:11 +0000 (03:28 +0100)]
Rollup merge of #66068 - euclio:null-emitter, r=estebank

use silent emitter for rustdoc highlighting pass

Partially addresses #63284.

4 years agoRollup merge of #66054 - petrochenkov:delspan, r=estebank
Mazdak Farrokhzad [Wed, 6 Nov 2019 02:28:09 +0000 (03:28 +0100)]
Rollup merge of #66054 - petrochenkov:delspan, r=estebank

syntax: Avoid span arithmetic for delimiter tokens

The +/-1 logic is from the time where the whole group had a single span and the delimiter spans had to be calculated from it.
Now the delimiters have their own spans which are constructed by lexer or proc macro API and can be used directly.
If those spans are not perfect, then it should be fixed by tweaking the corresponding lexer logic rather than by trying to add or substract `1` from the span boundaries.

Fixes https://github.com/rust-lang/rust/issues/62524
r? @estebank

4 years agoRollup merge of #66027 - Mark-Simulacrum:panic-handler-query, r=alexcrichton
Mazdak Farrokhzad [Wed, 6 Nov 2019 02:28:08 +0000 (03:28 +0100)]
Rollup merge of #66027 - Mark-Simulacrum:panic-handler-query, r=alexcrichton

Move has_panic_handler to query

Moves us off of a global Once instead re-querying the lang item each time. The conditions on when we set it to true change a little (previously we'd make sure a few more lang items were `Some`) but I think they in practice don't matter, we won't compile later on if we don't have them.

4 years agoRollup merge of #66014 - dkadashev:47319-type-param-def-location, r=estebank
Mazdak Farrokhzad [Wed, 6 Nov 2019 02:28:06 +0000 (03:28 +0100)]
Rollup merge of #66014 - dkadashev:47319-type-param-def-location, r=estebank

Show type parameter name and definition in type mismatch error messages

Fixes #47319

r? estebank

4 years agoRollup merge of #65892 - pnkfelix:trim-special-derives, r=petrochenkov
Mazdak Farrokhzad [Wed, 6 Nov 2019 02:28:05 +0000 (03:28 +0100)]
Rollup merge of #65892 - pnkfelix:trim-special-derives, r=petrochenkov

Remove `PartialEq` and `Eq` from the `SpecialDerives`.

Now that PR #65519 landed, this is the follow-on work of removing `PartialEq` and `Eq` from the set of `SpecialDerives` .

4 years agoApply review suggestions
Tomasz Miąsko [Wed, 6 Nov 2019 00:00:00 +0000 (00:00 +0000)]
Apply review suggestions

4 years agoUse source_callee().is_some() to detect macros
Pi Lanningham [Tue, 5 Nov 2019 23:49:46 +0000 (23:49 +0000)]
Use source_callee().is_some() to detect macros

macro_backtrace() allocates a vector, whereas source_callee() doesn't
but indicates the same thing.  Suggested by @estebank

4 years agoTweak type mismatch caused by break on tail expr
Esteban Küber [Tue, 5 Nov 2019 02:47:02 +0000 (18:47 -0800)]
Tweak type mismatch caused by break on tail expr

When `break;` has a type mismatch because the `Destination` points at a tail
expression with an obligation flowing from a return type, point at the
return type.

Fix #39968.

4 years agoFixed libcore/cell.rs example
Oleg Nosov [Tue, 5 Nov 2019 22:03:31 +0000 (01:03 +0300)]
Fixed libcore/cell.rs example

4 years agoApply suggestions from code review
Ralf Jung [Tue, 5 Nov 2019 20:50:55 +0000 (21:50 +0100)]
Apply suggestions from code review

Co-Authored-By: Mazdak Farrokhzad <twingoow@gmail.com>
4 years agoReverted PhantomData in LinkedList, fixed PhantomData markers in Rc and Arc
Oleg Nosov [Tue, 5 Nov 2019 20:34:54 +0000 (23:34 +0300)]
Reverted PhantomData in LinkedList, fixed PhantomData markers in Rc and Arc

4 years agoAuto merge of #66121 - pietroalbini:rollup-8zrwe7l, r=pietroalbini
bors [Tue, 5 Nov 2019 20:22:27 +0000 (20:22 +0000)]
Auto merge of #66121 - pietroalbini:rollup-8zrwe7l, r=pietroalbini

Rollup of 8 pull requests

Successful merges:

 - #65948 (Improve MaybeUninit::get_{ref,mut} documentation)
 - #65953 (Allow specifying LLVM's MCTargetOptions::ABIName in target specification files)
 - #66012 (De-querify `trivial_dropck_outlives`.)
 - #66025 (`Span` cannot represent `span.hi < span.lo`)
 - #66047 (Don't double-count `simd_shuffle` promotion candidates)
 - #66053 (when Miri tests are not passing, do not add Miri component)
 - #66082 (clean highlightSourceLines code)
 - #66091 (Implemented the home_dir for VxWorks)

Failed merges:

r? @ghost

4 years agouse American spelling for `pluralize!`
Andy Russell [Tue, 5 Nov 2019 20:10:24 +0000 (15:10 -0500)]
use American spelling for `pluralize!`

4 years agoUpdate the bundled `wasi-libc` repository
Alex Crichton [Tue, 5 Nov 2019 19:49:23 +0000 (11:49 -0800)]
Update the bundled `wasi-libc` repository

This updates the libc that the `wasm32-wasi` target links against to the
latest revision, mostly just bringing in minor bug fixes and minor wasm
size improvements.

4 years agoDo not ICE whith a precision flag in formatting str and no format arguments
Esteban Küber [Mon, 4 Nov 2019 18:57:41 +0000 (10:57 -0800)]
Do not ICE whith a precision flag in formatting str and no format arguments

4 years agorustc: remove "GlobalMetaData" dead code from hir::map::definitions.
Eduard-Mihai Burtescu [Tue, 5 Nov 2019 11:49:36 +0000 (13:49 +0200)]
rustc: remove "GlobalMetaData" dead code from hir::map::definitions.

4 years agoAccount for typo in turbofish and suggest `::`
Esteban Küber [Tue, 5 Nov 2019 18:29:54 +0000 (10:29 -0800)]
Account for typo in turbofish and suggest `::`

4 years agoDetect if item.span is in a macro, and fall back
Pi Lanningham [Tue, 5 Nov 2019 15:42:34 +0000 (15:42 +0000)]
Detect if item.span is in a macro, and fall back

If item.span is part of a macro invocation, this has several downstream
implications.  To name two that were found while working on this:

 - The dead-code error gets annotated with a "in this macro invocation"
 - Some errors get canceled if they refer to remote crates

Ideally, we should annotate item.ident.span with the same macro info,
but this is a larger change (see: #66095), so for now we just fall
back to the old behavior if this item was generated by a macro.

I use span.macro_backtrace().len() to detect if it's part of a macro,
because that (among other things) is what is used by the code which
adds the "in this macro invocation" annotations mentioned above.

4 years agoReview feedback: alpha-rename field from `copy_derives` to `containers_derving_copy`.
Felix S. Klock II [Mon, 4 Nov 2019 09:09:58 +0000 (10:09 +0100)]
Review feedback: alpha-rename field from `copy_derives` to `containers_derving_copy`.

4 years agoReview feedback: Remove more stuff! Simplify simplify simplify!
Felix S. Klock II [Wed, 30 Oct 2019 10:13:00 +0000 (11:13 +0100)]
Review feedback: Remove more stuff! Simplify simplify simplify!

4 years agoRemove `PartialEq` and `Eq` from the `SpecialDerives`.
Felix S. Klock II [Mon, 28 Oct 2019 11:40:12 +0000 (12:40 +0100)]
Remove `PartialEq` and `Eq` from the `SpecialDerives`.

4 years agoRollup merge of #66091 - Wind-River:master_xyz, r=cramertj
Pietro Albini [Tue, 5 Nov 2019 13:37:08 +0000 (14:37 +0100)]
Rollup merge of #66091 - Wind-River:master_xyz, r=cramertj

Implemented the home_dir for VxWorks

Use HOME's value if it is set;
otherwise return NONE.

4 years agoRollup merge of #66082 - GuillaumeGomez:cleanup-highlightsourcelines, r=kinnison
Pietro Albini [Tue, 5 Nov 2019 13:37:07 +0000 (14:37 +0100)]
Rollup merge of #66082 - GuillaumeGomez:cleanup-highlightsourcelines, r=kinnison

clean highlightSourceLines code

This is the first part of https://github.com/rust-lang/rust/issues/66046. Now that I've splitted the hashchange stuff and the source code lines highlighting, I'll be able to fix the whole issue once and for all.

r? @kinnison

4 years agoRollup merge of #66053 - RalfJung:miri-toolstate, r=pietroalbini
Pietro Albini [Tue, 5 Nov 2019 13:37:05 +0000 (14:37 +0100)]
Rollup merge of #66053 - RalfJung:miri-toolstate, r=pietroalbini

when Miri tests are not passing, do not add Miri component

Second attempt, this time based on the JSON files that exist since https://github.com/rust-lang/rust/pull/65274.

Fixes https://github.com/rust-lang/rust/issues/60301
r? @pietroalbini @alexcrichton

4 years agoRollup merge of #66047 - ecstatic-morse:issue-66016, r=eddyb
Pietro Albini [Tue, 5 Nov 2019 13:37:03 +0000 (14:37 +0100)]
Rollup merge of #66047 - ecstatic-morse:issue-66016, r=eddyb

Don't double-count `simd_shuffle` promotion candidates

Resolves #66016.

The `#[rustc_args_required_const]` attribute was added to `simd_shuffle*` in rust-lang/stdarch#825. This caused `promote_consts` to double-count its second argument when recording promotion candidates, which caused the promotion candidate compatibility check to fail.

Once `stdarch` is updated in-tree to include rust-lang/stdarch#825, all special logic around `simd_shuffle` can and should be removed.

4 years agoRollup merge of #66025 - petrochenkov:lohi, r=eddyb
Pietro Albini [Tue, 5 Nov 2019 13:37:01 +0000 (14:37 +0100)]
Rollup merge of #66025 - petrochenkov:lohi, r=eddyb

`Span` cannot represent `span.hi < span.lo`

So we can remove the corresponding checks from various code

4 years agoRollup merge of #66012 - nnethercote:dequery-trivial_dropck_outlives, r=michaelwoerister
Pietro Albini [Tue, 5 Nov 2019 13:36:59 +0000 (14:36 +0100)]
Rollup merge of #66012 - nnethercote:dequery-trivial_dropck_outlives, r=michaelwoerister

De-querify `trivial_dropck_outlives`.

It's sufficiently simple and fast that memoizing it is a slight
pessimization.

r? @michaelwoerister

4 years agoRollup merge of #65953 - keystone-enclave:llvm_abiname, r=alexcrichton
Pietro Albini [Tue, 5 Nov 2019 13:36:57 +0000 (14:36 +0100)]
Rollup merge of #65953 - keystone-enclave:llvm_abiname, r=alexcrichton

Allow specifying LLVM's MCTargetOptions::ABIName in target specification files

This addresses #65024, as it allows RISC-V target specification files to set `"llvm-abiname": "lp64d"`.

Other languages (read: C) usually expose this codegen parameter under a compiler argument like `-mabi=<XYZ>`.

4 years agoRollup merge of #65948 - danielhenrymantilla:doc/maybe_uninit_ref_mut, r=RalfJung
Pietro Albini [Tue, 5 Nov 2019 13:36:55 +0000 (14:36 +0100)]
Rollup merge of #65948 - danielhenrymantilla:doc/maybe_uninit_ref_mut, r=RalfJung

Improve MaybeUninit::get_{ref,mut} documentation

As mentioned in https://github.com/rust-lang/rust/issues/63568#issuecomment-544106668, `MaybeUninit`'s `get_{ref,mut}` documentation is lacking, so this PR attempts to fix that.

That being said, and as @RalfJung mentions in that thread,

> In particular, we should clarify that all the UB rules for these methods equally apply when calling the raw ptr methods and creating a reference manually.

these other docs also need to be improved, which I can do in this PR ~~(hence the `[WIP]`)~~.

Finally, since all these documentations are related to clearly establishing when dealing with uninitialized memory which patterns are known to be sound and which patterns are currently UB (that is, until, if ever, the rules around references to unintialized integers get relaxed, this documentation will treat them as UB, and advise against such patterns (_e.g._, it is not possible to use uninitialized buffers with the `Read` API)), I think that adding even more examples to the main documentation of `MaybeUninit` inherent definition wouldn't hurt either.

___

  - [Rendered](http://dreamy-ritchie-99d637.netlify.com/core/mem/union.maybeuninit#method.get_ref)

4 years agolibstd: allow `improper_ctypes` in `sys/sgx`
David Wood [Tue, 5 Nov 2019 13:17:05 +0000 (13:17 +0000)]
libstd: allow `improper_ctypes` in `sys/sgx`

Signed-off-by: David Wood <david@davidtw.co>
4 years agoAuto merge of #66083 - RalfJung:miri-offset-from, r=oli-obk
bors [Tue, 5 Nov 2019 12:46:29 +0000 (12:46 +0000)]
Auto merge of #66083 - RalfJung:miri-offset-from, r=oli-obk

fix Miri offset_from

This is needed to make https://github.com/rust-lang/miri/pull/1032 pass.

4 years agoLinkedList: PhantomData<Box<Node<T>>> => PhantomData<T>
Oleg Nosov [Tue, 5 Nov 2019 12:22:03 +0000 (15:22 +0300)]
LinkedList: PhantomData<Box<Node<T>>> => PhantomData<T>

4 years agotests: add `#[repr(C)]` to test
David Wood [Mon, 28 Oct 2019 18:51:16 +0000 (18:51 +0000)]
tests: add `#[repr(C)]` to test

Signed-off-by: David Wood <david@davidtw.co>
4 years agoimproper ctypes: adjust lint msg for extern fns
David Wood [Sun, 27 Oct 2019 14:05:38 +0000 (14:05 +0000)]
improper ctypes: adjust lint msg for extern fns

Signed-off-by: David Wood <david@davidtw.co>
4 years agocodegen_llvm: remove unnecessary "extern C"
David Wood [Sat, 26 Oct 2019 19:36:51 +0000 (20:36 +0100)]
codegen_llvm: remove unnecessary "extern C"

Signed-off-by: David Wood <david@davidtw.co>
4 years agoimproper_ctypes: `extern "C"` fns
David Wood [Sat, 5 Oct 2019 14:52:46 +0000 (15:52 +0100)]
improper_ctypes: `extern "C"` fns

4 years agofix link to ptr docs
Ralf Jung [Tue, 5 Nov 2019 12:22:43 +0000 (13:22 +0100)]
fix link to ptr docs

4 years agoImprove std::thread::Result documentation
Pyry Kontio [Tue, 5 Nov 2019 10:16:09 +0000 (19:16 +0900)]
Improve std::thread::Result documentation

4 years agoexpand comment explaining integer exception
Ralf Jung [Tue, 5 Nov 2019 09:41:19 +0000 (10:41 +0100)]
expand comment explaining integer exception

4 years agoAuto merge of #66109 - pietroalbini:rollup-2npidna, r=pietroalbini
bors [Tue, 5 Nov 2019 09:31:36 +0000 (09:31 +0000)]
Auto merge of #66109 - pietroalbini:rollup-2npidna, r=pietroalbini

Rollup of 10 pull requests

Successful merges:

 - #65136 (Update codegen option documentation.)
 - #65574 (docs: improve disclaimer regarding LinkedList)
 - #65720 (Add FFI bindings for LLVM's Module::getInstructionCount())
 - #65905 ([doc] fixes for unix/vxworks `OpenOptionsExt::mode`)
 - #65962 (Fix logic in example.)
 - #66019 (Improved std::iter::Chain documentation)
 - #66038 (doc(str): show example of chars().count() under len())
 - #66042 (Suggest correct code when encountering an incorrect trait bound referencing the current trait)
 - #66073 (Do not needlessly write-lock)
 - #66096 (Add a failing UI test for multiple loops of all kinds in a `const`)

Failed merges:

r? @ghost

4 years agoalso edit String::from_raw_parts while we are at it
Ralf Jung [Tue, 5 Nov 2019 08:57:52 +0000 (09:57 +0100)]
also edit String::from_raw_parts while we are at it

4 years agoexpand slice from_raw_part docs
Ralf Jung [Tue, 5 Nov 2019 08:55:33 +0000 (09:55 +0100)]
expand slice from_raw_part docs

4 years agoRollup merge of #66096 - ecstatic-morse:const-loop-test, r=Centril
Pietro Albini [Tue, 5 Nov 2019 08:50:00 +0000 (09:50 +0100)]
Rollup merge of #66096 - ecstatic-morse:const-loop-test, r=Centril

Add a failing UI test for multiple loops of all kinds in a `const`

This simply demonstrates the current behavior and ensures we don't allow anything by accident.

The new const checker will be able to improve the diagnostics here. While working on it, I didn't see very many tests with non-`while` loops in a `const`, and there were no tests with multiple loops.

4 years agoRollup merge of #66073 - Mark-Simulacrum:no-borrow-mut, r=Centril
Pietro Albini [Tue, 5 Nov 2019 08:49:59 +0000 (09:49 +0100)]
Rollup merge of #66073 - Mark-Simulacrum:no-borrow-mut, r=Centril

Do not needlessly write-lock

Just removes a needless `borrow_mut()` by using `borrow()` instead.

4 years agoRollup merge of #66042 - ohadravid:suggest-correct-code-when-ref-current-trait, r...
Pietro Albini [Tue, 5 Nov 2019 08:49:58 +0000 (09:49 +0100)]
Rollup merge of #66042 - ohadravid:suggest-correct-code-when-ref-current-trait, r=estebank

Suggest correct code when encountering an incorrect trait bound referencing the current trait

Fixes #65985 and also improves the suggestion for code like this:

```
trait Grab {
    type Value;
    fn grab(&self) -> Grab::Value;
}
```

To suggest `<Self as Grab>::Value`.

I wasn't sure which of the syntax versions is better (`<Self as ..>::` vs `Self::`), so I used the former simply because it was less change to the existing code.

r? @estebank

4 years agoRollup merge of #66038 - jdxcode:char-len, r=alexcrichton
Pietro Albini [Tue, 5 Nov 2019 08:49:56 +0000 (09:49 +0100)]
Rollup merge of #66038 - jdxcode:char-len, r=alexcrichton

doc(str): show example of chars().count() under len()

the docs are great at explaining that .len() isn't like in other
languages but stops short of explaining how to get the character length.

4 years agoRollup merge of #66019 - olegnn:fixed_std_iter_chain_docs, r=Mark-Simulacrum
Pietro Albini [Tue, 5 Nov 2019 08:49:55 +0000 (09:49 +0100)]
Rollup merge of #66019 - olegnn:fixed_std_iter_chain_docs, r=Mark-Simulacrum

Improved std::iter::Chain documentation

Replaces `strings two iterators` by `links two iterators` in `std::iter::Chain` documentation.

I didn't find any meaning of `strings` which can be evaluated as `links` or `joins`.

I don't think that `std::iter:Chain` works as a stringer or plays billiards. (https://www.lexico.com/en/definition/string).

4 years agoRollup merge of #65962 - kevincox:patch-1, r=sfackler
Pietro Albini [Tue, 5 Nov 2019 08:49:53 +0000 (09:49 +0100)]
Rollup merge of #65962 - kevincox:patch-1, r=sfackler

Fix logic in example.

The example claims SuperiorThanZero and presumably Zero is not Superior than itself so it should not be allowed.

4 years agoRollup merge of #65905 - cuviper:doc-unix-mode, r=Dylan-DPC
Pietro Albini [Tue, 5 Nov 2019 08:49:52 +0000 (09:49 +0100)]
Rollup merge of #65905 - cuviper:doc-unix-mode, r=Dylan-DPC

[doc] fixes for unix/vxworks `OpenOptionsExt::mode`

4 years agoRollup merge of #65720 - icefoxen:LLVMgetInstructionCount, r=rkruppe
Pietro Albini [Tue, 5 Nov 2019 08:49:50 +0000 (09:49 +0100)]
Rollup merge of #65720 - icefoxen:LLVMgetInstructionCount, r=rkruppe

Add FFI bindings for LLVM's Module::getInstructionCount()

Just to make it usable for profiling and such inside
rustc itself.  It was vaguely useful in
https://wiki.alopex.li/WhereRustcSpendsItsTime and I figured
I might as well upstream it; I may or may not ever get around
to doing more with it (hopefully I will), but it may be useful
for others.

4 years agoRollup merge of #65574 - tshepang:linked-list-disclaimer, r=Centril
Pietro Albini [Tue, 5 Nov 2019 08:49:48 +0000 (09:49 +0100)]
Rollup merge of #65574 - tshepang:linked-list-disclaimer, r=Centril

docs: improve disclaimer regarding LinkedList

4 years agoRollup merge of #65136 - ehuss:update-codegen-options, r=Dylan-DPC
Pietro Albini [Tue, 5 Nov 2019 08:49:47 +0000 (09:49 +0100)]
Rollup merge of #65136 - ehuss:update-codegen-options, r=Dylan-DPC

Update codegen option documentation.

Some documentation updates:

- Add more detail to codegen options.
- Add missing options:
    - `force-frame-pointers`
    - `default-linker-libraries`
    - `linker-plugin-lto`
- Add fragment anchors for all command-line-arguments.
- Add some cross links between options.

4 years agolink from raw slice creation methods to safety requirements
Ralf Jung [Tue, 5 Nov 2019 08:32:47 +0000 (09:32 +0100)]
link from raw slice creation methods to safety requirements

4 years agoAuto merge of #65938 - eddyb:fn-abi-rename, r=oli-obk
bors [Tue, 5 Nov 2019 05:47:31 +0000 (05:47 +0000)]
Auto merge of #65938 - eddyb:fn-abi-rename, r=oli-obk

rustc_target: rename {Fn,Arg}Type to {Fn,Arg}Abi.

I was trying to tweak the API of `FnType` (now `FnAbi`) and the name kept bothering me.

`FnAbi` is to a function signature a bit like a layout is to a type, so the name still isn't perfect yet, but at least it doesn't have the misleading `Type` in it anymore.

If this can't land I think I can continue my original refactor without it, so I'm not strongly attached to it.

r? @nagisa cc @oli-obk

4 years agoFix typo in explanation of `E0080`
Youngsuk Kim [Tue, 5 Nov 2019 05:35:18 +0000 (00:35 -0500)]
Fix typo in explanation of `E0080`

Handling issue #66105 in Rust repo.
`evaluate an constant expression` to `evaluate a constant expression`

4 years agoAdd target thumbv7neon-unknown-linux-musleabihf
Samuel Holland [Tue, 5 Nov 2019 03:48:22 +0000 (21:48 -0600)]
Add target thumbv7neon-unknown-linux-musleabihf

This is a copy of thumbv7neon-unknown-linux-gnueabihf with musl changes
merged from armv7-unknown-linux-musleabihf.

4 years agoAuto merge of #65911 - mati865:static-libstdcxx-mingw, r=alexcrichton
bors [Tue, 5 Nov 2019 00:30:58 +0000 (00:30 +0000)]
Auto merge of #65911 - mati865:static-libstdcxx-mingw, r=alexcrichton

Statically link libstdc++ on windows-gnu

Fixes https://github.com/rust-lang/rust/issues/61561 by not shipping `libstdc++-6.dll` which can conflict with the GCC.

4 years agoDetect `::` -> `:` typo when involving turbofish
Esteban Küber [Tue, 5 Nov 2019 00:19:55 +0000 (16:19 -0800)]
Detect `::` -> `:` typo when involving turbofish

4 years agoAdd tests for loop constructs in consts
Dylan MacKenzie [Mon, 4 Nov 2019 21:09:02 +0000 (13:09 -0800)]
Add tests for loop constructs in consts

These errors are suboptimal, but they will be fixed by the new
`check_consts` pass.

4 years agoAuto merge of #65874 - Nadrieril:clarify-usefulness, r=varkor
bors [Mon, 4 Nov 2019 21:06:50 +0000 (21:06 +0000)]
Auto merge of #65874 - Nadrieril:clarify-usefulness, r=varkor

Clarify pattern-matching usefulness algorithm

This PR clarifies a bit the usefulness algorithm by emphasizing that each row of the matrix can be seen as a sort of stack from which we pop constructors. It also moves code around to increase separation of concerns.

This is part of my splitting of https://github.com/rust-lang/rust/pull/65160 into smaller PRs.

4 years agoMinor style improvements
Daniel Henry-Mantilla [Sun, 3 Nov 2019 20:53:21 +0000 (21:53 +0100)]
Minor style improvements

Co-Authored-By: Ralf Jung <post@ralfj.de>
4 years agoUse any() in code shared between FreeBSD and NetBSD
nia [Mon, 4 Nov 2019 17:34:29 +0000 (17:34 +0000)]
Use any() in code shared between FreeBSD and NetBSD

4 years agoUse KERN_ARND syscall for random numbers on NetBSD, same as FreeBSD.
nia [Mon, 4 Nov 2019 17:16:11 +0000 (17:16 +0000)]
Use KERN_ARND syscall for random numbers on NetBSD, same as FreeBSD.

This system call is present on all supported NetBSD versions and
provides an endless stream of non-blocking random data from the
kernel's ChaCha20-based CSPRNG. It doesn't require a file descriptor
to be opened.

The system call is documented here (under kern.arandom):
https://netbsd.gw.com/cgi-bin/man-cgi?sysctl+7+NetBSD-7.0

And defined here:
https://nxr.netbsd.org/xref/src/sys/sys/sysctl.h#273

The semantics are the same as FreeBSD so reading 256 bytes per call
is fine.

Similar change for getrandom crate: rust-random/getrandom#115

4 years agoImplemented the home_dir for VxWorks
Umesh Kalappa [Wed, 30 Oct 2019 08:38:32 +0000 (01:38 -0700)]
Implemented the home_dir for VxWorks

4 years agoAdd warning annotations for issue-47094 test
Tomasz Miąsko [Mon, 4 Nov 2019 00:00:00 +0000 (00:00 +0000)]
Add warning annotations for issue-47094 test

4 years agoUse check-pass in ui tests where appropriate
Tomasz Miąsko [Mon, 4 Nov 2019 00:00:00 +0000 (00:00 +0000)]
Use check-pass in ui tests where appropriate

4 years agoUse build-pass in ui tests where appropriate
Tomasz Miąsko [Tue, 29 Oct 2019 00:00:00 +0000 (00:00 +0000)]
Use build-pass in ui tests where appropriate

4 years agobump smallvec to 1.0
Ralf Jung [Mon, 4 Nov 2019 14:59:09 +0000 (15:59 +0100)]
bump smallvec to 1.0

4 years agoDo not require extra LLVM backends for `x.py test` to pass
Vadim Petrochenkov [Mon, 4 Nov 2019 13:53:05 +0000 (16:53 +0300)]
Do not require extra LLVM backends for `x.py test` to pass

4 years agoUse run-pass for ui tests where appropriate
Tomasz Miąsko [Tue, 29 Oct 2019 00:00:00 +0000 (00:00 +0000)]
Use run-pass for ui tests where appropriate

4 years agoRemove no longer useful ui test
Tomasz Miąsko [Tue, 29 Oct 2019 00:00:00 +0000 (00:00 +0000)]
Remove no longer useful ui test

4 years agoalso test different integers
Ralf Jung [Mon, 4 Nov 2019 12:31:29 +0000 (13:31 +0100)]
also test different integers

4 years agotest offset_from with two integers
Ralf Jung [Mon, 4 Nov 2019 12:30:00 +0000 (13:30 +0100)]
test offset_from with two integers

4 years agoMiri: ptr_offset_from: support offset_from with twice the same non-null integer
Ralf Jung [Mon, 4 Nov 2019 12:24:27 +0000 (13:24 +0100)]
Miri: ptr_offset_from: support offset_from with twice the same non-null integer

4 years agoMiri: offset_from: do int-to-ptr casts when needed
Ralf Jung [Mon, 4 Nov 2019 12:07:36 +0000 (13:07 +0100)]
Miri: offset_from: do int-to-ptr casts when needed

4 years agoclean highlightSourceLines code
Guillaume Gomez [Mon, 4 Nov 2019 12:14:36 +0000 (13:14 +0100)]
clean highlightSourceLines code