Commit Graph

98588 Commits

Author SHA1 Message Date
bors
dfd43f0fdd Auto merge of #63870 - estebank:async-fn-call, r=oli-obk
Suggest call fn ctor passed as arg to fn with type param bounds

_Reviewer note: the relevant changes are in the second commit, the first is simple and mechanical, but verbose._

When forgetting to call a fn in an argument position to an fn that has a generic bound:

```rust
async fn foo() {}

fn bar(f: impl Future<Output=()>) {}

fn main() {
    bar(foo); // <- should be `bar(foo());`
}
```

suggest calling it:

```
error[E0277]: the trait bound `fn() -> impl std::future::Future {foo}: std::future::Future` is not satisfied
  --> $DIR/async-fn-ctor-passed-as-arg-where-it-should-have-been-called.rs:9:5
   |
LL | fn bar(f: impl Future<Output=()>) {}
   | --------------------------------- required by `bar`
...
LL |     bar(foo);
   |     ^^^ the trait `std::future::Future` is not implemented for `fn() -> impl std::future::Future {foo}`
   |
   = help: it looks like you forgot to use parentheses to call the function: `foo()`
```

Fix #63100. Follow up to #63833 and #63337.
2019-09-01 18:04:49 +00:00
Esteban Küber
f53c2179ba review comments 2019-09-01 10:49:07 -07:00
Yuki Okushi
4a0872b37e Add overflow_check check 2019-09-02 02:18:16 +09:00
Guanqun Lu
ab12dfeb16 following the same style 2019-09-02 00:38:05 +08:00
Yuki Okushi
3a6aadaa8c Add opt-level check 2019-09-02 01:05:38 +09:00
Yuki Okushi
35c9e5f122 Fix const_err with -(-0.0) 2019-09-01 22:05:50 +09:00
bors
e29faf0d09 Auto merge of #64057 - Centril:rollup-nwtk2fb, r=Centril
Rollup of 5 pull requests

Successful merges:

 - #63410 (Update BufWriter example to include call to flush())
 - #64029 (Account for rounding errors when deciding the diagnostic boundaries)
 - #64032 (rustdoc use -Ccodegen-units=1 by default for test compile)
 - #64039 (Update sync condvar doc style)
 - #64042 (Fix word repetition in str documentation)

Failed merges:

r? @ghost
2019-09-01 11:46:45 +00:00
Philipp Hansch
84ccbe2076
librustc_errors: Extract sugg/subst handling into method
An initial refactoring before working on #61809.

This moves the whole block into a method so that it can be reused in the
annotate-snippet output. It's already used in the new emitter, but
there's no UI tests with suggestions included in this PR.

A first look at some UI tests with suggestions showed that there's some
more work to do in [annotate-snippet-rs][annotate-snippet-rs] before the
new output is closer to the current one.
2019-09-01 13:05:47 +02:00
Mazdak Farrokhzad
0211246c7b
Rollup merge of #64042 - juliangehring:string-docs, r=jonas-schievink
Fix word repetition in str documentation

Fixes a few repetitions of "like like" in the `trim*` methods documentation of `str`.
2019-09-01 11:39:30 +02:00
Mazdak Farrokhzad
a7ba1befd7
Rollup merge of #64039 - pickfire:patch-1, r=jonas-schievink
Update sync condvar doc style
2019-09-01 11:39:29 +02:00
Mazdak Farrokhzad
6eadfc3459
Rollup merge of #64032 - andjo403:codegen-units, r=Mark-Simulacrum
rustdoc use -Ccodegen-units=1 by default for test compile

as the test is small we do not want split up in multiple codegen units
and also as there is multiple test running at the same time this
will reduce the number of concurrent threads

tested the test time with `./x.py test src/libcore --doc`
for my 16 core 32 thread cpu i get about 6% faster execution
and my 2 core 4 thread cpu I get about 10% faster execution

cc #63638
 r? @Mark-Simulacrum
2019-09-01 11:39:28 +02:00
Mazdak Farrokhzad
bccf49ffc8
Rollup merge of #64029 - estebank:fix-miri, r=RalfJung
Account for rounding errors when deciding the diagnostic boundaries

Fix Miri by fixing the bug raised in https://github.com/rust-lang/rust/pull/63402#discussion_r319485328.

Fixes https://github.com/rust-lang/rust/issues/64020
2019-09-01 11:39:26 +02:00
Mazdak Farrokhzad
064b7041c5
Rollup merge of #63410 - johnterickson:master, r=joshtriplett
Update BufWriter example to include call to flush()

I was playing with a writing a Huffman encoder/decoder and was getting weird corruptions and truncations.  I finally realized it was was because `BufWriter` was swallowing write errors 😬.  I've found Rust to generally be explicit and err on the safe side, so I definitely found this unintuitive and not "rustic".

https://twitter.com/johnterickson/status/1159514988123312128
2019-09-01 11:39:25 +02:00
Esteban Küber
a9ce33c059 Account for arbitrary self types in E0599 2019-09-01 02:22:42 -07:00
Esteban Küber
e553051950 review comment 2019-09-01 02:22:03 -07:00
bors
d0677b9abc Auto merge of #64036 - matthewjasper:kill-borrows-on-self-assign, r=estebank
Kill borrows from assignments after generating new borrows

Closes #63719
2019-09-01 08:15:04 +00:00
Andreas Jonson
f0b30c7ded remove the unstable rustdoc parameter --linker
use the code generation parameter -Clinker (same parameter as rustc)
to control what linker to use for building the rustdoc test executables.

closes: #63816
2019-09-01 08:50:23 +02:00
Esteban Küber
aae2b245e4 deduplicate code 2019-08-31 19:07:59 -07:00
Esteban Küber
cab607edcf Emit a single error on if expr with expectation and no else clause 2019-08-31 18:34:50 -07:00
Alex Gaynor
5e933b490b Add x86_64-linux-kernel target
This adds a target specification for Linux kernel modules on x86_64, as well as base code that can be shared with other architectures.
2019-08-31 17:32:45 -04:00
Esteban Küber
84567190e0 Use saturating_sub 2019-08-31 13:42:53 -07:00
Esteban Küber
aee6cd937a Fix nll tests 2019-08-31 13:40:20 -07:00
bors
59cc53e6e7 Auto merge of #63703 - tommilligan:warn-empty-doctest, r=ollie27
rustdoc: warn on empty doc test

Closes #60319.

A doc test that only contains whitespace should result in a warning.

This PR adds detection of empty doc tests to `check-code-block-syntax`, as having an invalid doc test is mutually exclusive with an empty doc test.
2019-08-31 20:10:20 +00:00
Andreas Molzer
f3c435eb78 Reorder AllocationDefinedness members
This improves the clarity of the documentation a bit since they can
reference each other when reading the member docs in sequence.
2019-08-31 21:21:29 +02:00
Julian Gehring
c4d0c285fe Fix word repetition in str documentation
Fixes a few repetitions of "like like" in the `trim*` methods documentation of `str`.
2019-08-31 17:38:23 +01:00
bors
fba38ac27e Auto merge of #64025 - Wind-River:master_003, r=alexcrichton
remove directory libstd/sys/vxworks/backtrace which is not used any more

r? @alexcrichton
cc @n-salim
2019-08-31 16:19:10 +00:00
Matthew Jasper
754a875e15 Add some more tests for underscore imports 2019-08-31 16:50:39 +01:00
Andreas Molzer
823c3b9845 Improve documentation around allocation accessors 2019-08-31 17:19:01 +02:00
Ivan Tham
e2e1175ce2
Update sync condvar doc style 2019-08-31 23:09:37 +08:00
Matthew Jasper
877faf3844 Check impl trait substs when checking for recursive types
This prevents mutual `async fn` recursion
2019-08-31 15:44:09 +01:00
Matthew Jasper
7bb2d8b076 Slightly clean up the error for recursive async fn
* Make it clear that type erasure is required, not just pointer
  indirection.
* Don't make the message specific to direct recursion.
2019-08-31 15:43:24 +01:00
John Erickson
1b946106b7 clarify that not all errors are observed 2019-08-31 07:38:13 -07:00
John Erickson
cccce09dda Add in generic type to description of BufReader and BufWriter 2019-08-31 07:38:13 -07:00
John Erickson
c8e474871a Update BufWriter example to include call to flush() 2019-08-31 07:38:02 -07:00
Matthew Jasper
c621919deb Kill borrows from assignments after generating new borrows 2019-08-31 15:35:20 +01:00
Esteban Küber
9d15b6fb95 fix rebase 2019-08-31 00:15:52 -07:00
Esteban Küber
7604eed2a9 review comments: reword comment 2019-08-31 00:14:23 -07:00
Esteban Küber
5384d5584f Suggest call fn ctor passed as arg to fn with type param bounds 2019-08-31 00:14:23 -07:00
Esteban Küber
444bc3ca66 Use span label instead of note for cause in E0631 2019-08-31 00:14:23 -07:00
bors
b3146549ab Auto merge of #63991 - Centril:unique-improper-ctype, r=rkruppe
`improper_ctypes`: guard against accidental change to `Unique<T>`

r? @eddyb
2019-08-31 06:38:46 +00:00
Mazdak Farrokhzad
5187a3e157 Harden param_attrs test wrt. usage of proc macro attrs. 2019-08-31 07:08:23 +02:00
Jethro Beekman
3c4d157c84 Fix unlock ordering in SGX synchronization primitives 2019-08-30 20:35:27 -07:00
Esteban Küber
bf90154410 Tweak terminal width trimming
Properly account for left margin when setting terminal width through
CLI flag and don't trim code by default if we can't get the terminal's
dimensions.
2019-08-30 19:47:21 -07:00
bors
2d851b3318 Auto merge of #63975 - topecongiro:rustfmt-1.4.6, r=nikomatsakis
Update rustfmt to 1.4.6

This PR updates rustfmt to 1.4.6. [CHANGELOG](https://github.com/rust-lang/rustfmt/blob/v1.4.6/CHANGELOG.md#146-2019-08-28).
2019-08-31 01:35:10 +00:00
Esteban Küber
78f62c6190 Account for rounding errors when deciding the diagnostic boundaries 2019-08-30 17:45:34 -07:00
Mazdak Farrokhzad
960ecdce7c improper_ctypes: guard against accidental change to Unique<T>. 2019-08-31 02:42:28 +02:00
bors
fd68d023f4 Auto merge of #64026 - Centril:rollup-le667lp, r=Centril
Rollup of 7 pull requests

Successful merges:

 - #62957 (Match the loop examples)
 - #63600 (Merge oli-obk mail addresses)
 - #63684 (Constify LinkedList new function)
 - #63847 ([rustdoc] Fix system theme detection)
 - #63999 (Add missing links on AsRef trait)
 - #64014 ( miri: detect too large dynamically sized objects )
 - #64015 (some const-eval test tweaks)

Failed merges:

r? @ghost
2019-08-30 21:31:01 +00:00
Dylan MacKenzie
96ac02b8b3 Use new Place::is_indirect API where possible 2019-08-30 14:08:18 -07:00
Mazdak Farrokhzad
d997596445
Rollup merge of #64015 - RalfJung:const-tests, r=oli-obk
some const-eval test tweaks

Best reviewed commit-by-commit.

r? @oli-obk
2019-08-30 23:08:07 +02:00
Mazdak Farrokhzad
1dc8b2304f
Rollup merge of #64014 - RalfJung:miri-slice, r=oli-obk
miri: detect too large dynamically sized objects

Needed to make https://github.com/rust-lang/miri/pull/929 pass.

r? @oli-obk
2019-08-30 23:08:06 +02:00