Commit Graph

84661 Commits

Author SHA1 Message Date
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
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
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
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
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
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 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
Oliver Scherer 585490d816 Also adjust rustdoc to the principal changes 2018-10-13 19:41:27 +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
Ralf Jung 6426cbe382 update miri 2018-10-13 09:10:24 +02:00
Ralf Jung 06a4911ce1 run-time validation: accept undef in int arrays, as we do for ints 2018-10-13 09:09:03 +02:00
Ralf Jung b2ddd27c2e address nits 2018-10-13 09:09:03 +02:00
Ralf Jung dc4b2771f8 validation: accept pointers in integer arrays 2018-10-13 09:09:03 +02:00
Ralf Jung c96eb706f0 Fix and test upvar name printing for validity 2018-10-13 09:09:03 +02:00
Ralf Jung 69576fcdee make ENFORCE_VALIDITY a function
miri needs this extra flexibility
2018-10-13 09:09:03 +02:00
Ralf Jung 3272c9845c foreign types: use size and align from layout 2018-10-13 09:09:03 +02:00
Ralf Jung d0c585c525 seems like for generators we cannot access the freevars 2018-10-13 09:09:03 +02:00
Ralf Jung 93f53e5113 size_and_align_of can return no result for extern types 2018-10-13 09:09:03 +02:00
Ralf Jung f79a22c3d5 validate return value on stack pop 2018-10-13 09:09:02 +02:00
Ralf Jung a05914e2dc check return type even for uninhabited case 2018-10-13 09:09:02 +02:00
Ralf Jung 5b75ec0a91 fix validation around transmuting copy_op 2018-10-13 09:09:02 +02:00
bors fb3b47aa42 Auto merge of #54980 - zackmdavis:and_the_case_of_the_universal_call, r=oli-obk
structured suggestion for E0223 ambiguous associated type

(routine (and when are we going to be done finding these, anyway?) but something that stuck out to me while glancing at #54970)

r? @estebank
2018-10-13 06:48:17 +00:00
Zack M. Davis ab91a6b4df `#[must_use]` for associated functions is supposed to actually work
In the comments of (closed, defunct) pull request #54884, Mazdak
"Centril" Farrokhzad noted that 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.)
2018-10-12 22:01:43 -07:00
bors c47785f6be Auto merge of #54945 - estebank:asm-span, r=petrochenkov
Point to variable in `asm!` macro when failing borrowck

Fix #34940.
2018-10-13 00:56:30 +00:00
bors 2c2e2c57dc Auto merge of #54942 - matthewjasper:wf-type-annotations, r=nikomatsakis
[NLL] Check user types are well-formed

Also contains a change of span for AscribeUserType.
I'm not quite sure if this was what @nikomatsakis was thinking.

Closes #54620

r? @nikomatsakis
2018-10-12 21:28:42 +00:00
memoryruins ba446d72be Add nll stderr to #52240 2018-10-12 14:33:38 -04:00
memoryruins b041a79f26 Add test for issue #52240
Closes #52240
2018-10-12 13:08:44 -04:00
Andy Russell 0e268d9e89
add test for #24421
Fixes #24421.
2018-10-12 13:07:39 -04:00
memoryruins 146fbc6a96 Add test for issue #54966
Closes #54966
2018-10-12 12:42:33 -04:00
bors 945372d268 Auto merge of #55012 - kennytm:rollup, r=kennytm
Rollup of 16 pull requests

Successful merges:

 - #54755 (Documents reference equality by address (#54197))
 - #54811 (During rustc bootstrap, make default for `optimize` independent of `debug`)
 - #54825 (NLL says "borrowed content" instead of more precise "dereference of raw pointer")
 - #54860 (Add doc comments about safest way to initialize a vector of zeros)
 - #54869 (Fix mobile docs)
 - #54891 (Fix tracking issue for Once::is_completed)
 - #54913 (doc fix: it's auto traits that make for automatic implementations)
 - #54920 (Fix handling of #[must_use] on unit and uninhabited types)
 - #54932 (A handful of random string-related improvements)
 - #54936 (impl Eq+Hash for TyLayout)
 - #54950 (std: Synchronize global allocator on wasm32)
 - #54956 ("(using ..." doesn't have the matching ")")
 - #54958 (add a macro for static (compile-time) assertions)
 - #54967 (Remove incorrect span for second label inner macro invocation)
 - #54983 (Fix slice's benchmarks)
 - #54989 (Fix spelling in the documentation to htmldocck.py)

Failed merges:

r? @ghost
2018-10-12 15:00:24 +00:00
kennytm d64c77a671
Rollup merge of #54989 - Munksgaard:fix-htmldocck-typos, r=tmandry
Fix spelling in the documentation to htmldocck.py

I was reading through htmldocck.py, and decided to attempt to clean it up a little bit. Let me know if you disagree with my edits.
2018-10-12 22:04:19 +08:00
kennytm 9eae552a44
Rollup merge of #54983 - kzys:rand-bench, r=tmandry
Fix slice's benchmarks

Fixes #54013.
2018-10-12 22:04:18 +08:00
kennytm 644dbf99ed
Rollup merge of #54967 - holmgr:master, r=estebank
Remove incorrect span for second label inner macro invocation

A fix for issue #54841
2018-10-12 22:04:16 +08:00
kennytm 0187e81da9
Rollup merge of #54958 - RalfJung:static-assert, r=oli-obk
add a macro for static (compile-time) assertions

Cc @oli-obk
2018-10-12 22:04:15 +08:00
kennytm 8e3f189180
Rollup merge of #54956 - kzys:close-paren, r=varkor
"(using ..." doesn't have the matching ")"

Fixes #54948.
2018-10-12 22:04:14 +08:00
kennytm 8d3d96f08a
Rollup merge of #54950 - alexcrichton:wasm-sync-allocator, r=sfackler
std: Synchronize global allocator on wasm32

We originally didn't have threads, and now we're starting to add them!
Make sure we properly synchronize access to dlmalloc when the `atomics`
feature is enabled for `wasm32-unknown-unknown`.
2018-10-12 22:04:13 +08:00
kennytm 4f1a618e5d
Rollup merge of #54936 - RalfJung:layout-hash, r=oli-obk
impl Eq+Hash for TyLayout

As proposed by @eddyb at https://github.com/rust-lang/rust/pull/53671#pullrequestreview-159761136.

I have an upcoming PR that would also significantly benefit from this.
2018-10-12 22:04:12 +08:00