Rollup of 5 pull requests
Successful merges:
- #64052 (Rename test locals to work around LLDB bug)
- #64066 (Support "soft" feature-gating using a lint)
- #64177 (resolve: Do not afraid to set current module to enums and traits)
- #64229 (Reduce span to function name in unreachable calls)
- #64255 (Add methods for converting `bool` to `Option<T>`)
Failed merges:
r? @ghost
Reduce span to function name in unreachable calls
As title suggests, this might close#64103. Refer to the updated tests for expected output.
There is potential to further improve usability. In particular, is it favourable that the exact diverging expression/statement be pointed out (not only in this case, but for all unreachable code)? Certainly that would deserve another issue, but I'm interested in the opinions.
resolve: Do not afraid to set current module to enums and traits
After cfbb60bf6d it's ok.
This is likely required for https://github.com/rust-lang/rust/pull/63468 to work correctly, because that PR starts resolving attributes on enum variants.
r? @matthewjasper @c410-f3r
Rename test locals to work around LLDB bug
LLDB's expression parser can't unambiguously resolve local variables in
some cases, as described in #47938. Work around this by using names that
don't shadow direct submodules of `core`.
Closes#64050.
Rollup of 7 pull requests
Successful merges:
- #64023 (libstd fuchsia fixes)
- #64098 (Ensure edition lints and internal lints are enabled with deny-warnings=false)
- #64139 (Migrate internal diagnostic registration to macro_rules)
- #64226 (Aggregation of cosmetic changes made during work on REPL PRs: libsyntax)
- #64227 (Aggregation of cosmetic changes made during work on REPL PRs: librustc)
- #64235 (Upgrade env_logger to 0.6)
- #64258 (compiletest: Match suffixed environments)
Failed merges:
r? @ghost
compiletest: Match suffixed environments
This fixes a case where an `ignore-musl` test was not ignored on
`armv7-unknown-linux-musleabihf` because the environment did not exactly
match. Only enforce that the environment starts with the argument to
`ignore-`.
Ensure edition lints and internal lints are enabled with deny-warnings=false
Previously we only passed the deny command line flags if deny-warnings was enabled, but now we either pass -W... or -D... for each of the flags as appropriate.
This is also a breaking change to x.py as it changes `--warnings=allow` to `--warnings=warn` which is what that flag actually did; we don't have an allow warnings mode.
libstd fuchsia fixes
This fixes two bugs in libstd on Fuchsia:
- `zx_time_t` was changed to an `i64`, but this never made it into libstd
- When spawning processes where any of the stdio were null, libstd attempts to open `/dev/null`, which doesn't exist on Fuchsia
r? @cramertj
This fixes a case where an `ignore-musl` test was not ignored on
`armv7-unknown-linux-musleabihf` because the environment did not exactly
match. Only enforce that the environment starts with the argument to
`ignore-`.
Rollup of 10 pull requests
Successful merges:
- #63919 (Use hygiene for AST passes)
- #63927 (Filter linkcheck spurious failure)
- #64149 (rustc_codegen_llvm: give names to non-alloca variable values.)
- #64192 (Bail out when encountering likely missing turbofish in parser)
- #64231 (Move the HIR CFG to `rustc_ast_borrowck`)
- #64233 (Correct pluralisation of various diagnostic messages)
- #64236 (reduce visibility)
- #64240 (Include compiler-rt in the source tarball)
- #64241 ([doc] Added more prereqs and note about default directory)
- #64243 (Move injection of attributes from command line to `libsyntax_ext`)
Failed merges:
r? @ghost
Move injection of attributes from command line to `libsyntax_ext`
Just a tiny bit of code generation that wasn't moved into `libsyntax_ext` in https://github.com/rust-lang/rust/pull/62771.
Include compiler-rt in the source tarball
In #60981 we switched to using src/llvm-project/compiler-rt inside
compiler-builtins rather than a separate copy of it.
In order to have the "c" feature turn on in builds from the source
tarball, we need to include that path in its creation.
fixes#64239
Bail out when encountering likely missing turbofish in parser
When encountering a likely intended turbofish without `::`, bubble
up the diagnostic instead of emitting it to allow the parser to recover
more gracefully and avoid uneccessary type errors that are likely to be
wrong.
Fix#61329.