Commit Graph

83040 Commits

Author SHA1 Message Date
iirelu 76a353b160 Add keyword docs for loop. 2018-09-24 16:42:43 +02:00
iirelu 165690b7db Rework let keyword docs
It didn't strictly need to be reworked and I'm not sure my version is
better, but oh well, I'm doing it for consistency.
2018-09-19 18:08:22 +02:00
iirelu 738e58d57e Document impl keyword
This commit also splits out linky-line-thingies into two lines, which
judging from the source code for tidy, should be enough to make it shut
up and accept me for who I am, dammit.
2018-09-19 17:01:07 +02:00
iirelu 5393b277aa Incorporate keyword doc PR critique 2018-09-14 14:40:26 +02:00
iirelu 5d05ae7235 Document if keyword. 2018-09-12 16:43:13 +02:00
iirelu f7a66388f3 Document for keyword 2018-09-10 19:36:27 +02:00
iirelu a5c4a382b7 Expand fn keyword docs 2018-09-09 15:44:59 +02:00
iirelu f91ad440ef Add docs on extern keyword 2018-09-09 13:23:34 +02:00
iirelu f15a1ec45d Add keyword docs on enum 2018-09-06 20:44:29 +02:00
iirelu f8d6261f9b Add docs for crate keyword
I think it might be used in some other things, but I'm not fluent enough
at sifting through the rust compiler's source code to find every use of
a specific keyword.

This leaves the question of how to document the `extern` keyword, what
with how much overlap it has with `crate`, but that's used with ABI
stuff so that should be fine.
2018-09-05 19:12:20 +02:00
iirelu 6cbcfa2761 Fix a few small things, re-word others
Mostly addressing notes on ambiguous syntax and spurious newlines.
2018-09-03 21:56:30 +02:00
iirelu c1bd8a9c61 Add keyword docs on const
Turns out writing docs on keywords that are used in multiple different
places in entirely different contexts gets a little harder. I put a
footnote on `*const` syntax just to make sure you can find it if need
be, but it might need more detail.
2018-09-03 20:23:53 +02:00
iirelu 1142bbdfc4 Add docs for as keyword
It's pretty basic and could do with more details, but it's a good
starter until someone else improves it.
2018-09-03 19:41:01 +02:00
iirelu 047aac5cc6 Flesh out struct keyword docs
The whole keyword docs thing is pretty new in Rust's history and needs
some work before it's a shining gem. Here's hoping I can provide that.

I basically shoved in a bunch of the most important information from the
reference and the book, along with leaving links to both at the end. I
don't think keyword docs need to have complete detail, just all the
broad strokes, so if someone's confused about a usage of a keyword they
can look at the std documentation for that keyword.
2018-09-03 16:25:51 +02:00
bors f3bb23191c Auto merge of #53865 - zilbuz:issue-52768, r=pnkfelix
Remove 'not reporting regions error due to nll' warning

Fix #52768
2018-09-03 08:56:42 +00:00
bors 2687112ea6 Auto merge of #53838 - nrc:save-generic, r=eddyb
save-analysis: record info for the types in `where` clauses

cc https://github.com/rust-lang-nursery/rls/issues/987

r? @eddyb
2018-09-03 02:32:11 +00:00
bors 9395f0af78 Auto merge of #53725 - tbu-:pr_getrandom_syscalls, r=alexcrichton
Reduce number of syscalls in `rand`

This skips the initial zero-length `getrandom` call and
directly hands the user buffer to the operating system, saving one
`getrandom` syscall.
2018-09-02 21:24:18 +00:00
bors 763d91aa12 Auto merge of #53899 - Manishearth:clippyup, r=kennytm
Update clippy

r? @kennytm @oli-obk
2018-09-02 18:13:03 +00:00
bors 23ea1b8188 Auto merge of #53599 - matthiaskrgr:split_str__to__split_char, r=frewsxcv
use char pattern for single-character splits: a.split("x") -> a.split('x')
2018-09-02 15:27:56 +00:00
bors 5a0a9a280a Auto merge of #53897 - topecongiro:check-to-eat, r=petrochenkov
Replace check() + bump() with eat()

cc #51945.

r? @petrochenkov
2018-09-02 13:11:22 +00:00
Manish Goregaokar 2e15511050 Update clippy 2018-09-02 13:29:50 +05:30
Seiichi Uchida 51dbb024f7 Replace check() + bump() with eat() 2018-09-02 15:19:28 +09:00
bors 3480ac2a80 Auto merge of #53887 - flip1995:tool_lints, r=Manishearth
Fix of bug introduced by #53762 (tool_lints)

Before implementing backwards compat for tool lints, the `Tool` case when parsing cmdline lints was unreachable. This changed with #53762.

This fix is needed for rls test-pass. (@nrc)

r? @Manishearth
2018-09-02 02:10:33 +00:00
bors a1a8c444f9 Auto merge of #53842 - estebank:various, r=petrochenkov
Various small diagnostic and code clean up

 - Point at def span on incorrect `panic` or `oom` function
 - Use structured suggestion instead of note for `+=` that can be performed on a dereference of the left binding
 - Small code formatting cleanup
2018-09-01 23:34:14 +00:00
Tobias Bucher b95c491dfc Fix an endless loop when getrandom is not available 2018-09-02 00:19:11 +02:00
bors 28bcffead7 Auto merge of #53815 - F001:if-let-guard, r=petrochenkov
refactor match guard

This is the first step to implement RFC 2294: if-let-guard. Tracking issue: https://github.com/rust-lang/rust/issues/51114

The second step should be introducing another variant `IfLet` in the Guard enum. I separated them into 2 PRs for the convenience of reviewers.

r? @petrochenkov
2018-09-01 20:31:29 +00:00
bors f39f218ec3 Auto merge of #53533 - withoutboats:error-source, r=withoutboats
Add Error::source method per RFC 2504.

This implements part of RFC 2504.

* Adds `Error::source`, a replacement for `Error::cause` with the "right" signature, which will be instantly stable.
* Deprecates `Error::cause` in 1.33 (this choice was based on the precedent in #52994, which we haven't finalized).
* Redefines `Error::cause` to delegate to `Error::source` (the delegation can only go in this direction, not the other).

@rfcbot fcp merge
2018-09-01 18:08:45 +00:00
Manish Goregaokar daa43643b0 deprcated -> deprecated 2018-09-01 21:45:44 +05:30
flip1995 6a317be5c8 Add tests for cmdline tool lints 2018-09-01 18:06:36 +02:00
bors 839d99c861 Auto merge of #53884 - kennytm:rollup, r=kennytm
Rollup of 9 pull requests

Successful merges:

 - #53076 (set cfg(rustdoc) when rustdoc is running on a crate)
 - #53622 (cleanup: Add main functions to some UI tests)
 - #53769 (Also link Clippy repo in the CONTRIBUTING.md file)
 - #53774 (Add rust-gdbgui script.)
 - #53781 (bench: libcore: fix build failure of any.rs benchmark (use "dyn Any"))
 - #53782 (Make Arc cloning mechanics clearer in module docs)
 - #53790 (Add regression test for issue #52060)
 - #53801 (Prevent duplicated impl on foreign types)
 - #53850 (Nuke the `const_to_allocation` query)
2018-09-01 15:48:21 +00:00
flip1995 798a20740e Fix of bug introduced by #53762 2018-09-01 17:43:14 +02:00
kennytm d0f8cf32b3 Rollup merge of #53076 - QuietMisdreavus:cfg-rustdoc, r=GuillaumeGomez
set cfg(rustdoc) when rustdoc is running on a crate

When using `#[doc(cfg)]` to document platform-specific items, it's a little cumbersome to get all the platforms' items to appear all at once. For example, the standard library adds `--cfg dox` to rustdoc's command line whenever it builds docs, and the documentation for `#![feature(doc_cfg)]` suggests using a Cargo feature to approximate the same thing. This is a little awkward, because you always need to remember to set `--features dox` whenever you build documentation.

This PR proposes making rustdoc set `#[cfg(rustdoc)]` whenever it runs on a crate, to provide an officially-sanctioned version of this that is set automatically. This way, there's a standardized way to declare that a certain version of an item is specifically when building docs.

To try to prevent the spread of this feature from happening too quickly, this PR also restricts the use of this flag to whenever `#![feature(doc_cfg)]` is active. I'm sure there are other uses for this, but right now i'm tying it to this feature. (If it makes more sense to give this its own feature, i can easily do that.)
2018-09-01 23:18:41 +08:00
kennytm a0d0060bd7 Rollup merge of #53850 - csmoe:const_to_alloc, r=RalfJung
Nuke the `const_to_allocation` query

Closes https://github.com/rust-lang/rust/issues/53847
r? @RalfJung
`./x.py check` works anyway, let's checkout tests from ci.
2018-09-01 21:14:16 +08:00
kennytm f37081499b Rollup merge of #53801 - GuillaumeGomez:duplicated-foreign-type-impls, r=QuietMisdreavus
Prevent duplicated impl on foreign types

Fixes #53689.

r? @QuietMisdreavus
2018-09-01 21:14:15 +08:00
kennytm 88ebbe98bb Rollup merge of #53790 - zilbuz:issue-52060, r=nikomatsakis
Add regression test for issue #52060

Fix #52060
2018-09-01 21:14:14 +08:00
kennytm fcd76b4d3c Rollup merge of #53782 - rask:task/arc-docs-adjustment, r=cramertj
Make Arc cloning mechanics clearer in module docs

Add some more wording to module documentation regarding how
`Arc::clone()` works, as some users have assumed cloning Arc's
to work via dereferencing to inner value as follows:

    use std::sync::Arc;

    let myarc = Arc::new(1);
    let myarcref = myarc.clone();

    assert!(1 == myarcref);

Instead of the actual mechanic of referencing the existing
Arc value:

    use std::sync::Arg;

    let myarc = Arc::new(1);
    let myarcref = myarc.clone();

    assert!(myarcref == &myarc); // not sure if assert could assert this in the real world
2018-09-01 21:14:13 +08:00
kennytm 8d161a6682 Rollup merge of #53781 - matthiaskrgr:fix_any_bench, r=kennytm
bench: libcore: fix build failure of any.rs benchmark (use "dyn Any")

fixes
````
error: trait objects without an explicit `dyn` are deprecated
  --> libcore/../libcore/benches/any.rs:18:36
   |
18 |         let mut y = &mut x as &mut Any;
   |                                    ^^^ help: use `dyn`: `dyn Any`
   |
   = note: requested on the command line with `-D bare-trait-objects`
````
2018-09-01 21:14:11 +08:00
kennytm 2e543e9439 Rollup merge of #53774 - PhilipDaniels:master, r=tromey
Add rust-gdbgui script.

This script invokes the [gdbgui](https://gdbgui.com/) graphical GDB front-end with the Rust pretty printers loaded. The script does not install gdbgui, that must be done manually.

As an escapee from Visual Studio it is nice to have a point-and-click debugger. This script invokes `gdbgui` similarly to the way that `rust-gdb` invokes `gdb` - I copied that script as a starting point.

Because it is a wrapper around a wrapper you don't have as much flexibility in passing arguments to GDB and I could not find a way to eliminate the single quotes you have to use when you want to pass arguments to your program (`gdbgui` supposedly supports an `--args` option which I think should allow this, but I couldn't get it to work, my shell-fu is weak). Still, I find this very usable for debugging programs, and it is a lot more approachable than gdb in the terminal.
2018-09-01 21:14:10 +08:00
kennytm 7cf6ea5ee4 Rollup merge of #53769 - flip1995:patch-1, r=kennytm
Also link Clippy repo in the CONTRIBUTING.md file

r? @steveklabnik
2018-09-01 21:14:09 +08:00
kennytm 9d80c65be2 Rollup merge of #53622 - petrochenkov:nomain, r=oli-obk
cleanup: Add main functions to some UI tests
2018-09-01 21:14:07 +08:00
bors fea32f1b77 Auto merge of #53604 - oli-obk:min_const_fn, r=Centril,varkor
Implement the `min_const_fn` feature gate

cc @RalfJung @eddyb

r? @Centril

implements the feature gate for #53555

I added a hack so the `const_fn` feature gate also enables the `min_const_fn` feature gate. This ensures that nightly users of `const_fn` don't have to touch their code at all.

The `min_const_fn` checks are run first, and if they succeeded, the `const_fn` checks are run additionally to ensure we didn't miss anything.
2018-09-01 11:26:24 +00:00
Basile Desloges b01550a718 Update tests 2018-09-01 12:58:18 +02:00
Basile Desloges e27bae09ca Remove 'not reporting regions error due to nll' warning 2018-09-01 12:58:18 +02:00
csmoe db7da0e476 bug! instead of panic! 2018-09-01 18:13:28 +08:00
bors e6381a7f37 Auto merge of #53822 - dvc94ch:riscv, r=japaric
[RISCV] Use lld as the default linker; Enable C extension; Add riscv32imc-unknown-none-elf target

The riscv32imc-unknown-none-elf target is intended for soft cores.

The riscv32imc target is supported by the following popular soft cores:

picorv32: https://github.com/cliffordwolf/picorv32
vexriscv: https://github.com/SpinalHDL/VexRiscv
pulp riscy: https://github.com/pulp-platform/riscv
pulp zero-riscy: https://github.com/pulp-platform/zero-riscy
2018-09-01 06:58:16 +00:00
bors b7e44027a5 Auto merge of #53762 - flip1995:tool_lints, r=Manishearth
Backwards compatibility for tool/clippy lints

cc #44690
cc https://github.com/rust-lang-nursery/rust-clippy/pull/2977#issuecomment-409706557

This is the next step towards `tool_lints`.

This makes Clippy lints still work without scoping, but will warn and suggest the new scoped name. This warning will only appear if the code is checked with Clippy itself.

There is still an issue with using the old lint name in inner attributes. For inner attributes the warning gets emitted twice. I'm currently not really sure why this happens, but will try to fix this ASAP.

r? @Manishearth
2018-09-01 03:27:42 +00:00
csmoe a18a2900f3 improve panic message 2018-09-01 09:49:24 +08:00
bors 06a59da5af Auto merge of #53611 - alexcrichton:update-llvm, r=nikomatsakis
Update LLVM submodule

This commit updates the LLVM submodule to the current trunk of LLVM itself. This
brings a few notable improvements for the wasm target:

* Support for wasm atomic instructions is greatly improved
* Renamed memory wasm intrinsics are fully supported
* LLD has fixed a quadratic execution bug with large numbers of relocations in
  wasm files.

The compiler-rt submodule has been updated in tandem as well.
2018-09-01 01:07:31 +00:00
Alex Crichton 6c10142251 Update LLVM submodule
This commit updates the LLVM submodule to the current trunk of LLVM itself. This
brings a few notable improvements for the wasm target:

* Support for wasm atomic instructions is greatly improved
* Renamed memory wasm intrinsics are fully supported
* LLD has fixed a quadratic execution bug with large numbers of relocations in
  wasm files.

The compiler-rt submodule has been updated in tandem as well.
2018-08-31 16:00:41 -07:00
bors 571a624aa9 Auto merge of #53755 - llogiq:fix-unsound-16bit-range, r=nagisa
fix u32 steps_between for 16-bit systems

This fixes #48006.
2018-08-31 22:44:17 +00:00