| Age | Commit message (Collapse) | Author | Lines |
|
- Don't mark impl trait as an error
|
|
Introduce NonterminalKind for more type-safe mbe parsing
It encapsulate the (part of) the interface between the parser and
macro by example (macro_rules) parser.
The second bit is somewhat more general `parse_ast_fragment`, which is
the reason why we keep some `parse_xxx` functions as public.
|
|
Fix ICEs with `@ ..` binding
This reverts #74557 and introduces an alternative fix while ensuring that #74954 is not broken.
The diagnostics are verbose though, it fixes three related issues.
cc #74954, #74539, and #74702
|
|
Rollup of 10 pull requests
Successful merges:
- #74686 (BTreeMap: remove into_slices and its unsafe block)
- #74762 (BTreeMap::drain_filter should not touch the root during iteration)
- #74781 (Clean up E0733 explanation)
- #74874 (BTreeMap: define forget_type only when relevant)
- #74974 (Make tests faster in Miri)
- #75010 (Update elasticlunr-rs and ammonia transitive deps)
- #75041 (Replaced log with tracing crate)
- #75044 (Clean up E0744 explanation)
- #75054 (Rename rustc_middle::cstore::DepKind to CrateDepKind)
- #75057 (Avoid dumping rustc invocations to stdout)
Failed merges:
- #74827 (Move bulk of BTreeMap::insert method down to new method on handle)
r? @ghost
|
|
Avoid dumping rustc invocations to stdout
These are quite long, usually, and in most cases not interesting. On smaller
terminals they can take up more than a full page of output, hiding the error
diagnostics emitted.
|
|
Rename rustc_middle::cstore::DepKind to CrateDepKind
It is ambiguous with DepGraph's own DepKind.
|
|
Clean up E0744 explanation
r? @Dylan-DPC
|
|
r=oli-obk
Replaced log with tracing crate
Issue #74747
|
|
Update elasticlunr-rs and ammonia transitive deps
This removes all dependencies on pre-1.0 proc-macro ecosystem crates
(syn, quote, and proc-macro2)
|
|
Make tests faster in Miri
Reduce some test iteration counts in Miri.
|
|
BTreeMap: define forget_type only when relevant
Similar to `forget_node_type` for handles.
No effect on generated code, apart maybe from the superfluous calls that might not have been optimized away.
r? @Mark-Simulacrum
|
|
Clean up E0733 explanation
r? @Dylan-DPC
|
|
r=Mark-Simulacrum
BTreeMap::drain_filter should not touch the root during iteration
Although Miri doesn't point it out, I believe there is undefined behaviour using `drain_filter` when draining the 11th-last element from a tree that was larger. When this happens, the last remaining child nodes are merged, the root becomes empty and is popped from the tree. That last step establishes a mutable reference to the node elected root and writes a pointer in `node::Root`, while iteration continues to visit the same node.
This is mostly code from #74437, slightly adapted.
|
|
BTreeMap: remove into_slices and its unsafe block
A small tweak to make BTreeMap code shorter and less unsafe.
r? @Mark-Simulacrum
|
|
These are quite long, usually, and in most cases not interesting. On smaller
terminals they can take up more than a full page of output, hiding the error
diagnostics emitted.
|
|
|
|
Add fallible AArch64 CI builder
This adds the `aarch64-gnu` CI builder to the `auto-fallible` job, as a first step in the process of actually gating on it.
r? @Mark-Simulacrum
|
|
Deduplicate `::` -> `:` typo errors
Deduplicate errors caused by the same type ascription typo, including
ones suggested during parsing that would get reported again during
resolve. Fix #70382.
|
|
Seems to be a fallout from rustfmt transition
|
|
This is more type safe and allows us to remove a few dead branches
|
|
It encapsulate the (part of) the interface between the parser and
macro by example (macro_rules) parser.
The second bit is somewhat more general `parse_ast_fragment`, which is
the reason why we keep some `parse_xxx` functions as public.
|
|
|
|
|
|
Fix std::fs::File::metadata permission on WASI target
Previously `std::fs::File::metadata` on wasm32-wasi would call `fd_filestat_get`
to get metadata associated with fd, but that fd is opened without
RIGHTS_FD_FILESTAT_GET right, so it will failed on correctly implemented WASI
environment.
This change instead to add the missing rights when opening an fd.
|
|
|
|
bump libc version to 0.2.74
|
|
librustc_ast_passes, librustc_ast_pretty
|
|
Move 'probably equal' methods to librustc_parse
This is preparation for PR #73084
|
|
report kind of deprecated item in message
This is important for fields, which are incorrectly referred to as
"items".
|
|
This removes all dependencies on pre-1.0 proc-macro ecosystem crates
(syn, quote, and proc-macro2)
|
|
This is preparation for PR #73084
|
|
Rollup of 5 pull requests
Successful merges:
- #74602 (Clarify the doc for MaybeUninit::zeroed on incorrect use)
- #74720 (Clean up E0728 explanation)
- #74992 (fix rustdoc generic param order)
- #75015 (Add Vec::spare_capacity_mut)
- #75022 (Use a slice pattern instead of rchunks_exact(_).next())
Failed merges:
r? @ghost
|
|
Use a slice pattern instead of rchunks_exact(_).next()
This is a minor cleanup, but trying a single-use `rchunks` iterator can
be more directly matched with a slice pattern, `[.., a, b]`.
|
|
Add Vec::spare_capacity_mut
Returns the remaining spare capacity of the vector as a slice of `MaybeUninit<T>`.
As suggested by @sfackler in https://github.com/rust-lang/rust/pull/70967#issuecomment-612659006.
r? @sfackler
|
|
fix rustdoc generic param order
fixes #61292
r? @varkor cc @GuillaumeGomez
|
|
Clean up E0728 explanation
r? @Dylan-DPC
|
|
r=jyn514
Clarify the doc for MaybeUninit::zeroed on incorrect use
Fixes #74343.
@rustbot modify labels: C-enhancement, T-doc
|
|
Stabilize Vec::leak as a method
Closes https://github.com/rust-lang/rust/issues/62195
The signature is changed to a method rather than an associated function:
```diff
-pub fn leak<'a>(vec: Vec<T>) -> &'a mut [T]
+pub fn leak<'a>(self) -> &'a mut [T]
```
The reason for `Box::leak` not to be a method (`Deref` to an arbitrary `T` which might have its own, different `leak` method) does not apply.
|
|
|
|
Move from `log` to `tracing`
The only visible change is that we now get timestamps in our logs:
```
Jul 24 18:41:01.065 TRACE rustc_mir::transform::const_prop: skipping replace of Rvalue::Use(const () because it is already a const
Jul 24 18:41:01.065 TRACE rustc_mir::transform::const_prop: propagated into _2
Jul 24 18:41:01.065 TRACE rustc_mir::transform::const_prop: visit_constant: const ()
```
This PR was explicitly designed to be as low-impact as possible. We can now move to using the name `tracing` insteads of `log` on a crate-by-crate basis and use any of the other tracing features where desirable.
As far as I can tell this will allow tools to seamlessly keep working (since they are using `rustc_driver::init_log...`).
This is the first half of step 1 of the accepted `tracing` MCP (https://github.com/rust-lang/compiler-team/issues/331)
|
|
Rollup of 6 pull requests
Successful merges:
- #74977 (Clean up E0741 error explanation)
- #74981 (Some fixes for `plugin.md` in unstable-book)
- #74983 (Replace a recursive algorithm with an iterative one and a stack.)
- #74995 (Update the WASI libc build to LLVM 10.)
- #74996 (submodules: update cargo from 974eb438d to 2d5c2381e)
- #75007 (Clean up E0743 explanation)
Failed merges:
r? @ghost
|
|
This is a minor cleanup, but trying a single-use `rchunks` iterator can
be more directly matched with a slice pattern, `[.., a, b]`.
|
|
|
|
|
|
|
|
Clean up E0743 explanation
r? @Dylan-DPC
|
|
submodules: update cargo from 974eb438d to 2d5c2381e
Changes:
````
Use the same index location on nightly as beta
relax deprecated diagnostic message check
Don't print to raw stderr in test
Emit the `test` field in cargo metadata
````
r? @ehuss
Trying to get the fix to the registry-index-hash upstream soonish.
|
|
Update the WASI libc build to LLVM 10.
Among other things, this brings in [the `__main_argc_argv`] patch,
which simplifies the interaction between the compiler and WASI libc's
startup code, which will help work on reactor support.
[the `__main_argc_argv` patch]: https://github.com/llvm/llvm-project/commit/00072c08c75050ae2c835b7bb0e505475dbcd7b9
r? @alexcrichton
|
|
Replace a recursive algorithm with an iterative one and a stack.
fixes #74931
|
|
r=GuilliameGomez
Some fixes for `plugin.md` in unstable-book
- sample codes not working
I referred to https://github.com/rust-lang/rust/blob/master/src/test/ui-fulldeps/auxiliary/lint-plugin-test.rs and https://github.com/rust-lang/rust/blob/master/src/test/ui-fulldeps/lint-plugin.rs.
- broken link
https://github.com/rust-lang/rust/blob/master/src/librustc/lint/builtin.rs -> https://github.com/rust-lang/rust/blob/master/src/librustc_session/lint/builtin.rs
|