Commit Graph

89912 Commits

Author SHA1 Message Date
varkor
4e0e188999 Make name resolution handle consts in GenericParamsFromOuterFunction properly 2019-02-07 15:03:20 +01:00
varkor
451f128783 Parse negative literals in const generic arguments 2019-02-07 15:03:20 +01:00
varkor
9ad04b9960 Add warning for a parameter list with an attribute but no parameters 2019-02-07 15:03:20 +01:00
varkor
dbc7924b3f Add test for generic parameter list solely containing an attribute 2019-02-07 15:03:20 +01:00
varkor
b3015abfa0 Fix update to 2018 edition 2019-02-07 15:03:20 +01:00
varkor
61f35f0641 Adjust generic const param resolution 2019-02-07 15:03:20 +01:00
varkor
bbdcc4e7ce Adjust parser generic parameter errors 2019-02-07 15:02:17 +01:00
varkor
899d013fef Fix E0670 doc error 2019-02-07 15:02:17 +01:00
varkor
7461a5e655 Fix ast_validation printing of const generics 2019-02-07 15:02:17 +01:00
varkor
1805546084 Fix const generic parameter save analysis 2019-02-07 15:02:17 +01:00
varkor
bf2f62cb98 Add test for const parameter before other generic parameters 2019-02-07 15:02:17 +01:00
varkor
ed51b6148f Add test for const parameter depending on type parameter 2019-02-07 15:02:17 +01:00
varkor
2f73245ca4 Add test forbidding const parameters in const fn 2019-02-07 15:02:17 +01:00
varkor
455d659e91 Update tests
Co-Authored-By: Gabriel Smith <yodaldevoid@users.noreply.github.com>
2019-02-07 15:02:17 +01:00
varkor
8fd5979006 Add const generics feature gate test
Co-Authored-By: Gabriel Smith <yodaldevoid@users.noreply.github.com>
2019-02-07 15:02:17 +01:00
varkor
3991ba76ee Support const generics in save analysis
Co-Authored-By: Gabriel Smith <yodaldevoid@users.noreply.github.com>
2019-02-07 15:02:17 +01:00
varkor
06abaee21b Add error for const parameters depending on type parameters
Co-Authored-By: Gabriel Smith <yodaldevoid@users.noreply.github.com>
2019-02-07 15:02:17 +01:00
varkor
11874a0c14 Validate generic parameter and argument order in ast_validation
Co-Authored-By: Gabriel Smith <yodaldevoid@users.noreply.github.com>
2019-02-07 15:02:17 +01:00
varkor
2fec52bf58 Add lowering errors for const generics
Co-Authored-By: Gabriel Smith <yodaldevoid@users.noreply.github.com>
2019-02-07 15:02:17 +01:00
varkor
29f7206366 Add const params to Def
Co-Authored-By: Gabriel Smith <yodaldevoid@users.noreply.github.com>
2019-02-07 15:02:17 +01:00
varkor
ea0d99829d Add resolution errors for const generics
Co-Authored-By: Gabriel Smith <yodaldevoid@users.noreply.github.com>
2019-02-07 15:02:17 +01:00
varkor
b4ef753e8f Add pretty-printing for const generics
Co-Authored-By: Gabriel Smith <yodaldevoid@users.noreply.github.com>
2019-02-07 15:02:16 +01:00
varkor
d7695abb76 Support const generics in derive
Co-Authored-By: Gabriel Smith <yodaldevoid@users.noreply.github.com>
2019-02-07 15:02:16 +01:00
varkor
0a8d98a270 Parse const generics
Co-Authored-By: Gabriel Smith <yodaldevoid@users.noreply.github.com>
2019-02-07 15:02:16 +01:00
varkor
8d83521f0b Add const_generics feature flag
Co-Authored-By: Gabriel Smith <yodaldevoid@users.noreply.github.com>
2019-02-07 15:02:16 +01:00
varkor
751dcdf606 Add Const kind to AST
Co-Authored-By: Gabriel Smith <yodaldevoid@users.noreply.github.com>
2019-02-07 15:02:16 +01:00
Nick Fitzgerald
e633f15239 Un-monomorphize and inline formatting with padding
The generic `F` in `with_padding` was causing a bunch of stuff to get inlined
that otherwise needn't be, blowing up code size.
2019-02-07 15:01:30 +01:00
Esteban Küber
9e934e2215 Reweork incompatible match arms error
- Point at the body expression of the match arm with the type error.
- Point at the prior match arms explicitely stating the evaluated type.
- Point at the entire match expr in a secondary span, instead of primary.
- For type errors in the first match arm, the cause is outside of the
  match, treat as implicit block error to give a more appropriate error.
2019-02-07 05:39:54 -08:00
Guillaume Gomez
761caa2334
Rollup merge of #58185 - GuillaumeGomez:images-url, r=SimonSapin
Remove images' url to make it work even without internet connection

Needed for local std docs mainly.

cc @SimonSapin

r? @QuietMisdreavus
2019-02-07 14:28:41 +01:00
Guillaume Gomez
da8da5e061
Rollup merge of #58150 - GuillaumeGomez:dont-apply-impl-collapse-rules-to-trait-impls, r=Manishearth
Don't apply impl block collapse rules to trait impls

Fixes #58147.

r? @QuietMisdreavus
2019-02-07 14:28:40 +01:00
Guillaume Gomez
064b787fc9
Rollup merge of #58146 - GuillaumeGomez:dont-collapse-everything, r=QuietMisdreavus
Prevent automatic collapse of methods impl blocks

Fixes #57582.

r? @QuietMisdreavus
2019-02-07 14:28:38 +01:00
Guillaume Gomez
2c9f1f5750
Rollup merge of #58143 - GuillaumeGomez:sort-elements-in-sidebar, r=QuietMisdreavus
Sort elements in the sidebar

Fixes #57448.

Not sorting fields or variants though.

r? @QuietMisdreavus
2019-02-07 14:28:37 +01:00
Guillaume Gomez
f22c445053
Rollup merge of #58086 - GuillaumeGomez:rustdoc-file-list-improvement, r=Manishearth
[rustdoc] Improve file list display

Improve a bit the arrows to show a folder's file and the arrow to show/hide the left panel.

r? @QuietMisdreavus
2019-02-07 14:28:36 +01:00
Guillaume Gomez
f61a4f86db
Rollup merge of #58033 - euclio:rustdoc-tags, r=QuietMisdreavus
rustdoc: wrap stability tags in colored spans

A cosmetic change to make the stability tags stand out a bit against the docs. Opening for discussion.

Before:

![screen shot 2019-01-31 at 3 29 36 pm](https://user-images.githubusercontent.com/1372438/52083406-54730d80-256d-11e9-8e61-b8caff569434.png)
![screen shot 2019-01-31 at 3 31 32 pm](https://user-images.githubusercontent.com/1372438/52083408-54730d80-256d-11e9-97b7-43e808448f65.png)

After:
![screen shot 2019-01-31 at 3 29 18 pm](https://user-images.githubusercontent.com/1372438/52083405-54730d80-256d-11e9-9983-19d9519b2ed8.png)
![screen shot 2019-01-31 at 3 29 46 pm](https://user-images.githubusercontent.com/1372438/52083407-54730d80-256d-11e9-8c32-11a1ad7d3f34.png)

r? @QuietMisdreavus
2019-02-07 14:28:34 +01:00
Guillaume Gomez
1a99a32bd7
Rollup merge of #58028 - GuillaumeGomez:fix-settings-image-link, r=QuietMisdreavus
Fix image link in the settings menu

Fixes #57892.

r? @QuietMisdreavus
2019-02-07 14:28:33 +01:00
Guillaume Gomez
bb9d66d3ba
Rollup merge of #57954 - euclio:rustdoc-stability, r=QuietMisdreavus
rustdoc: remove blank unstable spans

Rustdoc generates blank unstable spans for unstable struct fields: ![screen shot 2019-01-28 at 1 05 04 pm](https://user-images.githubusercontent.com/1372438/51856295-5e8ed500-22fd-11e9-8074-025eddb4ef65.png)

This PR removes them:
![screen shot 2019-01-28 at 1 07 22 pm](https://user-images.githubusercontent.com/1372438/51856424-aada1500-22fd-11e9-86f0-34e2aa78b8b1.png)

r? @QuietMisdreavus
2019-02-07 14:28:32 +01:00
Guillaume Gomez
4c62d7e6f1
Rollup merge of #57884 - GuillaumeGomez:update-minifier-array, r=QuietMisdreavus
Update minifier version

Should fix #57754 (at least it's a bit faster on my computer).

The whole point of this update is to create a huge array instead of creating a lot of variables.

r? @QuietMisdreavus
2019-02-07 14:28:30 +01:00
Guillaume Gomez
2f2d61a0f8
Rollup merge of #57848 - jrvanwhy:transmute-export-doc, r=QuietMisdreavus
Generate a documentation page for core::mem::transmute.

In `#[no_std]` environments, `std::mem::transmute` is unavailable. Searching for "core transmute" online only pulls up `core::intrinsics::transmute`, which is behind the (unstable) `core_intrinsics` feature flag. Users wishing to use transmute in `#[no_std]` environments typically should use `core::mem::transmute` instead, as it is stable. This documentation makes `core::mem::transmute` discoverable.
2019-02-07 14:28:29 +01:00
Guillaume Gomez
55c0922201
Rollup merge of #57504 - GuillaumeGomez:re-enable-history, r=QuietMisdreavus
Re-enable history api on file:// protocol

Fixes #57135.

I tested locally on chrome (since it was the browser having issues with history management on `file://` protocol) and it worked fine so I guess we can re-enable it.

r? @QuietMisdreavus
2019-02-07 14:28:27 +01:00
Wesley Wiser
584081af4a Calculate self-times not total times 2019-02-07 14:15:57 +01:00
Wesley Wiser
a568e7e47b Add #[inline] annotations 2019-02-07 14:15:57 +01:00
Wesley Wiser
5bb96edbb2 Implement more detailed self profiling
Timing data and cache hits/misses are now recorded at the query level.
This allows us to show detailed per query information such as total time
for each query.

To see detailed query information in the summary pass the `-Z verbose`
flag. For example:

```
rustc -Z self-profile -Z verbose hello_world.rs
```
2019-02-07 14:15:54 +01:00
Nick Fitzgerald
ed2157a38f De-duplicate write_prefix lambda in pad_integral
For smaller code size.
2019-02-07 13:02:27 +01:00
Nick Fitzgerald
da5a0cd69c De-duplicate number formatting implementations for smaller code size
Instead of inlining the same logic into every number formatting implementation,
pull it out into a function that each of the number formatting impls call into.
2019-02-07 12:33:27 +01:00
Guillaume Gomez
729e37da4d Don't apply impl block collapse rules to trait impls 2019-02-07 11:48:31 +01:00
Taiki Endo
1d05f81d19 Add #[must_use] message to Fn* traits 2019-02-07 19:44:06 +09:00
Guillaume Gomez
8b886e07f5 Remove images' url to make it work even without internet connection 2019-02-07 11:06:19 +01:00
bors
ad433894ab Auto merge of #58010 - Zoxc:parallel-passes, r=michaelwoerister
Move privacy checking later in the pipeline and make some passes run in parallel

r? @michaelwoerister
2019-02-07 09:49:08 +00:00
Esteban Küber
6e62129b36 add doc comment and revert angle bracket change 2019-02-07 01:42:54 -08:00
Esteban Küber
336c48cc7b tweak wording based on in person feedback 2019-02-07 01:42:54 -08:00