Commit Graph

98368 Commits

Author SHA1 Message Date
Nicholas Nethercote
2521189438 Add a comment to Compiler::compile().
`Compiler::compile()` is different to all the other `Compiler` methods
because it lacks a `Queries` entry. It only has one call site, which is
in a test that doesn't need its specific characteristics.

This patch replaces that call with a call to `Compile::link()`, which is
similar enough for the test's purposes. It also notes that the method is
an illustrative example of how `Compiler` can be used.
2019-09-19 06:56:52 +10:00
Nicholas Nethercote
d264a56068 Move call site of dep_graph_future().
`Compiler::register_plugins()` calls `passes::register_plugins()`, which
calls `Compiler::dep_graph_future()`. This is the only way in which a
`passes` function calls a `Compiler` function.

This commit moves the `dep_graph_future()` call out of
`passes::register_plugins()` and into `Compiler::register_plugins()`,
which is a more sensible spot for it. This will delay the loading of the
dep graph slightly -- from the middle of plugin registration to the end
of plugin registration -- but plugin registration is fast enough
(especially compared to expansion) that the impact should be neglible.
2019-09-11 10:59:05 +10:00
Nicholas Nethercote
cd0c21b0e5 Remove lower_to_hir() call from prepare_output().
It's a false dependency. The result isn't used and there are no
relevant side-effects.
2019-09-02 08:46:31 +10:00
Nicholas Nethercote
d61605cef8 Don't call self.parse() in Compiler::crate_name() unless necessary. 2019-09-02 08:46:31 +10:00
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
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
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
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
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
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
Ivan Tham
e2e1175ce2
Update sync condvar doc style 2019-08-31 23:09:37 +08: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
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
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
Mazdak Farrokhzad
ac71a7f7cb
Rollup merge of #63999 - GuillaumeGomez:as-ref-missing-links, r=Mark-Simulacrum
Add missing links on AsRef trait

cc @rust-lang/docs
2019-08-30 23:08:04 +02:00
Mazdak Farrokhzad
5f07ff7087
Rollup merge of #63847 - GuillaumeGomez:system-theme-detection, r=kinnison
[rustdoc] Fix system theme detection

Fixes #63830

The problem is that it returns the property "entirely" (so with the quotes in our case). Removing them fixes the issue.

cc @fenhl

r? @kinnison
2019-08-30 23:08:03 +02:00
Mazdak Farrokhzad
b76a558227
Rollup merge of #63684 - GrayJack:const_list_new, r=Centril
Constify LinkedList new function

Change the `LinkedList::new()` function to become a const fn, allowing the use in constant context.
2019-08-30 23:08:01 +02:00
Mazdak Farrokhzad
f6e43e8100
Rollup merge of #63600 - rust-lang:oli-obk-patch-1, r=Mark-Simulacrum
Merge oli-obk mail addresses
2019-08-30 23:07:59 +02:00
Mazdak Farrokhzad
c96a677c39
Rollup merge of #62957 - dns2utf8:doc_loop_keyword, r=GuillaumeGomez
Match the loop examples

The idea is to show the usefulness of the expression side by side.
2019-08-30 23:07:57 +02:00
Baoshan
7726b54c05
Merge pull request #11 from Wind-River/cleanup-2
remove directory libstd/sys/vxworks/backtrace which is not used any more
2019-08-30 13:55:54 -07:00
Baoshan Pang
533a356c49 remove directory libstd/sys/vxworks/backtrace which is not used any more 2019-08-30 13:47:17 -07:00
Andreas Jonson
0b478e6d46 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
2019-08-30 21:26:04 +02:00
bors
4295eea903 Auto merge of #63982 - sam09:fix-63976, r=estebank
When accessing private field of union, do not misidentify it as a struct

Fix incorrect error message when accessing private field of union.

Fixes #63976.
2019-08-30 17:54:55 +00:00
bors
ecca4b8c4b Auto merge of #64018 - flip1995:clippyup, r=oli-obk
Update Clippy

cc rust-lang/rust-clippy#4475

r? @oli-obk
2019-08-30 13:56:35 +00:00
Ralf Jung
bb3474994b add test 2019-08-30 15:04:12 +02:00
bors
0f41401691 Auto merge of #63827 - andjo403:out-of-process-rustc-in-rustdoc, r=Mark-Simulacrum
Run doctests via out-of-process rustc

closes #63638
2019-08-30 10:25:26 +00:00
flip1995
4240168eda
Update Clippy 2019-08-30 11:31:36 +02:00
Ralf Jung
6d86163ffb const-eval tests: make all unions repr(C) 2019-08-30 09:35:33 +02:00
Ralf Jung
e7fed140a4 explain why REF_AS_USIZE is important 2019-08-30 09:35:33 +02:00