-
Notifications
You must be signed in to change notification settings - Fork 12.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rollup of 10 pull requests #124646
Rollup of 10 pull requests #124646
Conversation
"is greater or equal to". Beside common sense.
library/backtrace also declares a feature called `gimli-symbolize` which appear used, but the feature in std with the same name is unused, so remove it.
`ConstKind::Value` is the only variant where control flow leaves the first match on `impl_ct.kind()`, so there is no need for a second match on the same expression later on.
Sort them, and remove the unused ones (`lint_reasons` and `proc_macro_span`).
They each have a single call site.
Control flow never gets past the end of the `ExpandResult::Retry` match arm, due to the `span_bug` and the `continue`. Therefore, the code after the match can only be reached from the `ExpandResult::Ready` arm. This commit moves that code after the match into the `ExpandResult::Ready` arm, avoiding the need for the `continue` in the `ExpandResult::Retry` arm.
Too clever by half, IMO.
Alongside the existing `Invocation::span`.
Because the type is not obvious, and this clarifies things.
It is currently an enum and the `tts` and `idx` fields are repeated across the two variants. This commit splits it into a struct `Frame` and an enum `FrameKind`, to factor out the duplication. The commit also renames `Frame::new` as `Frame::new_delimited` and adds `Frame::new_sequence`. I.e. both variants now have a constructor.
…ompiler-errors deref patterns: impl `DerefPure` for more std types Context: [deref patterns](rust-lang#87121). The requirements of `DerefPure` aren't precise yet, but these types unambiguously satisfy them. Interestingly, a hypothetical `impl DerefMut for Cow` that does a `Clone` would *not* be eligible for `DerefPure` if we allow mixing deref patterns with normal patterns. If the following is exhaustive then the `DerefMut` would cause UB: ```rust match &mut Cow::Borrowed(&()) { Cow::Owned(_) => ..., // Doesn't match deref!(_x) if false => ..., // Causes the variant to switch to `Owned` Cow::Borrowed(_) => ..., // Doesn't match // We reach unreachable } ```
io safety: update Unix explanation to use `Arc` Fixes rust-lang#124384 Cc ```@jsgf```
…s, r=Amanieu String.truncate comment microfix (greater or equal) String.truncate calls Vec.truncate, in turn, and that states "is greater or equal to". Beside common sense.
run-make-support: preserve tooks.mk behavior for EXTRACXXFLAGS In rust-lang#123149 when trying to add a command wrapper for `cc`, I didn't preserve the behavior of tools.mk completely: tools.mk had ```makefile # Extra flags needed to compile a working executable with the standard library ifdef IS_WINDOWS ifdef IS_MSVC #EXTRACFLAGS := ws2_32.lib userenv.lib advapi32.lib bcrypt.lib ntdll.lib synchronization.lib else #EXTRACFLAGS := -lws2_32 -luserenv -lbcrypt -lntdll -lsynchronization EXTRACXXFLAGS := -lstdc++ #EXTRARSCXXFLAGS := -l static:-bundle=stdc++ endif else ifeq ($(UNAME),Darwin) #EXTRACFLAGS := -lresolv EXTRACXXFLAGS := -lc++ #EXTRARSCXXFLAGS := -lc++ else ifeq ($(UNAME),FreeBSD) #EXTRACFLAGS := -lm -lpthread -lgcc_s else ifeq ($(UNAME),SunOS) #EXTRACFLAGS := -lm -lpthread -lposix4 -lsocket -lresolv else ifeq ($(UNAME),OpenBSD) #EXTRACFLAGS := -lm -lpthread -lc++abi #RUSTC := $(RUSTC) -C linker="$(word 1,$(CC:ccache=))" else #EXTRACFLAGS := -lm -lrt -ldl -lpthread EXTRACXXFLAGS := -lstdc++ #EXTRARSCXXFLAGS := -lstdc++ endif endif endif endif endif ``` Note that for {`FreeBSD`, `SunOs`, `OpenBSD`} the `-lstdc++` flag is *not* passed, so `EXTRACXXFLAGS` for those platforms should be an empty `vec![]`. r? ghost (testing this with PR CI)
…kingjubilee library/std: Remove unused `gimli-symbolize` feature library/backtrace also declares a feature called `gimli-symbolize` which appear used, but the feature in std with the same name is unused, so remove it.
… r=compiler-errors `rustc_expand` cleanups Some cleanups I made while looking through this code. Nothing that requires any real domain-specific knowledge about this crate. r? ````@michaelwoerister````
variable-precision float operations can differ depending on optimization levels Follow-up to rust-lang#121793 and rust-lang#118217 that accounts for optimizations changing the precision of these functions. Fixes rust-lang#109118 Fixes rust-lang#71355
Tweak `consts_may_unify` r? ````@lcnr````
const_eval_select: add tracking issue
…yn, r=compiler-errors AST pretty: Use `builtin_syntax` for type ascription Follow-up to rust-lang#122806. CC #124619.
@bors r+ rollup=never p=11 |
☀️ Test successful - checks-actions |
📌 Perf builds for each rolled up PR:
previous master: 79734f1db8 In the case of a perf regression, run the following command for each PR you suspect might be the cause: |
Finished benchmarking commit (561b5de): comparison URL. Overall result: ✅ improvements - no action needed@rustbot label: -perf-regression Instruction countThis is a highly reliable metric that was used to determine the overall result at the top of this comment.
Max RSS (memory usage)ResultsThis is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
CyclesResultsThis is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 676.146s -> 676.467s (0.05%) |
Successful merges:
DerefPure
for more std types #123480 (deref patterns: implDerefPure
for more std types)Arc
#124412 (io safety: update Unix explanation to useArc
)gimli-symbolize
feature #124604 (library/std: Remove unusedgimli-symbolize
feature)rustc_expand
cleanups #124607 (rustc_expand
cleanups)consts_may_unify
#124610 (Tweakconsts_may_unify
)builtin_syntax
for type ascription #124637 (AST pretty: Usebuiltin_syntax
for type ascription)Failed merges:
rustc_expand
torustc_parse
. #124638 (Move some tests fromrustc_expand
torustc_parse
.)r? @ghost
@rustbot modify labels: rollup
Create a similar rollup