Commit Graph

241761 Commits

Author SHA1 Message Date
onur-ozkan
3ea3c3885b create helper fn hex_encode and remove hex dependency
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-12-16 20:16:53 +03:00
Ben Kimock
ce4f57511e Visit the AllocIds and BorTags in borrow state FrameExtra 2023-12-16 11:56:42 -05:00
jyn
0ffac661fa fix printing cargo args on --dry-run 2023-12-16 11:16:14 -05:00
bors
e223c41028 Auto merge of #119013 - flip1995:clippy-subtree-sync, r=Manishearth
Clippy subtree update

r? `@matthiaskrgr` (As Manish wrote that he is a bit inactive until the new year)
2023-12-16 14:49:59 +00:00
Philipp Krones
b92ab506d3
Update Cargo.lock 2023-12-16 14:13:12 +01:00
Philipp Krones
61f4a73c67
Merge commit 'a859e5cc1ce100df22346a1005da30532d04de59' into clippyup 2023-12-16 14:12:50 +01:00
bors
a859e5cc1c Auto merge of #11971 - flip1995:rustup, r=flip1995
Rustup

r? `@ghost`

changelog: none
2023-12-16 13:02:49 +00:00
Philipp Krones
71f48ee39b
Bump nightly version -> 2023-12-16 2023-12-16 14:00:13 +01:00
Philipp Krones
80ccd6392f
Merge remote-tracking branch 'upstream/master' into rustup 2023-12-16 13:59:56 +01:00
Zalathar
bc77717d68 coverage: Regression test for assert!(!false) 2023-12-16 20:58:04 +11:00
bors
3ad8e2d129 Auto merge of #118897 - nnethercote:more-unescaping-cleanups, r=fee1-dead
More unescaping cleanups

More minor improvements I found while working on #118699.

r? `@fee1-dead`
2023-12-16 08:52:06 +00:00
bors
1c6a06183a Auto merge of #119009 - workingjubilee:rollup-ytexy6j, r=workingjubilee
Rollup of 6 pull requests

Successful merges:

 - #118523 (Add ASCII whitespace trimming functions to `&str`)
 - #118851 ([std] Add xcoff in object's feature list)
 - #118989 (Simplify lint decorator derive too)
 - #118993 (use `if cfg!` instead of `#[cfg]`)
 - #119003 (NFC: do not clone types that are copy)
 - #119004 (NFC don't convert types to identical types)

r? `@ghost`
`@rustbot` modify labels: rollup
2023-12-16 05:35:12 +00:00
Jubilee
c5a3d98cc6
Rollup merge of #119004 - matthiaskrgr:conv, r=compiler-errors
NFC don't convert types to identical types
2023-12-15 21:33:00 -08:00
Jubilee
c9ba4583aa
Rollup merge of #119003 - matthiaskrgr:nein_clone, r=Nadrieril
NFC: do not clone types that are copy
2023-12-15 21:33:00 -08:00
Jubilee
30231d9afa
Rollup merge of #118993 - jyn514:cfg-color, r=WaffleLapkin,Nilstrieb
use `if cfg!` instead of `#[cfg]`

this pr is specifically for waffle because i love it <3

fixes https://github.com/rust-lang/rust/pull/118756#discussion_r1421767649

r? `@WaffleLapkin`
2023-12-15 21:32:59 -08:00
Jubilee
c7b492eac1
Rollup merge of #118989 - compiler-errors:lint-decorator-2, r=WaffleLapkin
Simplify lint decorator derive too

See last commit, since this is stacked on top of #118727.

r? WaffleLapkin
2023-12-15 21:32:58 -08:00
Jubilee
6c2f00fbd7
Rollup merge of #118851 - bzEq:std-xcoff, r=Mark-Simulacrum
[std] Add xcoff in object's feature list

object-0.32.0 has supported XCOFF format. And backtrace in submodule has been updated to support XCOFF and AIX. Add `xcoff` to supported feature list to make backtrace built on AIX.
2023-12-15 21:32:58 -08:00
Jubilee
15e84ebc7b
Rollup merge of #118523 - okaneco:trim_ascii, r=Mark-Simulacrum
Add ASCII whitespace trimming functions to `&str`

- Add `trim_ascii_start`, `trim_ascii_end`, and `trim_ascii` functions to `&str` for trimming ASCII whitespace
- Add `#[inline]` to `[u8]` `trim_ascii` functions

These functions are feature-gated by `#![feature(byte_slice_trim_ascii)]` #94035
2023-12-15 21:32:57 -08:00
bors
5c927ab999 Auto merge of #117984 - compiler-errors:implied-bounds-entailment, r=lcnr
Make `IMPLIED_BOUNDS_ENTAILMENT` into a hard error from a lint

closes #105572

Removes the `IMPLIED_BOUNDS_ENTAILMENT` and makes the `compare_method_predicate_entailment` logic just run once.

r? lcnr
2023-12-16 02:20:30 +00:00
Michael Goulet
108bec6723 Simplify lint decorator derive too 2023-12-16 02:07:01 +00:00
Michael Goulet
32907c72eb Remove the lint outright 2023-12-16 01:28:06 +00:00
Michael Goulet
629d3511b7 Make IMPLIED_BOUNDS_ENTAILMENT into a hard error from a lint 2023-12-16 01:28:05 +00:00
Zalathar
e0de143970 coverage: Regression test for markers in a function with no spans 2023-12-16 11:10:11 +11:00
Zalathar
c57f28bbf7 coverage: Avoid creating func_coverage for marker statements
Coverage marker statements should have no effect on codegen, but in some cases
they could have the side-effect of creating a `func_coverage` entry for their
enclosing function. That can lead to an ICE for functions that don't actually
have any coverage spans.
2023-12-16 11:10:11 +11:00
Zalathar
dfa6441354 coverage: Skip instrumenting a function if no spans were extracted 2023-12-16 11:10:10 +11:00
Michael Howell
6b69ebcae0 rustdoc-search: remove parallel searchWords array
This might have made sense if the algorithm could use `searchWords`
to skip having to look at `searchIndex`, but since it always
does a substring check on both the stock word and the normalizedName,
it doesn't seem to help performance anyway.
2023-12-15 16:26:35 -07:00
Matthias Krüger
8479945c08 NFC don't convert types to identical types 2023-12-15 23:56:24 +01:00
Matthias Krüger
74d81d15b4 NFC: do not clone types that are copy 2023-12-15 23:19:51 +01:00
bors
ca5c68a110 Auto merge of #119002 - workingjubilee:rollup-dbfet7s, r=workingjubilee
Rollup of 5 pull requests

Successful merges:

 - #118396 (Collect lang items from AST, get rid of `GenericBound::LangItemTrait`)
 - #118727 (Don't pass lint back out of lint decorator)
 - #118956 (Make CStr documentation consistent ("nul" instead of "null"))
 - #118981 (Remove an unneeded allocation)
 - #118998 (Link to is_benchmark from the Ipv6Addr::is_global documentation)

r? `@ghost`
`@rustbot` modify labels: rollup
2023-12-15 22:09:47 +00:00
Jubilee
4b447b8bb7
Rollup merge of #118998 - jstasiak:improve-doc, r=workingjubilee
Link to is_benchmark from the Ipv6Addr::is_global documentation

All other relevant is_* methods are mentioned in the list of addresses here, is_benchmarking has been the only one missing.
2023-12-15 14:08:18 -08:00
Jubilee
3d94fc9dfe
Rollup merge of #118981 - krtab:onelessalloc, r=compiler-errors
Remove an unneeded allocation

This removes an unneeded allocation in `<&[hir::GenericParam<'_>] as NextTypeParamName>::next_type_param_name`
2023-12-15 14:08:17 -08:00
Jubilee
5e85fece3a
Rollup merge of #118956 - danielhuang:patch-2, r=workingjubilee
Make CStr documentation consistent ("nul" instead of "null")

"nul" is used in method names and appears more often in the documentation than "null", so make all instances "nul" to keep it consistent.
2023-12-15 14:08:16 -08:00
Jubilee
58353fa458
Rollup merge of #118727 - compiler-errors:lint-decorate, r=WaffleLapkin
Don't pass lint back out of lint decorator

Change the decorator function in the signature of the `emit_lint`/`span_lint`/etc family of methods from `impl for<'a, 'b> FnOnce(&'b mut DiagnosticBuilder<'a, ()>) -> &'b mut DiagnosticBuilder<'a, ()>` to `impl for<'a, 'b> FnOnce(&'b mut DiagnosticBuilder<'a, ()>)`. I consider it easier to read this way, especially when there's control flow involved.

r? nnethercote though feel free to reassign
2023-12-15 14:08:16 -08:00
Jubilee
1d54949765
Rollup merge of #118396 - compiler-errors:ast-lang-items, r=cjgillot
Collect lang items from AST, get rid of `GenericBound::LangItemTrait`

r? `@cjgillot`
cc #115178

Looking forward, the work to remove `QPath::LangItem` will also be significantly more difficult, but I plan on doing it as well. Specifically, we have to change:
1. A lot of `rustc_ast_lowering` for things like expr `..`
2. A lot of astconv, since we actually instantiate lang and non-lang paths quite differently.
3. A ton of diagnostics and clippy lints that are special-cased via `QPath::LangItem`

Meanwhile, it was pretty easy to remove `GenericBound::LangItemTrait`, so I just did that here.
2023-12-15 14:08:15 -08:00
Celina G. Val
86451badf1 Add a method to check if type is a CStr 2023-12-15 13:18:41 -08:00
Jakub Stasiak
47282799da Add link to is_benchmark from the Ipv6Addr::is_global documentation
All other relevant is_* methods are mentioned in the list of addresses
here, is_benchmarking has been the only one missing.
2023-12-15 20:53:54 +01:00
bors
a96d57bdb6 Auto merge of #118996 - matthiaskrgr:rollup-n6x2lc7, r=matthiaskrgr
Rollup of 7 pull requests

Successful merges:

 - #117824 (Stabilize `ptr::{from_ref, from_mut}`)
 - #118234 (Stabilize `type_name_of_val`)
 - #118944 (Move type relations into submodule `relate` in rustc_infer, and notify when it has changed)
 - #118977 (Simplify `src-script.js` code)
 - #118985 (Remove `@JohnTitor` from diagnostics pings)
 - #118986 (Simplify JS code a little bit)
 - #118988 (rustdoc: add regression test for JS data file loading)

r? `@ghost`
`@rustbot` modify labels: rollup
2023-12-15 19:32:17 +00:00
Matthias Krüger
5fc9ff5619
Rollup merge of #118988 - notriddle:notriddle/varconst, r=GuillaumeGomez
rustdoc: add regression test for JS data file loading

Follow up for #118961
2023-12-15 20:19:56 +01:00
Matthias Krüger
b377babd2b
Rollup merge of #118986 - GuillaumeGomez:simplify-js-inline, r=notriddle
Simplify JS code a little bit

As mentioned, JS code can be simplified a little bit.

r? ``@notriddle``
2023-12-15 20:19:55 +01:00
Matthias Krüger
39b6f458c3
Rollup merge of #118985 - JohnTitor:rm-jtitor-diag-pings, r=compiler-errors
Remove @JohnTitor from diagnostics pings

I've been inactive around diagnostics for a while so would like to remove myself from the diagnostics-related ping groups for now.
2023-12-15 20:19:55 +01:00
Matthias Krüger
ae9e08e65e
Rollup merge of #118977 - GuillaumeGomez:simplifysrc-script, r=notriddle
Simplify `src-script.js` code

Instead of keeping this value in the global scope and still use it in the function in case it wasn't used outside, let's just use it inside the function.

r? ``@notriddle``
2023-12-15 20:19:54 +01:00
Matthias Krüger
d5213cf52e
Rollup merge of #118944 - compiler-errors:relate, r=lcnr
Move type relations into submodule `relate` in rustc_infer, and notify when it has changed

r? lcnr
2023-12-15 20:19:54 +01:00
Matthias Krüger
ea6daca3cb
Rollup merge of #118234 - tgross35:type_name_of_value, r=dtolnay
Stabilize `type_name_of_val`

Make the following API stable:

```rust
// in core::any
pub fn type_name_of_val<T: ?Sized>(_val: &T) -> &'static str
```

This is a convenience method to get the type name of a value, as opposed to `type_name` that takes a type as a generic.

Const stability is not added because this relies on `type_name` which is also not const. That has a blocking issue https://github.com/rust-lang/rust/issues/97156.

Wording was also changed to direct most of the details to `type_name` so we don't have as much duplicated documentation.

Fixes tracking issue #66359.

There were two main concerns in the tracking issue:

1. Naming: `type_name_of` and `type_name_of_val` seem like the only mentioned options. Differences in opinion here come from `std::mem::{size_of, align_of, size_of_val, align_of_val}`. This PR leaves the name as `type_name_of_val`, but I can change if desired since it is pretty verbose.
2. What this displays for `&dyn`: I don't think that having `type_name_of_val` function resolve those is worth the headache it would be, see https://github.com/rust-lang/rust/issues/66359#issuecomment-1718480774 for some workarounds. I also amended the docs wording to leave it open-ended, in case we have means to change that behavior in the future.

``@rustbot`` label -T-libs +T-libs-api +needs-fcp
r? libs-api
2023-12-15 20:19:53 +01:00
Matthias Krüger
8ad8f29ae0
Rollup merge of #117824 - WaffleLapkin:ptr_from_ref_stab, r=dtolnay
Stabilize `ptr::{from_ref, from_mut}`

I propose to stabilize the following APIs:

```rust
// mod core::ptr

pub const fn from_ref<T: ?Sized>(r: &T) -> *const T;
pub const fn from_mut<T: ?Sized>(r: &mut T) -> *mut T;
```

Tracking issue: https://github.com/rust-lang/rust/issues/106116

---

``@RalfJung`` what do you think we should do with `from_mut`? Stabilize it as const, given that you can't call it anyway (no way to get `&mut` in `const fn`)? Defer stabilizing it as const leaving the same issue/feature? Change issue/feature? Change issue/feature to the "`&mut` in const fn" one?
2023-12-15 20:19:53 +01:00
jyn
4845665f6a use if cfg instead of #[cfg]
this pr is specifically for waffle because i love it <3
2023-12-15 13:15:40 -05:00
Michael Goulet
0184c7616e Move nll_relate to relate::nll submodule 2023-12-15 18:13:40 +00:00
Michael Goulet
807cd85dfa Add higher_ranked to relate submodule 2023-12-15 18:13:40 +00:00
Michael Goulet
18bf0caa5a Notify lcnr and errs when relations change 2023-12-15 18:13:40 +00:00
Michael Goulet
5b0b7cd8f9 Move type relations into submodule in rustc_infer 2023-12-15 18:13:40 +00:00
bors
3f39cae119 Auto merge of #115165 - davidtwco:issue-9228-describe-item-member-visibility, r=wesleywiser
codegen_llvm: set `DW_AT_accessibility`

Fixes #9228.
Based on #74778.

Sets the accessibility of types and fields in DWARF using `DW_AT_accessibility` attribute.

`DW_AT_accessibility` (public/protected/private) isn't exactly right for Rust,  but neither is `DW_AT_visibility` (local/exported/qualified), and there's no way to set `DW_AT_visbility` in LLVM's API. Debuggers will special-case the handling of these per-language anyway.

r? `@wesleywiser` (visited in wg-debugging triage)
2023-12-15 17:13:04 +00:00