| Age | Commit message (Collapse) | Author | Lines |
|
|
|
|
|
|
|
Instead of instaling OCaml bindings in a location where installation
will not fail, don't build them in the first place.
|
|
This example failed to compile because of implicit `Sized` bound
for `A` parameter that wasn't required by `Trait`.
|
|
Avoid `SmallVec::collect`
We can get sizeable speed-ups by avoiding `SmallVec::collect` when the number of elements is small.
|
|
Currently, when two tokens must be glued together, this function duplicates
large chunks of the existing streams. This can cause quadratic behaviour.
This commit changes the function so that it overwrites the last token with a
glued token, which avoids the quadratic behaviour. This removes the need for
`TokenStreamBuilder::push_all_but_{first,last}_tree`.
The commit also restructures `push` somewhat, by removing
`TokenStream::{first_tree_and_joint,last_tree_if_joint}` in favour of more
pattern matching and some comments. This makes the code shorter, and in my
opinion, more readable.
|
|
Currently, this function creates a new empty stream, and then appends
the elements from each given stream onto that stream. This can cause
quadratic behaviour.
This commit changes the function so that it modifies the first stream
(which can be long) by extending it with the elements from the
subsequent streams (which are almost always short), which avoids the
quadratic behaviour.
|
|
It's the same as `InferCtxt::commit_unconditionally()` except that it
is passed a snapshot and has a worse name.
The commit also changes `commit_unconditionally()` to receive a
snapshot, for consistency with `commit_if_ok()` and `probe()`.
|
|
|
|
Rollup of 8 pull requests
Successful merges:
- #64726 (rewrite documentation for unimplemented! to clarify use)
- #65040 (syntax: more cleanups in item and function signature parsing)
- #65046 (Make `Cell::new` method come first in documentation)
- #65098 (Add long error explanation for E0561)
- #65150 (Suggest dereferencing boolean reference when used in 'if' or 'while')
- #65154 (Fix const generic arguments not displaying in types mismatch diagnostic)
- #65181 (fix bug in folding for constants)
- #65187 (use 'invalid argument' for vxWorks)
Failed merges:
- #65179 (Add long error explanation for E0567)
r? @ghost
|
|
use 'invalid argument' for vxWorks
vxWorks is using "invalid argument" instead of "Invalid argument" in reporting invalid options
r? @rkruppe
|
|
fix bug in folding for constants
These was a bug in the folding for constants that caused it to overlook bound regions. This branch includes some other little things that I did while trying to track the bug down.
r? @oli-obk
|
|
Fix const generic arguments not displaying in types mismatch diagnostic
Fixes #61395
|
|
Suggest dereferencing boolean reference when used in 'if' or 'while'
Implements #64557
|
|
Add long error explanation for E0561
Part of #61137
|
|
Make `Cell::new` method come first in documentation
Methods to create a thing usually comes first in `std` documentation, and `Cell` has been an exception. Also, `T: Copy` specialized methods should not be on top of the page. (This had led me to miss that most of its methods are not bounded by `Copy`...)
|
|
syntax: more cleanups in item and function signature parsing
Follow up to https://github.com/rust-lang/rust/pull/64910.
Best read commit-by-commit.
r? @estebank
|
|
rewrite documentation for unimplemented! to clarify use
The current docs for `unimplemented!` seem to miss the point of this macro.
> This can be useful if you are prototyping and are just looking to have your code type-check, or if you're implementing a trait that requires multiple methods, and you're only planning on using one of them.
You could also return a `()` if you just want your code to type-check.
I think `unimplemented!` is useful for when you want your program to exit when it reaches an unimplemented area.
I rewrote the explanation and gave examples of both forms of this macro that I think clarify its use a little better.
|
|
Update Cargo
To pull rust-lang/cargo#7482
List of merged PRs:
- Fix wrong directories in PATH on Windows (rust-lang/cargo#7482)
- Update SPDX list to 3.6 (rust-lang/cargo#7481)
- Mark Emscripten's .wasm files auxiliary (rust-lang/cargo#7476)
- Update `curl-sys` dependency requirement (rust-lang/cargo#7464)
- add dependencies for `pkg-config` (rust-lang/cargo#7443)
- Removing hash from output files when using MSVC (rust-lang/cargo#7400)
- Disable preserving mtimes on archives (rust-lang/cargo#7465)
- Removed redundant borrow (rust-lang/cargo#7462)
- Public dependency refactor and re-allow backjumping (rust-lang/cargo#7361)
- unify the quote in Cargo.toml (rust-lang/cargo#7461)
|
|
|
|
|
|
|
|
Rebase rustc-rayon on rayon-1.2
See also https://github.com/rust-lang/rustc-rayon/pull/3
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
See also https://github.com/rust-lang/rustc-rayon/pull/3
|
|
|
|
|
|
Make `into` schedule drop for the destination
closes #47949
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Prevents number collision with another approved PR.
|