| Age | Commit message (Collapse) | Author | Lines |
|
|
|
|
|
Rollup of 7 pull requests
Successful merges:
- #103000 (Add suggestion to the "missing native library" error)
- #103006 (rustdoc: don't ICE on `TyKind::Typeof`)
- #103008 (replace ReErased with fresh region vars in opaque types)
- #103011 (Improve rustdoc `unsafe-fn` GUI test)
- #103013 (Add new bootstrap entrypoints to triagebot)
- #103016 (Ensure enum cast moves)
- #103021 (Add links to relevant pages to find constraint information)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
Add links to relevant pages to find constraint information
I think it can be quite helpful to find this information more quickly.
r? `@Amanieu`
|
|
Ensure enum cast moves
Fix #102389
r? ``@pnkfelix``
|
|
Add new bootstrap entrypoints to triagebot
They haven't been added yet, as seen in #103007.
r? ``@jyn514``
|
|
Improve rustdoc `unsafe-fn` GUI test
r? ``@notriddle``
|
|
replace ReErased with fresh region vars in opaque types
See inline comments.
Prior art #102943. cc ``@compiler-errors`` ``@oli-obk``
Fixes #100267
Fixes #101940
Fixes #102649
Fixes #102510
|
|
rustdoc: don't ICE on `TyKind::Typeof`
Fixes #102986
I'm not sure why rustdoc started seeing `TyKind::Typeof` all of a sudden (the code being editted was last touched 3 months ago), probably something to do with error recovery? idk.
|
|
Add suggestion to the "missing native library" error
If we fail to locate a native library that we are linking with, it could be the case the user entered a complete file name like `foo.lib` or `libfoo.a` when we expect them to simply provide `foo`.
In this situation, we now detect that case and suggest the user only provide the library name itself.
|
|
Check hidden types in dead code
fixes #99490
r? `@compiler-errors`
best reviewed commit by commit
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Rollup of 6 pull requests
Successful merges:
- #102765 (Suggest `==` to the first expr which has `ExprKind::Assign` kind)
- #102854 (openbsd: don't reallocate a guard page on the stack.)
- #102904 (Print return-position `impl Trait` in trait verbosely if `-Zverbose`)
- #102947 (Sort elaborated existential predicates in `object_ty_for_trait`)
- #102956 (Use `full_res` instead of `expect_full_res`)
- #102999 (Delay `is_intrinsic` query until after we've determined the callee is a function)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
|
|
|
|
|
|
Delay `is_intrinsic` query until after we've determined the callee is a function
Fixes #102985
|
|
Use `full_res` instead of `expect_full_res`
Fixes #102946
Fixes #102978
|
|
r=cjgillot
Sort elaborated existential predicates in `object_ty_for_trait`
r? `@cjgillot`
I think that #102845 caused #102933. Depending on the order that we elaborate these existential projection predicates, there's no guarantee that they'll be sorted by def id, which is what is failing the assertion in the issue.
Fixes #102933
Fixes #102973
|
|
Print return-position `impl Trait` in trait verbosely if `-Zverbose`
Makes the behavior a bit closer to regular `impl Trait` printing
|
|
openbsd: don't reallocate a guard page on the stack.
the kernel currently enforce that a stack is immutable. calling mmap(2) or mprotect(2) to change it will result in EPERM, which generate a panic!().
so just do like for Linux, and trust the kernel to do the right thing.
|
|
Suggest `==` to the first expr which has `ExprKind::Assign` kind
follow-up to #102708
[playground](https://play.rust-lang.org/?version=nightly&mode=debug&edition=2021&gist=4241dc33ed8af02e1ef530d6b14903fd)
|
|
library: update stdarch submodule
It has been one month since we update `stdarch` submodule into main branch Rust, it includes various fixes in code and more neat documents. This pull request also adds missing features to ensure we can build latest stdarch submodule.
The documents after this pull request:
<details>

</details>
Comparing to current nightly:
<details>

</details>
r? `@Amanieu`
|
|
If we fail to locate a native library that we are linking with, it could
be the case the user entered a complete file name like `foo.lib` or
`libfoo.a` when we expect them to simply provide `foo`.
In this situation, we now detect that case and suggest the user only
provide the library name itself.
|
|
|
|
Optimize TLS on Windows
This implements the suggestion in the current TLS code to embed the linked list of destructors in the `StaticKey` structure to save allocations. Additionally, locking is avoided when no destructor needs to be run. By using one Windows-provided `Once` per key instead of a global lock, locking is more finely-grained (this unblocks #100579).
|
|
Rollup of 7 pull requests
Successful merges:
- #102641 (Support casting boxes to dyn*)
- #102836 (rustc_target: Fix json target specs using LLD linker flavors in link args)
- #102949 (should-skip-this: add missing backslash)
- #102967 (Add test for issue 102964)
- #102971 (tidy: error if a lang feature is already present)
- #102974 (Fix small word dupe typos)
- #102980 (rustdoc: merge separate `.item-info` CSS)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
|
|
|
|
|
|
add feature target_feature_11 and riscv_target_feature
|
|
rustdoc: merge separate `.item-info` CSS
Rough timeline:
* The longer `.content .item-info` selector originated in 110e7270ab7b0700ce714b8b1c7e509195dea2c4. No reason seems to be given in the PR why it needed the `.content` part, but it was probably added because of <https://github.com/rust-lang/rust/blob/110e7270ab7b0700ce714b8b1c7e509195dea2c4/src/librustdoc/html/static/rustdoc.css#L476-L478>. That selector with the margin-bottom was removed when CSS containment was added in 8846c0853d8687fda0e5f23f6687b03b243980ee.
* `.stability` was renamed `.item-info` in caf6c5790a858893c1d32ed2054c9577d12e7493.
* The selector without the `.content` was added in d48a39a5e24ab08f727d1c919dc2af98c333ad14.
|
|
Fix small word dupe typos
|
|
tidy: error if a lang feature is already present
If a lang feature gets declared twice, like for example as a result of a mistake during stabilization, emit an error in tidy. Library features already have this logic.
Inspired by a mistake done during `half_open_range_patterns` stabilization: https://github.com/rust-lang/rust/pull/102275/files#r991292215
The PR requires #102883 to be merged before CI turns green because the check is doing its job.
For reviewers, I suggest [turning off whitespace changes](https://github.com/rust-lang/rust/pull/102971/files?w=1) in the diff by adding `?w=1` to the url, as a large part of the diff is just about removing one level of indentation.
|
|
Add test for issue 102964
Fixes #102964
|
|
should-skip-this: add missing backslash
I screwed this up in https://github.com/rust-lang/rust/pull/102780.
r? ``@Mark-Simulacrum``
|
|
rustc_target: Fix json target specs using LLD linker flavors in link args
Fixes https://github.com/rust-lang/rust/pull/101988#issuecomment-1272407248 (a regression introduced by https://github.com/rust-lang/rust/pull/101988).
|
|
Support casting boxes to dyn*
Boxes have a pointer type at codegen time which LLVM does not allow to be transparently converted to an integer. Work around this by inserting a `ptrtoint` instruction if the argument is a pointer.
r? ``@compiler-errors``
Fixes #102427
|
|
Allow compiling the `wasm32-wasi` std library with atomics
The issue #102157 demonstrates how currently the `-Z build-std` option will fail when re-compiling the standard library with `RUSTFLAGS` like `RUSTFLAGS="-C target-feature=+atomics,+bulk-memory -C link-args=--shared-memory"`. This change attempts to resolve those build issues by depending on the the WebAssembly `futex` module and providing an implementation for `env_lock`. Fixes #102157.
|
|
|
|
If a lang feature gets declared twice, like for example as
a result of a mistake during stabilization, emit an error
in tidy. Library features already have this logic.
|
|
Support default-body trait functions with return-position `impl Trait` in traits
Introduce a new `Trait` candidate kind for the `ImplTraitInTrait` projection candidate, which just projects an RPITIT down to its opaque type form.
This is a hack until we lower RPITITs to regular associated types, after which we will need to rework how these default bodies are type-checked, so comments are left in a few places for us to clean up later.
Fixes #101665
|
|
Rough timeline:
* The longer `.content .item-info` selector originated in
110e7270ab7b0700ce714b8b1c7e509195dea2c4. No reason seems to be given in
the PR why it needed the `.content` part, but it was probably added because
of <https://github.com/rust-lang/rust/blob/110e7270ab7b0700ce714b8b1c7e509195dea2c4/src/librustdoc/html/static/rustdoc.css#L476-L478>.
That selector with the margin-bottom was removed when CSS containment
was added in 8846c0853d8687fda0e5f23f6687b03b243980ee.
* `.stability` was renamed `.item-info` in
caf6c5790a858893c1d32ed2054c9577d12e7493.
* The selector without the `.content` was added in
d48a39a5e24ab08f727d1c919dc2af98c333ad14.
|
|
Rollup of 7 pull requests
Successful merges:
- #102623 (translation: eager translation)
- #102719 (Enforce alphabetical sorting with tidy)
- #102830 (Unify `tcx.constness` query and param env constness checks)
- #102883 (Fix stabilization of `feature(half_open_range_patterns)`)
- #102927 (Fix `let` keyword removal suggestion in structs)
- #102936 (rustdoc: remove unused CSS `nav.sum`)
- #102940 (Update books)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
|