- 21 2月, 2018 9 次提交
-
-
由 Guillaume Gomez 提交于
Add missing link for read_line Seems I found a missing link
🔗 https://doc.rust-lang.org/stable/std/io/trait.BufRead.html#errors-2 -
由 Guillaume Gomez 提交于
Update .mailmap with my real name Good morning, the Rust team! Once upon a time I was a modest-scale contributor. Sadly, various turbulences made me step away from my participation in the project. It's great to see how far it's gone. I would appreciate it if you accepted this small change to the .mailmap file so that it shows my real name as back then I was using an alias. If doubts arise if I am the same person, I will be happy to provide further evidence. :) Kind regards.
-
由 Guillaume Gomez 提交于
Implement implied shortcut links for intra-rustdoc-links cc https://github.com/rust-lang/rust/issues/43466 Needs https://github.com/google/pulldown-cmark/pull/126 r? @QuietMisdreavus
-
由 Guillaume Gomez 提交于
Mark doc examples w/ `extern` blocks as `ignore`. Fixes https://github.com/rust-lang/rust/issues/48218.
-
由 Guillaume Gomez 提交于
Fix broken documentation link. None
-
由 Guillaume Gomez 提交于
inform user where to give a type annotation should resolve #47777 previous pull request https://github.com/rust-lang/rust/pull/47982 was closed because of a mistaken rebase. r? @estebank
-
由 Guillaume Gomez 提交于
rustdoc: move manual "extern crate" statements outside automatic "fn main"s in doctests Gated on https://github.com/rust-lang/rust/pull/48095 - I based the branch atop that so i could show off the change in one of its tests, the actual change in this PR is just the last commit There are a handful of unfortunate assumptions in the way rustdoc processes `extern crate` statements in doctests: 1. In the absence of an `extern crate` statement in the test, if the test also uses the local crate name, it will automatically insert an `extern crate cratename;` statement into the test. 2. If the doctest *does* include an `extern crate` statement, rustdoc will not automatically insert one, on the assumption that doing so would introduce a duplicate import. 3. If a doctest does not have the substring `fn main` outside a comment, rustdoc will wrap the whole doctest in a generated `fn main` so it can be compiled. In short, whenever you write a doctest like this... ```rust //! extern crate my_crate; //! my_crate::some_cool_thing(); ``` ...rustdoc will turn it into (something like) this: ```rust fn main() { extern crate my_crate; my_crate::some_cool_thing(); } ``` This creates issues when compiled, because now `my_crate` isn't even properly in scope! This forces people who want to have multiple crates in their doctests (or an explicit `extern crate` statement) to also manually include their own `fn main`, so rustdoc doesn't put their imports in the wrong place. This PR just taps into another processing step rustdoc does to doctests: Whenever you add an `#![inner_attribute]` to the beginning of a doctest, rustdoc will actually splice those out and put it before the generated `fn main`. Now, we can just do the same with `extern crate`s at the beginning, too, and get a much nicer experience. Now, the above example will be converted into this: ```rust extern crate my_crate; fn main() { my_crate::some_cool_thing(); } ```
-
由 Guillaume Gomez 提交于
Generate documentation for auto-trait impls A new section is added to both both struct and trait doc pages. On struct/enum pages, a new 'Auto Trait Implementations' section displays any synthetic implementations for auto traits. Currently, this is only done for Send and Sync. ![Auto trait implementations for Cloned](https://i.imgur.com/XtTV6IJ.png) On trait pages, a new 'Auto Implementors' section displays all types which automatically implement the trait. Effectively, this is a list of all public types in the standard library. ![Auto trait implementors for Send](https://i.imgur.com/3GRBpTy.png) Synthesized impls for a particular auto trait ('synthetic impls') take generic bounds into account. For example, a type ```rust struct Foo<T>(T) ``` will have 'impl<T> Send for Foo<T> where T: Send' generated for it. Manual implementations of auto traits are also taken into account. If we have the following types: ```rust struct Foo<T>(T) struct Wrapper<T>(Foo<T>) unsafe impl<T> Send for Wrapper<T>' // pretend that Wrapper<T> makes this sound somehow ``` Then Wrapper will have the following impl generated: ```rust impl<T> Send for Wrapper<T> ``` reflecting the fact that 'T: Send' need not hold for 'Wrapper<T>: Send' to hold Lifetimes, HRTBS, and projections (e.g. '<T as Iterator>::Item') are taken into account by synthetic impls: ![A ridiculous demonstration type](https://i.imgur.com/TkZMWuN.png) However, if a type can *never* implement a particular auto trait (e.g. `struct MyStruct<T>(*const T)`), then a negative impl will be generated (in this case, `impl<T> !Send for MyStruct<T>`) All of this means that a user should be able to copy-paste a syntheticimpl into their code, without any observable changes in behavior (assuming the rest of the program remains unchanged).
-
由 Guillaume Gomez 提交于
Derive std::cmp::Reverse as Copy or Clone If the type parameter is Copy or Clone, then `Reverse` should be too.
-
- 20 2月, 2018 2 次提交
-
-
由 Aaron Hill 提交于
This removes the implicit dependency on the iteration order of FxHashMap
-
由 Andreas Streichardt 提交于
-
- 19 2月, 2018 17 次提交
-
-
由 Jakub Adam Wieczorek 提交于
-
-
由 Manish Goregaokar 提交于
-
由 Manish Goregaokar 提交于
-
由 Manish Goregaokar 提交于
-
由 Manish Goregaokar 提交于
-
由 Aaron Hill 提交于
-
由 Aaron Hill 提交于
-
由 Aaron Hill 提交于
-
由 Aaron Hill 提交于
-
由 Aaron Hill 提交于
-
由 Aaron Hill 提交于
-
由 Aaron Hill 提交于
-
由 Aaron Hill 提交于
-
由 Aaron Hill 提交于
-
由 Aaron Hill 提交于
A new section is added to both both struct and trait doc pages. On struct/enum pages, a new 'Auto Trait Implementations' section displays any synthetic implementations for auto traits. Currently, this is only done for Send and Sync. On trait pages, a new 'Auto Implementors' section displays all types which automatically implement the trait. Effectively, this is a list of all public types in the standard library. Synthesized impls for a particular auto trait ('synthetic impls') take into account generic bounds. For example, a type 'struct Foo<T>(T)' will have 'impl<T> Send for Foo<T> where T: Send' generated for it. Manual implementations of auto traits are also taken into account. If we have the following types: 'struct Foo<T>(T)' 'struct Wrapper<T>(Foo<T>)' 'unsafe impl<T> Send for Wrapper<T>' // pretend that Wrapper<T> makes this sound somehow Then Wrapper will have the following impl generated: 'impl<T> Send for Wrapper<T>' reflecting the fact that 'T: Send' need not hold for 'Wrapper<T>: Send' to hold Lifetimes, HRTBS, and projections (e.g. '<T as Iterator>::Item') are taken into account by synthetic impls However, if a type can *never* implement a particular auto trait (e.g. 'struct MyStruct<T>(*const T)'), then a negative impl will be generated (in this case, 'impl<T> !Send for MyStruct<T>') All of this means that a user should be able to copy-paste a synthetic impl into their code, without any observable changes in behavior (assuming the rest of the program remains unchanged).
-
由 bors 提交于
Rollup of 6 pull requests - Successful merges: #48194, #48273, #48274, #48275, #48282, #48312 - Failed merges:
-
- 18 2月, 2018 12 次提交
-
-
-
由 Guillaume Gomez 提交于
Unify 'Platform-specific behavior' documentation headings. None
-
由 Guillaume Gomez 提交于
Fix spelling in core::iter::repeat_with: s/not/note Fixes spelling error in https://github.com/rust-lang/rust/pull/48156#discussion_r168718452. Tracking issue: https://github.com/rust-lang/rust/issues/48169
-
由 Guillaume Gomez 提交于
fix more typos found by codespell.
-
由 Guillaume Gomez 提交于
Remove hoedown from rustdoc Finally the time has come! r? @QuietMisdreavus
-
由 Guillaume Gomez 提交于
Add a warning to File about mutability. Fixes #47708.
-
由 Guillaume Gomez 提交于
Doc test command r? @Mark-Simulacrum
-
由 bors 提交于
RFC 2070 part 1: PanicInfo and Location API changes This implements part of https://rust-lang.github.io/rfcs/2070-panic-implementation.html Tracking issue: https://github.com/rust-lang/rust/issues/44489 * Move `std::panic::PanicInfo` and `std::panic::Location` to a new `core::panic` module. The two types and the `std` module were already `#[stable]` and stay that way, the new `core` module is `#[unstable]`. * Add a new `PanicInfo::message(&self) -> Option<&fmt::Arguments>` method, which is `#[unstable]`. * Implement `Display` for `PanicInfo` and `Location`
-
由 bors 提交于
Relax termination_trait's error bound As per [this conversation](https://github.com/withoutboats/failure/issues/130#issuecomment-358572413) with @withoutboats and @bkchr
-
由 csmoe 提交于
-
由 Corey Farwell 提交于
-
由 Corey Farwell 提交于
-