Commit Graph

84935 Commits

Author SHA1 Message Date
bors
42f401dd02 Auto merge of #55064 - RalfJung:miri-update, r=oli-obk
update miri

This pulls in the changes in miri to actually enable validation. So, the rustc test suite will let us know if anything we cover regresses in that regard. :)

r? @oli-obk
2018-10-15 06:36:23 +00:00
Matthias Krüger
5086280c3a submodules: update clippy from 9d337313 to 5afdf8b7
Changes:

````
fix for rustc master
mem_forget: fix syntax error in code sample
explicit_counter_loop fix #3308 false positive
new_ret_no_self test remove tool lints cfg flag
Added new_ret_no_self exception to clippy to pass dogfood tests
Removed new_ret_no_self tests from method.rs
new_ret_no_self correctly lint impl return
Removed unused variables
new_ret_no_self fix false positive for impl trait return with associated type self
new_ret_no_self corrected panic and added test stderr
new_ret_no_self added positive test cases
Fix some more `stutter` warnings
unused unit lint
Install Windows SDK 10.0 on travis
cmp_owned refactor
cmp_owned correct error message if rhs is deref
Add a comment reminding to update README if the default changes
Specify which categories are enabled by default
Only run markdown linter on linux
Move Travis Windows build to allowed failures
Add Travis windows build
Fix `doc_markdown` lints
Fix `stutter` lints
Fix `similar_names` warnings
cmp_owned current suggestion for multiple deref
cmp_owned add test for multiple dereference
Corrected single-character string constant used as pattern found in dogfood test
Fixes 3289, cmp_owned wording and false positive
````
2018-10-15 06:50:56 +02:00
bors
c40e2ac2b6 Auto merge of #55024 - alexcrichton:wasm-simd-by-val, r=estebank
rustc: Allow targets to specify SIMD args are by-val

The upcoming SIMD support in the wasm target is unique from the other
platforms where it's either unconditionally available or not available,
there's no halfway where a subsection of the program can use it but no
other parts of the program can use it. In this world it's valid for wasm
SIMD args to always be passed by value and there's no need to pass them
by reference.

This commit adds a new custom target specification option
`simd_types_indirect` which defaults to `true`, but the wasm backend
disables this and sets it to `false`.
2018-10-15 02:48:24 +00:00
Shotaro Yamada
ac6b3f88c7 Deduplicate tests
* `ui/lifetimes/lifetime-errors/ex3-both-anon-regions-both-are-structs-4`
and `ex3-both-anon-regions-both-are-structs-3`
* `ui/lint/lint-group-style` and `lint-group-nonstandard-style`
2018-10-15 09:29:17 +09:00
bors
f02768b685 Auto merge of #55008 - ljedrz:cleanup_rustc_driver, r=estebank
Cleanup rustc/driver

- improve/remove allocations
- simplify `profile::trace::cons*`
- don't sort `base` if it only has one element
- use `Cow<str>` where applicable
- use `unwrap_or_else` with function calls
- remove an explicit `return`, add an explicit `None`
- remove lifetimes from `const`s
- improve common patterns
- improve macro calls
- whitespace & formatting fixes
2018-10-15 00:18:27 +00:00
Oliver Middleton
86d5a33c89 rustdoc: Use dyn keyword when rendering dynamic traits
The dyn keyword has been stable for a while now so rustdoc should start using it.
2018-10-15 00:48:57 +01:00
bors
0c665e20db Auto merge of #55046 - wesleywiser:no_virtual_call_inlining, r=varkor
[mir-inlining] Don't inline virtual calls
2018-10-14 21:50:23 +00:00
Jan Niehusmann
6cc84acc60 remove unnecessary emphasis in doc comment
During review of the previous commit, @joshtriplett noticed that
the emphasis on 'the same' is unnecessary. For consistency, remove it
on the offset() functions, as well.
2018-10-14 20:26:23 +00:00
Jan Niehusmann
e8ec4987a8 clarify pointer add/sub function safety concerns
Ralf Jung made the same changes to the offset functions' documentation
in commit fb089156. As add/sub just call offset, the same limitation
applies here, as well.

Removed emphasis on review request by @joshtriplett
2018-10-14 20:24:01 +00:00
bors
14f42a732f Auto merge of #55032 - oli-obk:the_early_unwrap_gets_the_panic, r=Mark-Simulacrum
Check the invariant for `principal` inside the method

r? @Mark-Simulacrum
2018-10-14 18:06:20 +00:00
Wesley Wiser
69eaa11633 [mir-inlining] Don't inline virtual calls
Prior to this change, the test case would output `1` instead of `2` like
it should.
2018-10-14 13:45:46 -04:00
varkor
f5b89062f6 Unused result warning: "X which must" ↦ "X that must" 2018-10-14 18:25:30 +01:00
Oliver Scherer
507381ed03 Fix ICE and report a human readable error 2018-10-14 17:35:58 +02:00
ljedrz
a14a950c44 change a cloning map to into_iter 2018-10-14 17:20:45 +02:00
ljedrz
354a965ede create only one vector when winnowing candidates 2018-10-14 17:20:45 +02:00
Diogo Sousa
3fc275df6c Added graphviz visualization for obligation forests.
This can be a big help when debugging the trait resolver.
2018-10-14 16:12:07 +01:00
bors
68df433037 Auto merge of #55055 - matthiaskrgr:bump_beta, r=Mark-Simulacrum
bump bootstrap compiler to rustc beta 2018-10-13

beta was switched to bootstrap from stable 1.29.2 since 1.29.2 got the aliasing bug workaround.
For extra sanity we should probably bootstrap from a beta that was built with these fixed applied in the host compiler.
2018-10-14 14:24:19 +00:00
Diana
1b355a8976
Fix incorrect link in println! documentation
The eprintln! link was incorrectly linking to eprint! instead
2018-10-14 08:14:21 -04:00
ljedrz
a2b8829df5 typeck: don't collect to a vector when unnecessary 2018-10-14 14:10:54 +02:00
bors
b1bdf04c97 Auto merge of #55051 - matthiaskrgr:dist_msg, r=Mark-Simulacrum
boostrap: dist: if a file cannot be installed because it does not exist, print its name in the error message.
2018-10-14 11:56:09 +00:00
bjorn3
8a228fd7b6
Add comment about step being used by priroda 2018-10-14 11:50:05 +02:00
Ralf Jung
ad04cb72f9 update miri 2018-10-14 11:33:50 +02:00
bors
2462a2de8c Auto merge of #55015 - dsciarra:underscores-constant-names, r=petrochenkov
Support underscore as constant name

Issue: #54912
2018-10-14 09:28:19 +00:00
bjorn3
9d3643dd72
Make EvalContext::step public again
Fixes #55061
2018-10-14 11:10:41 +02:00
Donato Sciarra
406cbf1a39 Support underscore as constant name
Issue: 54912
2018-10-14 10:14:58 +02:00
bors
1ebcb215fc Auto merge of #55049 - tshepang:fix, r=withoutboats
doc: fix sentence structure in std::fmt
2018-10-14 06:40:17 +00:00
ljedrz
12b5c7b26d Don't collect to vectors where unnecessary 2018-10-14 07:53:36 +02:00
bors
2bab4bf486 Auto merge of #55018 - euclio:issue-24421, r=alexcrichton
add test for #24421

Fixes #24421.

Also removes a README which points to a non-existent directory.
2018-10-14 01:53:28 +00:00
bors
9788a7bb2a Auto merge of #55017 - memoryruins:add-tests, r=alexcrichton
Add tests for issues #54966 and #52240

Closes #54966
Closes #52240
2018-10-13 23:22:15 +00:00
Matthias Krüger
2cdd9f8e52 bump bootstrap compiler to rustc beta 2018-10-13
beta was switched to bootstrap from stable 1.29.2 since 1.29.2 got the aliasing bug workaround.
For extra sanity we should probably bootstrap from a beta that was built with these fixed appied in the host compiler.
2018-10-14 00:52:47 +02:00
Matthias Krüger
da1c75c3a6 boostrap: dist: if a file cannot be installed because it does not exist, print its name in the error message. 2018-10-13 23:33:10 +02:00
bors
4699283c5b Auto merge of #54916 - matthiaskrgr:submodules_update, r=oli-obk
submodules: update clippy, rls and cargo, fix toolstate

rustfmt update failed because of different rustc-ap-syntax versions.

fix clippy toolstate failure

Fixes #54697
2018-10-13 19:43:36 +00:00
Tshepang Lekhonkhobe
91f57787c0 doc std::fmt: the Python inspiration is already mentioned in preceding paragraph 2018-10-13 21:39:21 +02:00
Tshepang Lekhonkhobe
2bb85b236a doc: fix sentence structure in std::fmt 2018-10-13 21:20:36 +02:00
Matthias Krüger
9c651b3b31 bootstrap: update clippy license locations which changed due to relicensing. 2018-10-13 20:38:49 +02:00
Vadim Petrochenkov
894a8d574d resolve: Scale back hard-coded extern prelude additions 2018-10-13 21:35:19 +03:00
Vadim Petrochenkov
522948827b Copy extern prelude from resolver to global context 2018-10-13 21:35:19 +03:00
Vadim Petrochenkov
83bb430663 Revert "rustc_resolve: move extern_prelude from Resolver to Session."
This reverts commit e90985acde.
2018-10-13 21:35:19 +03:00
Nikita Popov
b57366a854 Improve verify_llvm_ir config option
* Make it influence the behavior of the compiled rustc, rather than
  just the rustc build system. That is, if verify_llvm_ir=true,
  even manual invocations of the built rustc will verify LLVM IR.
* Enable verification of LLVM IR in CI, for non-deploy and
  deploy-alt builds. This is similar to how LLVM assertions are
  handled.
2018-10-13 20:06:25 +02:00
Oliver Scherer
585490d816 Also adjust rustdoc to the principal changes 2018-10-13 19:41:27 +02:00
Tshepang Lekhonkhobe
af6c871fa1 doc: make core::fmt::Error example more simple 2018-10-13 19:28:18 +02:00
Matthias Krüger
ab4e697d0b submodules: update cargo from ad6e5c00 to 5dbac988
Changes:

Switch to use crates-io as the registry name and don't include publish when registry is not specified
fix redundant pkgid generation
validate some basic properties of a valid resolve
Detail dep name in invalid version error
Fix dashes in rename dependencies.
Bump flate2 to 1.0.3
Add default in config document
Add support for providing a default registry
Add support for registry to new and init
use impl Iterator instead of custom types in `source`
let jetbrains reorder some impls to match the definition
use impl Iterator instead of custom types in resolver and graph
remove Graph::sort as it is unused
fmt
Bump libgit2-sys to 0.7.9
Switch to use registry
Allow registry option for cargo install.
Second attempt at fixing msys terminal width.
Try to improve "version not found" error
Fix typo
2018-10-13 19:11:29 +02:00
Matthias Krüger
2e84e9c09d submodules: update rls from 15d4d4a to 440a985
Changes:

Apply Clippy lints
Respect build_dir when creating external build plans
Fix Windows tests
Implement external build plan
Detect manifest diagnostic position for toml:🇩🇪:Error
Fix std::sync hover doc expectation
Apply CI specific long timeout
Propagate cargo errors as manifest diagnostics
Add test for use statement function completions
Refactor cmd test `within_timeout`
Avoid stdout-writer/rls process exit race
Improve cmd test "no shutdown response" error message
Add RUST_BACKTRACE=1 to ci env
Improve cmd test timeout reliability
Fix use statement function suggestions
Revert "Revert "Remove "edition" Cargo feature (it's stable now)""
Add build_wait() tests
Automatically tune wait_to_build
Rework cmd tests

Fixes #54697
2018-10-13 19:11:29 +02:00
Matthias Krüger
ce61be81be submodules: update clippy from 32b1d1fc to 9d337313
Changes:

Remove now-useless `allow(unknown_lints)`
Stabilize tool lints
Use `impl Iterator` in arg position in clippy_dev
Fix fn_to_numeric_cast_with_truncation suppression
Limit commutative assign op lint to primitive types
Clarify code
Fix #2937
Fix cast_possible_wrap and cast_sign_loss warnings
Fix cast_possible_truncation warnings
Fixes #2925 cmp_owned false positive
if_let_redundant_pattern_matching: use Span.to() instead of Span.with_hi() to fix crash.
Improve diagnostics in case of lifetime elision (closes #3284)
Fix items_after_statements for `const`s
Fix items_after_statements for sub-functions
Fix items_after_statements for `use` statements
Don't suggest cloned() for map Box deref
Fix excessive_precision false positive
Fix FP in `fn_to_numeric_cast_with_truncation`
new_without_default should not warn about unsafe new
fix command to manually test an example
Add license to README
Adding more detail to filter_map lint documentation.
additional people
Add license header to other files
Add license header to Rust files
Relicense clippy
Document relicensing process
Fix util/export.py to include lints from methods
2018-10-13 19:11:29 +02:00
bors
8f19cadf95 Auto merge of #55003 - zackmdavis:must_use_assoc_fn, r=varkor
`#[must_use]` for associated functions is supposed to actually work

In the comments of (closed, defunct) pull request #54884, @Centril [noted that](https://github.com/rust-lang/rust/pull/54884#issuecomment-427626495) must-use annotations didn't work on an associated function (what other communities might call a "static method"). Subsequent logging revealed that in this case we have a `Def::Method`, whereas the lint pass was only matching on `Def::Fn`. (One could argue that those def-names are thereby misleading—must-use for `self`-ful methods have always worked—but documenting or reworking that can be left to another day.)

r? @varkor
2018-10-13 17:03:47 +00:00
bors
f51752774b Auto merge of #54951 - alexcrichton:more-wasm-threads, r=sfackler
std: Implement TLS for wasm32-unknown-unknown

This adds an implementation of thread local storage for the
`wasm32-unknown-unknown` target when the `atomics` feature is
implemented. This, however, comes with a notable caveat of that it
requires a new feature of the standard library, `wasm-bindgen-threads`,
to be enabled.

Thread local storage for wasm (when `atomics` are enabled and there's
actually more than one thread) is powered by the assumption that an
external entity can fill in some information for us. It's not currently
clear who will fill in this information nor whose responsibility it
should be long-term. In the meantime there's a strategy being gamed out
in the `wasm-bindgen` project specifically, and the hope is that we can
continue to test and iterate on the standard library without committing
to a particular strategy yet.

As to the details of `wasm-bindgen`'s strategy, LLVM doesn't currently
have the ability to emit custom `global` values (thread locals in a
`WebAssembly.Module`) so we leverage the `wasm-bindgen` CLI tool to do
it for us. To that end we have a few intrinsics, assuming two global values:

* `__wbindgen_current_id` - gets the current thread id as a 32-bit
  integer. It's `wasm-bindgen`'s responsibility to initialize this
  per-thread and then inform libstd of the id. Currently `wasm-bindgen`
  performs this initialization as part of the `start` function.
* `__wbindgen_tcb_{get,set}` - in addition to a thread id it's assumed
  that there's a global available for simply storing a pointer's worth
  of information (a thread control block, which currently only contains
  thread local storage). This would ideally be a native `global`
  injected by LLVM, but we don't have a great way to support that right
  now.

To reiterate, this is all intended to be unstable and purely intended
for testing out Rust on the web with threads. The story is very likely
to change in the future and we want to make sure that we're able to do
that!
2018-10-13 14:28:48 +00:00
bors
24faa97589 Auto merge of #54997 - davidtwco:issue-54896, r=nagisa
The #[panic_handler] attribute can be applied to non-functions

Fixes #54896.

This commit extends the existing lang items functionality to assert
that the `#[lang_item]` attribute is only found on the appropriate item
for any given lang item. That is, language items representing traits
must only ever have their corresponding attribute placed on a trait, for
example.

r? @nagisa
2018-10-13 11:52:49 +00:00
Oliver Scherer
78aaa3e546 Check the invariant for principal inside the method 2018-10-13 11:32:49 +02:00
bors
2d81989974 Auto merge of #54955 - RalfJung:miri-validate2, r=oli-obk
miri engine: Fix run-time validation

This fixes all false positives that came up when actually enabling this in miri.

r? @oli-obk
2018-10-13 09:20:48 +00:00
ljedrz
b03a82cfca rustc/driver: whitespace & formatting fixes 2018-10-13 10:15:46 +02:00