]> git.lizzy.rs Git - rust.git/log
rust.git
5 years agoNeaten up `fold_crate`.
Nicholas Nethercote [Tue, 5 Feb 2019 04:12:15 +0000 (15:12 +1100)]
Neaten up `fold_crate`.

5 years agoChange `fold_qpath` to `fold_qself`.
Nicholas Nethercote [Tue, 5 Feb 2019 04:11:52 +0000 (15:11 +1100)]
Change `fold_qpath` to `fold_qself`.

It's simpler that way.

5 years agoSimplify `fold_attribute`.
Nicholas Nethercote [Tue, 5 Feb 2019 04:11:27 +0000 (15:11 +1100)]
Simplify `fold_attribute`.

It doesn't need to return an `Option`.

5 years agoFold some overlooked spans.
Nicholas Nethercote [Tue, 5 Feb 2019 04:11:10 +0000 (15:11 +1100)]
Fold some overlooked spans.

5 years agoStreamline `Folder`.
Nicholas Nethercote [Tue, 5 Feb 2019 04:10:04 +0000 (15:10 +1100)]
Streamline `Folder`.

Specifically:

- Remove dead methods: fold_usize, fold_meta_items, fold_opt_bounds.

- Remove useless methods: fold_global_asm, fold_range_end.

- Inline and remove unnecessary methods: fold_item_simple,
  fold_foreign_item_simple.

5 years agoRemove some unnecessary `ast::` and `fold::` qualifiers.
Nicholas Nethercote [Tue, 5 Feb 2019 04:09:23 +0000 (15:09 +1100)]
Remove some unnecessary `ast::` and `fold::` qualifiers.

5 years agoAuto merge of #58095 - h-michael:cargotest-2018, r=Centril
bors [Mon, 4 Feb 2019 05:16:11 +0000 (05:16 +0000)]
Auto merge of #58095 - h-michael:cargotest-2018, r=Centril

Transition cargotest to Rust 2018

Only updating Cargo.toml

#58099

5 years agoAuto merge of #58090 - ljedrz:HirIdification_phase_2, r=Zoxc
bors [Mon, 4 Feb 2019 01:06:25 +0000 (01:06 +0000)]
Auto merge of #58090 - ljedrz:HirIdification_phase_2, r=Zoxc

HirIdification: add key HirId methods

This is another PR in a series dedicated to `HirId`-ification, i.e. deprecating `ast::NodeId`s after the AST > HIR lowering process. The bigger proof of concept can be seen in #57578.

**Phase 2**: add key `HirId` methods mirroring the `NodeId` ones.

These should be counterparts of the most widely used `Hir` methods using `NodeId`s. Note that this expands `hir::map::Definitions` with an additional `hir_to_def_index` map (with the intention of later removing `node_to_def_index`).

As a bonus there is also a small cleanup commit removing unnecessary calls to `node_to_hir_id` where `HirId` is already available.

r? @Zoxc
Cc @varkor

5 years agohir: remove Definitions::hir_to_def_index
ljedrz [Sun, 3 Feb 2019 21:27:52 +0000 (22:27 +0100)]
hir: remove Definitions::hir_to_def_index

5 years agoAuto merge of #58024 - h-michael:update-rls, r=Xanewok
bors [Sun, 3 Feb 2019 21:19:38 +0000 (21:19 +0000)]
Auto merge of #58024 - h-michael:update-rls, r=Xanewok

submodule: update rls from c9d25b to f331ff7

Update rls https://github.com/rust-lang/rls/compare/c9d25b667a...e2145d

https://github.com/rust-lang/rls/pull/1276 - h-michael:clippy, r=Xanewok
https://github.com/rust-lang/rls/pull/1269 - rust-lang:dependabot/cargo/rand-0.6.5, r=Xanewok
Remove extra backticks in contributing.md
https://github.com/rust-lang/rls/pull/1267 from h-michael/contributingmd
https://github.com/rust-lang/rls/pull/1268 from matthiaskrgr/rustup
https://github.com/rust-lang/rls/pull/1262 from rust-lang/dependabot/cargo/tokio-0.1.15
https://github.com/rust-lang/rls/pull/1264 - h-michael:pub-crate, r=alexheretic
https://github.com/rust-lang/rls/pull/1261 - rust-lang:dependabot/cargo/tokio-timer-0.2.9, r=Xanewok
https://github.com/rust-lang/rls/pull/1263 - Xanewok:update-clippy, r=Xanewok
https://github.com/rust-lang/rls/pull/1257 from Xanewok/architecture
https://github.com/rust-lang/rls/pull/1258 - rust-lang:dependabot/cargo/lsp-types-0.55.1, r=Xanewok
https://github.com/rust-lang/rls/pull/1255 - Xanewok:you-only-complete-once-fool, r=Xanewok
https://github.com/rust-lang/rls/pull/1252 - rust-lang:dependabot/cargo/cargo_metadata-0.7.0, r=alexheretic
https://github.com/rust-lang/rls/pull/1253 - rust-lang:dependabot/cargo/lsp-types-0.55.0, r=Xanewok
https://github.com/rust-lang/rls/pull/1254 - rust-lang:dependabot/cargo/serde_json-1.0.37, r=Xanewok
dependabot: Explicitly list default allowed_updates
dependabot: Add automerge strategy for clippy_lints
https://github.com/rust-lang/rls/pull/1251 - Xanewok:translate-deglob-test, r=Xanewok
https://github.com/rust-lang/rls/pull/1250 from alexheretic/master
https://github.com/rust-lang/rls/pull/1244 - Xanewok:translate-tests, r=alexheretic
https://github.com/rust-lang/rls/pull/1247 - alexheretic:register-more-clippy, r=Xanewok
https://github.com/rust-lang/rls/pull/1230 - emilio:testing-testing, r=Xanewok
https://github.com/rust-lang/rls/pull/1246 from alexheretic/did-save-manifest
Merge branch 'beta-version-bump' of https://github.com/rust-lang-nursery/rls

5 years agohir: add HirId methods
ljedrz [Sun, 3 Feb 2019 08:14:31 +0000 (09:14 +0100)]
hir: add HirId methods

5 years agoAuto merge of #58081 - Centril:liballoc-2018, r=oli-obk
bors [Sun, 3 Feb 2019 18:40:23 +0000 (18:40 +0000)]
Auto merge of #58081 - Centril:liballoc-2018, r=oli-obk

Transition liballoc to Rust 2018

This transitions liballoc to Rust 2018 edition and applies relevant idiom lints.
I also did a small bit of drive-by cleanup along the way.

r? @oli-obk

I started with liballoc since it seemed easiest. In particular, adding `edition = "2018"` to libcore gave me way too many errors due to stdsimd. Ideally we should be able to continue this crate-by-crate until all crates use 2018.

5 years agoAuto merge of #58093 - h-michael:clippy, r=Xanewok
bors [Sun, 3 Feb 2019 16:06:55 +0000 (16:06 +0000)]
Auto merge of #58093 - h-michael:clippy, r=Xanewok

submodule: update clippy from 6ce78d1 to 3bda548

https://github.com/rust-lang/rust-clippy/compare/6ce78d1...3bda548

Rustup: unused trim result
Auto merge of #3727 - phansch:rustup_unused_trim, r=matthiaskrgr  …
Travis: Don't run integration tests on every PR commit  …
Auto merge of #3726 - phansch:some_renaming, r=oli-obk  …
Fix ICE in vec_box lint and add run-rustfix  …
Make vec_box MachineApplicable
Remove conditionals from base builds  …
Adding lint for too many lines.
Updating number of lines for the failing test to be > 100.  …
Running util/dev to update README/CHANGELOG
Reworking function logic, and adding doc example.  …
Moving tests to ui-toml to make use of clippy.toml
rustfmt
Adding back tests, but also reducing threshold by 1
Updating to just warn for one test.
Fix test broken by removing comment.
Skipping check if in external macro.
Adding lint for too many lines.
Updating number of lines for the failing test to be > 100.  …
Moving tests to ui-toml to make use of clippy.toml
rustfmt
Adding back tests, but also reducing threshold by 1
Updating to just warn for one test.
Fix test broken by removing comment.
Changing single character string to a character match.
Updated readme.
Updating code to ignore rustfmt issue.
phansch and avborhanian
Update clippy_lints/src/types.rs  …
Update clippy_lints/src/types.rs  …
Auto merge of #3732 - phansch:fix_ice_3720, r=oli-obk  …
Auto merge of #3731 - phansch:travis, r=phansch  …
Auto merge of #2857 - avborhanian:master, r=phansch  …
Fix breakage due to rust-lang/rust#58079  …
Auto merge of #3736 - mikerite:fix-build-20190203, r=phansch  …

related with: #58024

5 years agoUse 2018 edition for cargotest
Hirokazu Hata [Sun, 3 Feb 2019 12:32:59 +0000 (21:32 +0900)]
Use 2018 edition for cargotest

5 years agoAuto merge of #57922 - davidtwco:issue-57410, r=petrochenkov
bors [Sun, 3 Feb 2019 13:35:15 +0000 (13:35 +0000)]
Auto merge of #57922 - davidtwco:issue-57410, r=petrochenkov

Update visibility of intermediate use items.

Fixes #57410 and fixes #53925 and fixes #47816.

Currently, the target of a use statement will be updated with
the visibility of the use statement itself (if the use statement was
visible).

This PR ensures that if the path to the target item is via another
use statement then that intermediate use statement will also have the
visibility updated like the target. This silences incorrect
`unreachable_pub` lints with inactionable suggestions.

5 years agosubmodule: update clippy from 6ce78d1 to 3bda548
Hirokazu Hata [Sun, 3 Feb 2019 09:41:09 +0000 (18:41 +0900)]
submodule: update clippy from 6ce78d1 to 3bda548

5 years agoAuto merge of #58062 - SimonSapin:iter_from_fn, r=alexcrichton
bors [Sun, 3 Feb 2019 08:48:35 +0000 (08:48 +0000)]
Auto merge of #58062 - SimonSapin:iter_from_fn, r=alexcrichton

Rename iter::unfold to iter::from_fn and remove explicit state

This API is unstable.

CC https://github.com/rust-lang/rust/issues/55977#issuecomment-459657195

5 years agocleanup: don't use node_to_hir_id where unneeded
ljedrz [Sun, 3 Feb 2019 07:51:50 +0000 (08:51 +0100)]
cleanup: don't use node_to_hir_id where unneeded

5 years agoliballoc: revert nested imports style changes.
Mazdak Farrokhzad [Sun, 3 Feb 2019 07:27:44 +0000 (08:27 +0100)]
liballoc: revert nested imports style changes.

5 years agoAuto merge of #58043 - jethrogb:jb/sgx-usercallnrs, r=joshtriplett
bors [Sun, 3 Feb 2019 04:57:30 +0000 (04:57 +0000)]
Auto merge of #58043 - jethrogb:jb/sgx-usercallnrs, r=joshtriplett

Fix `std::os::fortanix_sgx::usercalls::raw::UsercallNrs`

It was 0-indexed but should be 1-indexed. This PR just removes the duplicate code and re-exports the internal enum.

Fixes https://github.com/fortanix/rust-sgx/issues/88

r? @joshtriplett

5 years agoliballoc: alloc-extern-crates test needs --edition=2018
Mazdak Farrokhzad [Sun, 3 Feb 2019 03:37:50 +0000 (04:37 +0100)]
liballoc: alloc-extern-crates test needs --edition=2018

5 years agosubmodule: update rls from c9d25b667a to f331ff7
Hirokazu Hata [Sun, 3 Feb 2019 00:48:18 +0000 (09:48 +0900)]
submodule: update rls from c9d25b667a to f331ff7

5 years agoAuto merge of #58079 - ljedrz:HirIdification_phase_1, r=Zoxc
bors [Sun, 3 Feb 2019 00:24:25 +0000 (00:24 +0000)]
Auto merge of #58079 - ljedrz:HirIdification_phase_1, r=Zoxc

hir: add HirId to main Hir nodes

This is the 1st PR in a series dedicated to `HirId`-ification, i.e. deprecating `ast::NodeId`s after the AST > HIR lowering process. The bigger proof of concept can be seen in https://github.com/rust-lang/rust/pull/57578.

**Phase 1**: store `HirId` in all remaining (some already have it) main HIR nodes (excluding `*Id` objects).

- [x] `Field`
- [x] `FieldPat`
- [x] `ForeignItem`
- [x] `GenericParam`
- [x] `Lifetime`
- [x] `MacroDef`
- [x] `PathSegment`
- [x] `PatKind::Binding`
- [x] `Stmt`
- [x] `StructField`
- [x] `TypeBinding`
- [x] `VariantData`
- [x] `WhereClause`
- [x] `WhereEqPredicate`

r? @Zoxc
Cc @varkor

5 years agoAuto merge of #58071 - Centril:adjust-stabilization-order, r=varkor
bors [Sat, 2 Feb 2019 19:53:12 +0000 (19:53 +0000)]
Auto merge of #58071 - Centril:adjust-stabilization-order, r=varkor

Fix stabilization order of `uniform_paths`

The `accepted` list is not correctly sorted; this PR fixes that.

r? @alexreg

@bors rollup

5 years agoliballoc: remove redundant extern crate.
Mazdak Farrokhzad [Sat, 2 Feb 2019 16:43:55 +0000 (17:43 +0100)]
liballoc: remove redundant extern crate.

5 years agohir: add HirId to main Hir nodes
ljedrz [Sat, 2 Feb 2019 14:40:08 +0000 (15:40 +0100)]
hir: add HirId to main Hir nodes

5 years agoUpdate visibility of intermediate use items.
David Wood [Sat, 26 Jan 2019 19:30:52 +0000 (20:30 +0100)]
Update visibility of intermediate use items.

Currently, the target of a use statement will be updated with
the visibility of the use statement itself (if the use statement was
visible).

This commit ensures that if the path to the target item is via another
use statement then that intermediate use statement will also have the
visibility updated like the target. This silences incorrect
`unreachable_pub` lints with inactionable suggestions.

5 years agoliballoc: fix some idiom lints.
Mazdak Farrokhzad [Sat, 2 Feb 2019 11:48:12 +0000 (12:48 +0100)]
liballoc: fix some idiom lints.

5 years agoliballoc: elide &'static.
Mazdak Farrokhzad [Sat, 2 Feb 2019 11:27:41 +0000 (12:27 +0100)]
liballoc: elide &'static.

5 years agoliballoc: elide some lifetimes.
Mazdak Farrokhzad [Sat, 2 Feb 2019 11:23:15 +0000 (12:23 +0100)]
liballoc: elide some lifetimes.

5 years agoliballoc: apply uniform_paths.
Mazdak Farrokhzad [Sat, 2 Feb 2019 10:05:20 +0000 (11:05 +0100)]
liballoc: apply uniform_paths.

5 years agoliballoc: prefer imports of borrow from libcore.
Mazdak Farrokhzad [Sat, 2 Feb 2019 09:53:27 +0000 (10:53 +0100)]
liballoc: prefer imports of borrow from libcore.

5 years agoliballoc: adjust abolute imports + more import fixes.
Mazdak Farrokhzad [Sat, 2 Feb 2019 09:34:36 +0000 (10:34 +0100)]
liballoc: adjust abolute imports + more import fixes.

5 years agoliballoc: refactor & fix some imports.
Mazdak Farrokhzad [Sat, 2 Feb 2019 09:14:40 +0000 (10:14 +0100)]
liballoc: refactor & fix some imports.

5 years agoAuto merge of #58047 - SimonSapin:split_ascii_whitespace, r=Centril
bors [Sat, 2 Feb 2019 09:12:39 +0000 (09:12 +0000)]
Auto merge of #58047 - SimonSapin:split_ascii_whitespace, r=Centril

Stabilize split_ascii_whitespace

Tracking issue FCP to merge: https://github.com/rust-lang/rust/issues/48656#issuecomment-442372750

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

5 years agoliballoc: cargo check passes on 2018
Mazdak Farrokhzad [Sat, 2 Feb 2019 07:36:45 +0000 (08:36 +0100)]
liballoc: cargo check passes on 2018

5 years agoliballoc => edition = 2018.
Mazdak Farrokhzad [Sat, 2 Feb 2019 07:36:03 +0000 (08:36 +0100)]
liballoc => edition = 2018.

5 years agofix stabilization order of uniform_paths.
Mazdak Farrokhzad [Sat, 2 Feb 2019 06:42:27 +0000 (07:42 +0100)]
fix stabilization order of uniform_paths.

5 years agoAuto merge of #58048 - SimonSapin:error_type_id, r=Centril
bors [Sat, 2 Feb 2019 06:42:20 +0000 (06:42 +0000)]
Auto merge of #58048 - SimonSapin:error_type_id, r=Centril

Stabilize std::error::Error::type_id

This should have been part of https://github.com/rust-lang/rust/pull/57834

FCP: https://github.com/rust-lang/rust/issues/27745#issuecomment-373906749

5 years agoAuto merge of #58060 - andre-richter:master, r=nagisa
bors [Sat, 2 Feb 2019 04:06:11 +0000 (04:06 +0000)]
Auto merge of #58060 - andre-richter:master, r=nagisa

targets: aarch64-unknown-none: Add +strict-align

On AArch64, an unaligned access causes a synchronous exception. In the current
state of the target, the compiler might generate unaligned accesses, see
https://github.com/rust-embedded/rust-raspi3-tutorial/issues/10.

Since this is a bare-metal target, it is possible that there is no exception
handling in place (yet) to recover from this case, causing a binary to just
silently fail.

Add `+strict-align` to avoid this case.

5 years agoAuto merge of #57937 - denzp:nvptx, r=nagisa
bors [Fri, 1 Feb 2019 23:43:34 +0000 (23:43 +0000)]
Auto merge of #57937 - denzp:nvptx, r=nagisa

NVPTX target specification

This change adds a built-in `nvptx64-nvidia-cuda` GPGPU no-std target specification and a basic PTX assembly smoke tests.

The approach is taken here and the target spec is based on `ptx-linker`, a project started about 1.5 years ago. Key feature: bitcode object files being linked with LTO into the final module on the linker's side.

Prior to this change, the linker used a `ld` linker-flavor, but I think, having the special CLI convention is a more reliable way.

Questions about further progress on reliable CUDA workflow with Rust:
1. Is it possible to create a test suite `codegen-asm` to verify end-to-end integration with LLVM backend?
1. How would it be better to organise no-std `compile-fail` tests: add `#![no_std]` where possible and mark others as `ignore-nvptx` directive, or alternatively, introduce `compile-fail-no-std` test suite?
1. Can we have the `ptx-linker` eventually be integrated as `rls` or `clippy`? Hopefully, this should allow to statically link against LLVM used in Rust and get rid of the [current hacky solution](https://github.com/denzp/rustc-llvm-proxy).
1. Am I missing some methods from `rustc_codegen_ssa::back::linker::Linker` that can be useful for bitcode-only linking?

Currently, there are no major public CUDA projects written in Rust I'm aware of, but I'm expecting to have a built-in target will create a solid foundation for further experiments and awesome crates.

Related to #38789
Fixes #38787
Fixes #38786

5 years agoRename iter::unfold to iter::from_fn and remove explicit state
Simon Sapin [Fri, 1 Feb 2019 22:59:11 +0000 (23:59 +0100)]
Rename iter::unfold to iter::from_fn and remove explicit state

This API is unstable.

CC https://github.com/rust-lang/rust/issues/55977#issuecomment-459657195

5 years agotargets: aarch64-unknown-none: Add +strict-align
Andre Richter [Fri, 1 Feb 2019 21:11:40 +0000 (22:11 +0100)]
targets: aarch64-unknown-none: Add +strict-align

On AArch64, an unaligned access causes a synchronous exception. In the current
state of the target, the compiler might generate unaligned accesses, see
https://github.com/rust-embedded/rust-raspi3-tutorial/issues/10.

Since this is a bare-metal target, it is possible that there is no exception
handling in place (yet) to recover from this case, causing a binary to just
silently fail.

Add `+strict-align` to avoid this case.

5 years agoAuto merge of #57978 - varkor:fix-irrefutable-integer-range-match, r=oli-obk
bors [Fri, 1 Feb 2019 20:57:36 +0000 (20:57 +0000)]
Auto merge of #57978 - varkor:fix-irrefutable-integer-range-match, r=oli-obk

Fix bug in integer range matching

Fixes #57894.

5 years agoFix bug in integer range matching
varkor [Fri, 1 Feb 2019 20:02:21 +0000 (20:02 +0000)]
Fix bug in integer range matching

5 years agoAuto merge of #58049 - king6cong:typo, r=oli-obk
bors [Fri, 1 Feb 2019 17:59:35 +0000 (17:59 +0000)]
Auto merge of #58049 - king6cong:typo, r=oli-obk

Fix typo

None

5 years agoAuto merge of #57586 - Aaron1011:feature/pub-priv-dep, r=petrochenkov
bors [Fri, 1 Feb 2019 15:24:26 +0000 (15:24 +0000)]
Auto merge of #57586 - Aaron1011:feature/pub-priv-dep, r=petrochenkov

Implement public/private dependency feature

Implements https://github.com/rust-lang/rust/issues/44663

The core implementation is done - however, there are a few issues that still need to be resolved:

- [x] The `EXTERNAL_PRIVATE_DEPENDENCY` lint currently does notthing when the `public_private_dependencies` is not enabled. Should mentioning the lint (in an `allow` or `deny` attribute) be an error if the feature is not enabled? (Resolved- the feature was removed)
- [x] Crates with the name `core` and `std` are always marked public, without the need to explcitily specify them on the command line. Is this what we want to do? Do we want to allow`no_std`/`no_core` crates to explicitly control this in some way? (Resolved - private crates are now explicitly specified)
- [x] Should I add additional UI tests? (Resolved - added more tests)
- [x] Does it make sense to be able to allow/deny the `EXTERNAL_PRIVATE_DEPENDENCY` on an individual item? (Resolved - this is implemented)

5 years agoCleanup unecessary code
Aaron Hill [Thu, 31 Jan 2019 19:36:26 +0000 (14:36 -0500)]
Cleanup unecessary code

5 years agoUpdate tests for future-compat warning removal
Aaron Hill [Wed, 30 Jan 2019 22:28:41 +0000 (17:28 -0500)]
Update tests for future-compat warning removal

5 years agoAdd future compat lint declaration
Aaron Hill [Wed, 30 Jan 2019 22:09:31 +0000 (17:09 -0500)]
Add future compat lint declaration

5 years agoRemove unnecessary is_local() check
Aaron Hill [Wed, 30 Jan 2019 21:00:40 +0000 (16:00 -0500)]
Remove unnecessary is_local() check

5 years agoTest allowing individual struct field
Aaron Hill [Wed, 30 Jan 2019 20:37:27 +0000 (15:37 -0500)]
Test allowing individual struct field

5 years agoReplace --extern-public with --extern-private
Aaron Hill [Wed, 30 Jan 2019 20:33:50 +0000 (15:33 -0500)]
Replace --extern-public with --extern-private

5 years agoRemove feature from test
Aaron Hill [Tue, 29 Jan 2019 22:03:28 +0000 (17:03 -0500)]
Remove feature from test

5 years agoTidy fixes
Aaron Hill [Tue, 29 Jan 2019 21:16:57 +0000 (16:16 -0500)]
Tidy fixes

5 years agoMove --extern-public behind -Z unstable-options
Aaron Hill [Tue, 29 Jan 2019 21:10:49 +0000 (16:10 -0500)]
Move --extern-public behind -Z unstable-options

5 years agoRemove feature gate
Aaron Hill [Tue, 22 Jan 2019 23:37:58 +0000 (18:37 -0500)]
Remove feature gate

5 years agoRename external_private_dependency to exported_private_dependencies
Aaron Hill [Mon, 21 Jan 2019 03:04:22 +0000 (22:04 -0500)]
Rename external_private_dependency to exported_private_dependencies

5 years agoDelete dead code
Aaron Hill [Mon, 14 Jan 2019 03:42:36 +0000 (22:42 -0500)]
Delete dead code

5 years agoTrack extern_public command-line argument
Aaron Hill [Mon, 14 Jan 2019 03:39:24 +0000 (22:39 -0500)]
Track extern_public command-line argument

5 years agoAdd test for 'std' crate being public
Aaron Hill [Mon, 14 Jan 2019 03:33:06 +0000 (22:33 -0500)]
Add test for 'std' crate being public

5 years agoClippy fixes, rename stuff to match RFC
Aaron Hill [Mon, 14 Jan 2019 03:29:52 +0000 (22:29 -0500)]
Clippy fixes, rename stuff to match RFC

5 years agoImprove UI tests
Aaron Hill [Mon, 14 Jan 2019 01:37:27 +0000 (20:37 -0500)]
Improve UI tests

5 years agoAlways treat 'std' and 'core' as public
Aaron Hill [Mon, 14 Jan 2019 01:35:14 +0000 (20:35 -0500)]
Always treat 'std' and 'core' as public

5 years agoAdd UI test
Aaron Hill [Sun, 13 Jan 2019 23:50:24 +0000 (18:50 -0500)]
Add UI test

5 years agoProperly register lint
Aaron Hill [Sun, 13 Jan 2019 23:50:16 +0000 (18:50 -0500)]
Properly register lint

5 years agoFixup code
Aaron Hill [Sun, 13 Jan 2019 23:07:42 +0000 (18:07 -0500)]
Fixup code

5 years agoFix emitting lint
Aaron Hill [Sat, 15 Dec 2018 13:01:57 +0000 (08:01 -0500)]
Fix emitting lint

5 years agoInitial implementation work
Aaron Hill [Sat, 15 Dec 2018 12:00:15 +0000 (07:00 -0500)]
Initial implementation work

5 years agoAuto merge of #57916 - Zoxc:incr-passes4, r=michaelwoerister
bors [Fri, 1 Feb 2019 12:52:54 +0000 (12:52 +0000)]
Auto merge of #57916 - Zoxc:incr-passes4, r=michaelwoerister

Misc performance tweaks

r? @michaelwoerister

5 years agoFix typo
king6cong [Fri, 1 Feb 2019 10:41:51 +0000 (18:41 +0800)]
Fix typo

5 years agoStabilize std::error::Error::type_id
Simon Sapin [Fri, 1 Feb 2019 10:29:02 +0000 (11:29 +0100)]
Stabilize std::error::Error::type_id

This should have been part of https://github.com/rust-lang/rust/pull/57834

FCP: https://github.com/rust-lang/rust/issues/27745#issuecomment-373906749

5 years agoStabilize split_ascii_whitespace
Simon Sapin [Fri, 1 Feb 2019 10:24:12 +0000 (11:24 +0100)]
Stabilize split_ascii_whitespace

Tracking issue FCP to merge: https://github.com/rust-lang/rust/issues/48656#issuecomment-442372750

5 years agoFix `std::os::fortanix_sgx::usercalls::raw::UsercallNrs`
Jethro Beekman [Fri, 1 Feb 2019 08:28:49 +0000 (13:58 +0530)]
Fix `std::os::fortanix_sgx::usercalls::raw::UsercallNrs`

Fixes https://github.com/fortanix/rust-sgx/issues/88

5 years agoAuto merge of #58040 - vors:fix-E0283-explanation, r=cramertj
bors [Fri, 1 Feb 2019 06:34:45 +0000 (06:34 +0000)]
Auto merge of #58040 - vors:fix-E0283-explanation, r=cramertj

Fix grammar in E0283 explanation

Author probably meant not "Maybe anything else?", but "Maybe something else?"

5 years agoFix grammar in E0283 explanation
Sergei Vorobev [Fri, 1 Feb 2019 06:26:19 +0000 (22:26 -0800)]
Fix grammar in E0283 explanation

5 years agoAuto merge of #58002 - oli-obk:deprecated_sugg, r=zackmdavis
bors [Fri, 1 Feb 2019 01:06:15 +0000 (01:06 +0000)]
Auto merge of #58002 - oli-obk:deprecated_sugg, r=zackmdavis

Add suggestions to deprecation lints

Clippy used to do this suggestion, but the clippy lints happen after the deprecation lints so we ended up never seeing the structured suggestions.

5 years agoAuto merge of #56696 - jonas-schievink:weak-counts, r=alexcrichton
bors [Thu, 31 Jan 2019 19:20:14 +0000 (19:20 +0000)]
Auto merge of #56696 - jonas-schievink:weak-counts, r=alexcrichton

Implement Weak::{strong_count, weak_count}

The counters are also useful on `Weak`, not just on strong references (`Rc` or `Arc`).

In situations where there are still strong references around, you can also get these counts by temporarily upgrading and adjusting the values accordingly. Using the methods introduced here is simpler to do, less error-prone (since you can't forget to adjust the counts), can also be used when no strong references are around anymore, and might be more efficient due to not having to temporarily create an `Rc`.

This is mainly useful in assertions or tests of complex data structures. Data structures might have internal invariants that make them the sole owner of a `Weak` pointer, and an assertion on the weak count could be used to ensure that this indeed happens as expected. Due to the presence of `Weak::upgrade`, the `strong_count` becomes less useful, but it still seems worthwhile to mirror the API of `Rc`.

TODO:
* [X] Tracking issue - https://github.com/rust-lang/rust/issues/57977

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

5 years agoUse ensure for mir_borrowck
John Kåre Alsaker [Thu, 31 Jan 2019 16:47:33 +0000 (17:47 +0100)]
Use ensure for mir_borrowck

5 years agoAuto merge of #57914 - jethrogb:jb/sgx-unwind-version, r=alexcrichton
bors [Thu, 31 Jan 2019 16:21:39 +0000 (16:21 +0000)]
Auto merge of #57914 - jethrogb:jb/sgx-unwind-version, r=alexcrichton

SGX target: clean up dist builder, update libunwind

This incorporates https://github.com/fortanix/llvm-project/pull/4

Fixes https://github.com/fortanix/rust-sgx/issues/65

r? @alexcrichton

5 years agoAuto merge of #58003 - nikic:saturating-add, r=nagisa
bors [Thu, 31 Jan 2019 13:40:11 +0000 (13:40 +0000)]
Auto merge of #58003 - nikic:saturating-add, r=nagisa

Use LLVM intrinsics for saturating add/sub

Use the `[su](add|sub).sat` LLVM intrinsics, if we're compiling against LLVM 8, as they should optimize and codegen better than IR based on `[su](add|sub).with.overlow`.

For the fallback for LLVM < 8 I'm using the same expansion that target lowering in LLVM uses, which is not the same as Rust currently uses (in particular due to the use of selects rather than branches).

Fixes #55286.
Fixes #52203.
Fixes #44500.

r? @nagisa

5 years agoUpdated commit id for building libunwind.
Vardhan Thigle [Thu, 31 Jan 2019 11:31:16 +0000 (17:01 +0530)]
Updated commit id for building libunwind.

5 years agoAuto merge of #57514 - michaelwoerister:xlto-tests, r=alexcrichton
bors [Thu, 31 Jan 2019 11:07:41 +0000 (11:07 +0000)]
Auto merge of #57514 - michaelwoerister:xlto-tests, r=alexcrichton

compiletest: Support opt-in Clang-based run-make tests and use them for testing xLTO.

Some cross-language run-make tests need a Clang compiler that matches the LLVM version of `rustc`. Since such a compiler usually isn't available these tests (marked with the `needs-matching-clang`
directive) are ignored by default.

For some CI jobs we do need these tests to run unconditionally though. In order to support this a `--force-clang-based-tests` flag is added to compiletest. If this flag is specified, `compiletest` will fail if it can't detect an appropriate version of Clang.

@rust-lang/infra The PR doesn't yet enable the tests yet. Do you have any recommendation for which jobs to enable them?

cc #57438

r? @alexcrichton

5 years agoAuto merge of #58016 - Centril:rollup, r=Centril
bors [Thu, 31 Jan 2019 03:47:17 +0000 (03:47 +0000)]
Auto merge of #58016 - Centril:rollup, r=Centril

Rollup of 12 pull requests

Successful merges:

 - #57008 (suggest `|` when `,` founds in invalid match value)
 - #57106 (Mark str::trim.* functions as #[must_use].)
 - #57920 (use `SOURCE_DATE_EPOCH` for man page time if set)
 - #57934 (Introduce into_raw_non_null on Rc and Arc)
 - #57971 (SGX target: improve panic & exit handling)
 - #57980 (Add the edition guide to the bookshelf)
 - #57984 (Improve bug message in check_ty)
 - #57999 (Add MOVBE x86 CPU feature)
 - #58000 (Fixes and cleanups)
 - #58005 (update docs for fix_start/end_matches)
 - #58007 (Don't panic when accessing enum variant ctor using `Self` in match)
 - #58008 (Pass correct arguments to places_conflict)

Failed merges:

r? @ghost

5 years agoRollup merge of #58008 - matthewjasper:places-conflict-args, r=oli-obk
Mazdak Farrokhzad [Thu, 31 Jan 2019 01:10:53 +0000 (02:10 +0100)]
Rollup merge of #58008 - matthewjasper:places-conflict-args, r=oli-obk

Pass correct arguments to places_conflict

The borrow place *must* be a place that we track borrows for, otherwise
we will likely ICE.

Closes #57989

5 years agoRollup merge of #58007 - estebank:issue-58006, r=petrochenkov
Mazdak Farrokhzad [Thu, 31 Jan 2019 01:10:52 +0000 (02:10 +0100)]
Rollup merge of #58007 - estebank:issue-58006, r=petrochenkov

Don't panic when accessing enum variant ctor using `Self` in match

Fix #58006.

r? @petrochenkov

5 years agoRollup merge of #58005 - vitiral:docs_trim_start_matches, r=Manishearth
Mazdak Farrokhzad [Thu, 31 Jan 2019 01:10:51 +0000 (02:10 +0100)]
Rollup merge of #58005 - vitiral:docs_trim_start_matches, r=Manishearth

update docs for fix_start/end_matches

fixes #57686:

5 years agoRollup merge of #58000 - oli-obk:fixes_and_cleanups, r=RalfJung
Mazdak Farrokhzad [Thu, 31 Jan 2019 01:10:50 +0000 (02:10 +0100)]
Rollup merge of #58000 - oli-obk:fixes_and_cleanups, r=RalfJung

Fixes and cleanups

Address the points raised in https://github.com/rust-lang/rust/pull/57677/files by @eddyb and @RalfJung

5 years agoRollup merge of #57999 - jethrogb:jb/movbe-feature, r=alexcrichton
Mazdak Farrokhzad [Thu, 31 Jan 2019 01:10:49 +0000 (02:10 +0100)]
Rollup merge of #57999 - jethrogb:jb/movbe-feature, r=alexcrichton

Add MOVBE x86 CPU feature

I have no idea if this is correct. I basically copied the ADX feature. I verified the feature is also called `movbe` in LLVM.

I marked this to become stable immediately, as part of the RFC 2045.

r? @alexcrichton

5 years agoRollup merge of #57984 - phansch:improve_check_ty_error, r=zackmdavis
Mazdak Farrokhzad [Thu, 31 Jan 2019 01:10:47 +0000 (02:10 +0100)]
Rollup merge of #57984 - phansch:improve_check_ty_error, r=zackmdavis

Improve bug message in check_ty

This branch was hit in Clippy and I think it would be nice to
show the thing that was unexpected in the bug message.

It's also in line with the other `bug!` messages in `check_ty`.

5 years agoRollup merge of #57980 - siddharthasahu:patch-1, r=QuietMisdreavus
Mazdak Farrokhzad [Thu, 31 Jan 2019 01:10:46 +0000 (02:10 +0100)]
Rollup merge of #57980 - siddharthasahu:patch-1, r=QuietMisdreavus

Add the edition guide to the bookshelf

5 years agoRollup merge of #57971 - jethrogb:jb/sgx-panic, r=alexcrichton
Mazdak Farrokhzad [Thu, 31 Jan 2019 01:10:45 +0000 (02:10 +0100)]
Rollup merge of #57971 - jethrogb:jb/sgx-panic, r=alexcrichton

SGX target: improve panic & exit handling

Implement this part of the spec:

> The enclave must not rely on userspace to terminate other threads still running. Similarly, the enclave must not trust that it will no longer be entered by userspace, and it must safeguard against that in the entrypoints.

Also use `UserRef` to access panic buffer

r? @alexcrichton

cc @VardhanThigle

5 years agoRollup merge of #57934 - dwijnand:from-Arc/Rc-to-NonNull, r=alexcrichton
Mazdak Farrokhzad [Thu, 31 Jan 2019 01:10:44 +0000 (02:10 +0100)]
Rollup merge of #57934 - dwijnand:from-Arc/Rc-to-NonNull, r=alexcrichton

Introduce into_raw_non_null on Rc and Arc

None

5 years agoRollup merge of #57920 - euclio:source-date-epoch, r=Mark-Simulacrum
Mazdak Farrokhzad [Thu, 31 Jan 2019 01:10:42 +0000 (02:10 +0100)]
Rollup merge of #57920 - euclio:source-date-epoch, r=Mark-Simulacrum

use `SOURCE_DATE_EPOCH` for man page time if set

Fixes #57776.

5 years agoRollup merge of #57106 - matthiaskrgr:trim_must_use, r=sfackler
Mazdak Farrokhzad [Thu, 31 Jan 2019 01:10:41 +0000 (02:10 +0100)]
Rollup merge of #57106 - matthiaskrgr:trim_must_use, r=sfackler

Mark str::trim.* functions as #[must_use].

The functions return a reference to a new object and do not modify in-place
as the following code shows:
````
let s = String::from("   hello   ");
s.trim();
assert_eq!(s, "   hello   ");
````

The new reference should be bound to a variable as now indicated by #[must_use].

5 years agoRollup merge of #57008 - Knium:misleading-try-adding-parentheses-in-match-with-comma...
Mazdak Farrokhzad [Thu, 31 Jan 2019 01:10:40 +0000 (02:10 +0100)]
Rollup merge of #57008 - Knium:misleading-try-adding-parentheses-in-match-with-comma, r=oli-obk

suggest `|` when `,` founds in invalid match value

Issue #54807
I get stuck on (what | how) I should implement...

5 years agoAuto merge of #57974 - llogiq:vec-deque-try-fold, r=alexcrichton
bors [Wed, 30 Jan 2019 21:04:06 +0000 (21:04 +0000)]
Auto merge of #57974 - llogiq:vec-deque-try-fold, r=alexcrichton

override `VecDeque`'s `Iter::try_fold`

This should improve performance (wherever it is used), but I haven't found the time to benchmark it yet.

5 years agoPass correct arguments to places_conflict
Matthew Jasper [Wed, 30 Jan 2019 19:49:31 +0000 (19:49 +0000)]
Pass correct arguments to places_conflict

The borrow place *must* be a place that we track borrows for, otherwise
we will likely ICE.

5 years agoDon't panic when accessing enum variant ctor using `Self` in match
Esteban Küber [Wed, 30 Jan 2019 19:39:56 +0000 (11:39 -0800)]
Don't panic when accessing enum variant ctor using `Self` in match

5 years agoFailure resistent trait implementing
Oliver Scherer [Wed, 30 Jan 2019 18:29:10 +0000 (19:29 +0100)]
Failure resistent trait implementing