Commit Graph

91944 Commits

Author SHA1 Message Date
Felix S. Klock II
6046f4a673 Do not lint dyn tokens under macros.
The existing `KeywordIdents` lint blindly scans the token stream for a
macro or macro definition. It does not attempt to parse the input,
which means it cannot distinguish between occurrences of `dyn` that
are truly instances of it as an identifier (e.g. `let dyn = 3;`)
versus occurrences that follow its usage as a contextual keyword (e.g.
the type `Box<dyn Trait>`).

In an ideal world the lint would parse the token stream in order to
distinguish such occurrences; but in general we cannot do this,
because a macro_rules definition does not specify what parsing
contexts the macro being defined is allowed to be used within.

So rather than put a lot of work into attempting to come up with a
more precise but still incomplete solution, I am just taking the short
cut of not linting any instance of `dyn` under a macro. This prevents
`rustfix` from injecting bugs into legal 2015 edition code.
2019-03-27 14:43:29 +01:00
bors
33ef0bad21 Auto merge of #59415 - varkor:values_since_snapshot, r=eddyb
Refactor InferenceFudger (née RegionFudger)

- Rename `RegionFudger` (and related methods) to `InferenceFudger`.
- Take integer and float inference variables into account.
- Refactor `types_created_since_snapshot` and `vars_created_since_snapshot` with the [new version of ena](https://github.com/rust-lang-nursery/ena/pull/21).
- Some other refactoring in the area.

r? @eddyb
2019-03-27 13:20:16 +00:00
Konrad Borowski
ba21e0b368 Include id in Thread's Debug implementation
Since Rust 1.19.0, id is a stable method, so there is no reason to
not include it in Debug implementation.
2019-03-27 12:28:17 +01:00
Yuki OKUSHI
2368aa8e97 Add some tests 2019-03-27 19:30:33 +09:00
varkor
86d5a69d9d Use Vec instead of FxHashMap 2019-03-27 09:44:55 +00:00
varkor
688cbad9b8 Lookup region variable origin instead of choosing one 2019-03-27 09:44:55 +00:00
varkor
2d48ffa9c6 Store type variable origins in InferenceFudger 2019-03-27 09:44:55 +00:00
varkor
58a04f06cb Propitiate tidy 2019-03-27 09:44:55 +00:00
varkor
3683f51352 Update ena to version 0.13.0 2019-03-27 09:44:55 +00:00
varkor
267370ed58 Use eq_relations 2019-03-27 09:44:55 +00:00
varkor
fa18c129c3 Add next_int_var and next_float_var 2019-03-27 09:44:55 +00:00
varkor
f9d8bb8e2c Simplify fudge_inference_if_ok 2019-03-27 09:44:55 +00:00
varkor
ac94858e32 Add int variables and float variables to InferenceFudger 2019-03-27 09:44:55 +00:00
varkor
1f9a2326b5 Rename RegionFudger to InferenceFudger 2019-03-27 09:44:55 +00:00
varkor
6cc09fc8b2 Remove TypeVariableMap 2019-03-27 09:44:55 +00:00
varkor
abf5e81663 Use Ranges for vars_since_snapshot 2019-03-27 09:44:55 +00:00
varkor
a5c653be63 Simplify TypeVariableTable::vars_since_snapshot 2019-03-27 09:44:55 +00:00
varkor
2a08860ae6 Simplify RegionConstraintCollector::vars_since_snapshot 2019-03-27 09:44:55 +00:00
varkor
92b2021b0a Make vars_since_snapshot naming consistent 2019-03-27 09:44:55 +00:00
varkor
443a2d4f86 Update ena 2019-03-27 09:44:55 +00:00
Mazdak Farrokhzad
ce1c5e0a61 add negative test case in assignment-expected-bool 2019-03-27 10:19:47 +01:00
Mazdak Farrokhzad
0b9c589beb adjust assignment-in-if test accordingly. 2019-03-27 10:19:47 +01:00
Mazdak Farrokhzad
05d59feb64 add test for assignment x = y where type bool is expected. 2019-03-27 10:19:47 +01:00
Mazdak Farrokhzad
7945eff080 generalize diagnostic for x = y where type bool is expected. 2019-03-27 10:19:47 +01:00
bors
c5fb4d0d2f Auto merge of #55780 - ogoffart:span_source_text, r=petrochenkov
Introduce proc_macro::Span::source_text

A function to extract the actual source behind a Span.

Background: I would like to use `syn` in a `build.rs` script to parse the rust code, and extract part of the source code. However, `syn` only gives access to proc_macro2::Span, and i would like to get the source code behind that.
I opened an issue on proc_macro2 bug tracker for this feature https://github.com/alexcrichton/proc-macro2/issues/110  and @alexcrichton said the feature should first go upstream in proc_macro.  So there it is!

Since most of the Span API is unstable anyway, this is guarded by the same `proc_macro_span` feature as everything else.
2019-03-27 08:58:40 +00:00
Mazdak Farrokhzad
bf1068b137 librustc_interface => 2018; rename rustc-rayon to rayon in Cargo.toml 2019-03-27 09:48:50 +01:00
Mazdak Farrokhzad
14f3f6c712 librustc_interface => 2018 2019-03-27 09:41:42 +01:00
Chris Gregory
65b5e57226 Make into itemized list and fix some wording 2019-03-27 01:52:55 -04:00
Chris Gregory
61b6c56f50 Minor rewordings and add dyn keyword 2019-03-27 01:46:24 -04:00
bors
267fb90b55 Auto merge of #59447 - GuillaumeGomez:rollup, r=GuillaumeGomez
Rollup of 7 pull requests

Successful merges:

 - #59004 ([rustdoc] Improve "in parameters" search and search more generally)
 - #59026 (Fix moving text in search tabs headers)
 - #59197 (Exclude old book redirect stubs from search engines)
 - #59330 (Improve the documentation for std::convert (From, Into, AsRef and AsMut))
 - #59424 (Fix code block display in portability element in dark theme)
 - #59427 (Link to PhantomData in NonNull documentation)
 - #59432 (Improve some compiletest documentation)

Failed merges:

r? @ghost
2019-03-27 05:25:50 +00:00
Chris Gregory
a68a0e33d1 Add documentation about for used as higher ranked trait bounds
Resolves #55416
2019-03-27 01:23:14 -04:00
Philip Craig
3a5a8a529a Give variant parts their own unique id
and bump llvm version in test
2019-03-27 15:22:37 +10:00
Simonas Kazlauskas
8d4afbe413 Use informational target machine for metadata
Since there is nothing to optimise there...
2019-03-27 04:03:42 +02:00
kenta7777
892f7c430d renames EvalContext to InterpretCx in docs and comments. 2019-03-27 10:57:03 +09:00
bors
dd363d14ae Auto merge of #59285 - cuviper:llvm-8.0.0, r=alexcrichton
Rebase LLVM to 8.0.0 final

r? @alexcrichton
2019-03-27 01:56:14 +00:00
topecongiro
c728ae0fd1 Update rustfmt to 1.2.0 2019-03-27 10:42:13 +09:00
Tim Diekmann
8733b2ab0c
Add Default to std::alloc::System 2019-03-27 00:09:12 +01:00
Guillaume Gomez
5652dd677c Fix error index CSS file name 2019-03-26 23:57:16 +01:00
Markus Westerlind
a365287e10 fix: Make incremental artifact deletion more robust
Should fix the intermittent errors reported in #57958

cc #48614
2019-03-26 23:49:14 +01:00
Nikhil Benesch
d339b89644
Use consistent phrasing for all macro summaries 2019-03-26 18:22:25 -04:00
Josh Stone
a548d835ce impl TrustedLen for 128-bit ranges too 2019-03-26 14:45:54 -07:00
Guillaume Gomez
50c50e3a82 Handle RUSTDOC_RESOURCE_SUFFIX env variable for rustdoc build 2019-03-26 22:29:30 +01:00
Guillaume Gomez
2d6745de0e Add resource suffix for libtest and proc_macro as well 2019-03-26 22:29:30 +01:00
Guillaume Gomez
080a8e7a71 Prevent cache issues on version updates 2019-03-26 22:29:30 +01:00
Guillaume Gomez
cbb13f496c
Rollup merge of #59432 - phansch:compiletest_docs, r=alexcrichton
Improve some compiletest documentation

This adds some missing documentation for rustfix related things and adds
a test for the `is_test` function.
2019-03-26 22:26:46 +01:00
Guillaume Gomez
616ee876c1
Rollup merge of #59427 - czipperz:non_null_doc_links, r=Mark-Simulacrum
Link to PhantomData in NonNull documentation
2019-03-26 22:26:45 +01:00
Guillaume Gomez
07c83488d5
Rollup merge of #59424 - GuillaumeGomez:fix-stability-css, r=QuietMisdreavus
Fix code block display in portability element in dark theme

Fixes #59261.

r? @QuietMisdreavus

A little screenshot:

<img width="521" alt="Screenshot 2019-03-26 at 00 37 49" src="https://user-images.githubusercontent.com/3050060/54961082-9a41c600-4f5f-11e9-8040-ae6f26d368ff.png">
2019-03-26 22:26:43 +01:00
Guillaume Gomez
4e19b7a0e9
Rollup merge of #59330 - DevQps:improve-std-convert-documentation, r=steveklabnik
Improve the documentation for std::convert (From, Into, AsRef and AsMut)

# Description
In this PR I updated the documentation of From, Into, AsRef and AsMut, as well as the general std::convert module documentation. The discussion in #59163 provided information that was not yet present in the docs, or was not expressed clearly enough. I tried to clarify the examples that were already present in the docs as well as add more information about considered best-practices that came out of the discussion in #59163

@steveklabnik I hope I didn't change too much. This is an initial version! I will scan through everything tomorrow as well again to see if I made any typo's or errors, and maybe make some small changes here and there.

All suggestions are welcome!

closes #59163
2019-03-26 22:26:42 +01:00
Guillaume Gomez
3747868889
Rollup merge of #59197 - kornelski:redir, r=steveklabnik
Exclude old book redirect stubs from search engines

Adds `<meta name="robots" content="noindex,follow">` to the `<head>` of old stub pages pointing to the second edition of the book.

This is continuation of https://github.com/rust-lang/book/pull/1788
2019-03-26 22:26:40 +01:00
Guillaume Gomez
5f390f7a66
Rollup merge of #59026 - GuillaumeGomez:search-tabs-header, r=QuietMisdreavus
Fix moving text in search tabs headers

Fixes #59005.

Now, the text in the search tabs headers isn't moving anymore.

r? @QuietMisdreavus
2019-03-26 22:26:39 +01:00