| Age | Commit message (Collapse) | Author | Lines |
|
This fixes the typo `&[u8, _]` -> `&[u8; _]`
|
|
Rollup of 8 pull requests
Successful merges:
- #100185 (Fix `ReErased` leaking into typeck due to `typeof(...)` recovery)
- #100291 (constify some `CStr` methods)
- #101677 (Add test for #101211)
- #101723 (Impove diagnostic for `.await`ing non-futures)
- #101724 (Allow unauthenticated users to add the `const-hack` label)
- #101731 (rustdoc: improve rustdoc HTML suggestions handling of nested generics)
- #101732 (Feature gate the `rustdoc::missing_doc_code_examples` lint)
- #101735 (rustdoc: fix treatment of backslash-escaped HTML)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
r=GuillaumeGomez
rustdoc: fix treatment of backslash-escaped HTML
Try generating HTML for this markup:
\<a href="https://example.com">example</a>
It will produce text, not HTML, in both rustdoc's real HTML output and in the commonmark reference implementation:
https://spec.commonmark.org/dingus/?text=%5C%3Ca%20href%3D%22https%3A%2F%2Fexample.com%22%3Eexample%3C%2Fa%3E
|
|
r=GuillaumeGomez
Feature gate the `rustdoc::missing_doc_code_examples` lint
Moves the lint from being implicitly active on nightly `rustdoc` to requiring a feature to activate, like other unstable lints.
Uses the new tracking issue https://github.com/rust-lang/rust/issues/101730
|
|
r=GuillaumeGomez
rustdoc: improve rustdoc HTML suggestions handling of nested generics
Based on some poor suggestions produced when stablizing this lint and running it on `manformed-generics.rs` in #101720
|
|
Allow unauthenticated users to add the `const-hack` label
Observed in #101401.
cc ```@oli-obk```
|
|
Impove diagnostic for `.await`ing non-futures
Strip leading whitespace from the span and use a non-verbose suggestion.
fixes #101715
|
|
Add test for #101211
Closes #101211
|
|
constify some `CStr` methods
This PR marks the following public APIs as `const`:
```rust
impl CStr {
// feature(const_cstr_from_bytes)
pub const fn from_bytes_until_nul(bytes: &[u8]) -> Result<&CStr, FromBytesUntilNulError>;
pub const fn from_bytes_with_nul(bytes: &[u8]) -> Result<&Self, FromBytesWithNulError>;
// feature(const_cstr_to_bytes)
pub const fn to_bytes(&self) -> &[u8];
pub const fn to_bytes_with_nul(&self) -> &[u8];
pub const fn to_str(&self) -> Result<&str, str::Utf8Error>;
}
```
r? ```@oli-obk``` (use of `const_eval_select` :P )
cc ```@mina86``` (you've asked for this <3 )
|
|
Fix `ReErased` leaking into typeck due to `typeof(...)` recovery
Fixes #100183
|
|
Try generating HTML for this markup:
\<a href="https://example.com">example</a>
It will produce text, not HTML, in both rustdoc's real HTML output and in
the commonmark reference implementation:
https://spec.commonmark.org/dingus/?text=%5C%3Ca%20href%3D%22https%3A%2F%2Fexample.com%22%3Eexample%3C%2Fa%3E
|
|
Update miri submodule
r? `@ghost`
fixes #101649
|
|
|
|
Based on some poor suggestions produced when stablizing this lint and running
it on `manformed-generics.rs`
|
|
|
|
|
|
rustc_error, rustc_private: Switch to stable hash containers
Relates https://github.com/rust-lang/rust/issues/84447
|
|
|
|
|
|
Rollup of 9 pull requests
Successful merges:
- #100293 (Add inline-llvm option for disabling/enabling LLVM inlining)
- #100767 (Remove manual <[u8]>::escape_ascii)
- #101668 (Suggest pub instead of public for const type item)
- #101671 (Fix naming format of IEEE 754 standard)
- #101676 (Check that the types in return position `impl Trait` in traits are well-formed)
- #101681 (Deny return-position `impl Trait` in traits for object safety)
- #101693 (Update browser UI test 0 10)
- #101701 (Rustdoc-Json: Add tests for trait impls.)
- #101706 (rustdoc: remove no-op `#search`)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
|
|
rustdoc: remove no-op `#search`
The margin rule was added in c729e4dca7581fcd060978bcb0d7f98ea4eb6b82 to remove an unnecessary left margin that was present on desktop. This desktop-mode margin was itself removed in 135281ed1525db15edd8ebd092aa10aa40df2386.
The padding rule was added in 135281ed1525db15edd8ebd092aa10aa40df2386 when converting the rule for `#main`, but didn't do anything even then.
|
|
Rustdoc-Json: Add tests for trait impls.
|
|
r=notriddle
Update browser UI test 0 10
The biggest change from this browser-ui-test update is the upgrade of the puppeteer version to `17.1.3` (the latest in short).
I also added the command `click-with-offset` to still allow us to click on the `[-]` part.
cc `@jsha`
r? `@notriddle`
|
|
Deny return-position `impl Trait` in traits for object safety
Fixes #101667
|
|
Check that the types in return position `impl Trait` in traits are well-formed
This effectively duplicates `check_associated_type_bounds`, but that shouldn't be for long, since we're going to remove it once we refactor RPITITs into regular associated items.
Fixes #101663
---
We don't check
```rust
trait Foo {
fn bar() -> impl ?Sized;
}
```
currently, but that's for a different reason, which is that we don't currently check that a trait function's return type is sized (i.e. `fn bar() -> [u8]` also works in a trait).
|
|
Fix naming format of IEEE 754 standard
Currently the documentation of f64::min refers to "IEEE-754 2008" while the documentation of f64::minimum refers to "IEEE 754-2019".
Note that one has the format IEEE,hyphen,number,space,year while the other is IEEE,space,number,hyphen,year. The official IEEE site [1] uses the later format and it is also the one most commonly used throughout the codebase.
Update all comments and - more importantly - documentation to consistently use the official format.
[1] https://standards.ieee.org/ieee/754/4211/
|
|
Suggest pub instead of public for const type item
Fixes #101626
|
|
Remove manual <[u8]>::escape_ascii
`@rustbot` label: +C-cleanup
|
|
Add inline-llvm option for disabling/enabling LLVM inlining
In this PR, a new -Z option `inline-llvm` is added in order to be able to turn on/off LLVM inlining.
The capability of turning on/off inlining in LLVM backend is needed for testing performance implications of using recently enabled inlining in rustc's frontend (with -Z inline-mir=yes option, #91743). It would be interesting to see the performance effect using rustc's frontend inlining only without LLVM inlining enabled. Currently LLVM is still doing inlining no mater what value inline-mir is set to. With the option `inline-llvm` being added in this PR, user can turn off LLVM inlining by using `-Z inline-llvm=no` option (the default of inline-llvm is 'yes', LLVM inlining enabled).
|
|
Fix ICE in opt_suggest_box_span
We were _totally_ mishandling substs and obligations in `opt_suggest_box_span`, so I reworked that function pretty heavily.
Also some drive-by changes, namely removing `ret_type_span`.
Fixes #101465
|
|
Avoid infinite loop in function arguments checking
Fixes #100478
Fixes #101097
|
|
Implement `std::marker::Tuple`
Split out from #99943 (https://github.com/rust-lang/rust/pull/99943#pullrequestreview-1064459183).
Implements part of rust-lang/compiler-team#537
r? `@jackh726`
|
|
|
|
|
|
The padding rule was added in 135281ed1525db15edd8ebd092aa10aa40df2386 when
converting the rule for #main, but didn't do anything even then.
|
|
This rule was added in c729e4dca7581fcd060978bcb0d7f98ea4eb6b82 to remove an
unnecessary left margin that was present on desktop. This desktop-mode margin
was itself removed in 135281ed1525db15edd8ebd092aa10aa40df2386.
|
|
Assert that HIR nodes are not their own parent.
Fixes https://github.com/rust-lang/rust/issues/101505.
Replaces #101513
r? `@petrochenkov` `@nnethercote`
|
|
Check if TCS is a null pointer on SGX
The `EENTER` instruction only checks if the TCS is aligned, not if it zero. Saying the address returned is a `NonNull<u8>` (for which `Tcs` is a type alias) is unsound. As well-behaved runners will not put the TCS at address zero, so the definition of `Tcs` is correct. However, `std` should check the address before casting it to a `NonNull`.
ping `@jethrogb` `@raoulstrackx`
`@rustbot` label I-unsound
|
|
|
|
Remove &[T] from vec_deque::Drain
Fixes https://github.com/rust-lang/rust/issues/60076
I don't know what the right approach is here. There were a few suggestions in the issue, and they all seem a bit thorny to implement. So I just picked one that was kind of familiar.
|
|
|
|
|
|
Add diagnostic arg 'current_crate'
With this fix, I get almost the same error message as on stable, again.
However, I expected to get the new error message `std is required by {$current_crate} because it does not declare #![no_std]`, but I didn't. Instead, I got a new line `help: consider building the standard library from source with cargo build -Zbuild-std`. So I obviously do not fully understand what is going on.
In any case, the bug itself seems to be fixed by this patch.
Closes #101640
|
|
Only encode return-position `impl Trait` in trait when parent function has a default body
Semi-blocked on #101679, because I can't currently write a test for when we _should_ encode the type of the return-position `impl Trait` in trait, which is when a trait has a default function body, like so:
```rust
trait Foo {
fn bar() -> impl Sized { }
}
```
Though this can land even without #101679, since it does prevent ICEs from occuring any time you use `#![feature(return_position_impl_trait_in_trait)]` in a library, which is kind annoying.
|
|
|
|
|
|
|
|
Allow generators to impl Clone/Copy
Revives #95137. It's a pity that the original pr didn't land because the implementation is almost complete! All credits goes to `@canndrew,` and i just resolved the merge conflicts and updated the feature gate version number.
r? `@oli-obk`
|
|
|