Commit Graph

265195 Commits

Author SHA1 Message Date
Matthias Krüger
dea325e583 Rollup merge of #128627 - khuey:DUMMY_SP-line-no, r=nnethercote
Special case DUMMY_SP to emit line 0/column 0 locations on DWARF platforms.

Line 0 has a special meaning in DWARF. From the version 5 spec:

    The compiler may emit the value 0 in cases
    where an instruction cannot be attributed to any
    source line.

DUMMY_SP spans cannot be attributed to any line. However, because rustc internally stores line numbers starting at zero, lookup_debug_loc() adjusts every line number by one. Special casing DUMMY_SP to actually emit line 0 ensures rustc communicates to the debugger that there's no meaningful source code for this instruction, rather than telling the debugger to jump to line 1 randomly.
2024-08-21 18:15:01 +02:00
Shoyu Vanilla
db2e8e1ed0 fix: Wrong Sized predicate for generic_predicates_for_param 2024-08-22 00:32:44 +09:00
bors
a83146aea9 Auto merge of #13295 - waywardmonkeys:fix-2-typos, r=xFrednet
Fix a couple of typos.

changelog: none
2024-08-21 14:54:43 +00:00
Bruce Mitchener
3f97261fba Fix a couple of typos. 2024-08-21 21:42:57 +07:00
Tobias Bucher
123bb585f8 Fix stability attribute of impl !Error for &str
It was introduced in bf7611d55e (#99917),
which was included in Rust 1.65.0.
2024-08-21 16:21:40 +02:00
Ralf Jung
9010708d9f fix comment on PlaceMention semantics 2024-08-21 15:52:06 +02:00
bors
41c65e6350 Auto merge of #3831 - RalfJung:zero-sized-protector, r=RalfJung
borrow tracking: add a test for zero-sized protectors
2024-08-21 13:17:24 +00:00
Ralf Jung
13b02e3d86 add a test for zero-sized protectors 2024-08-21 15:15:18 +02:00
bors
982c6f8721 Auto merge of #126556 - saethlin:layout-precondition, r=joboet
Add a precondition check for Layout::from_size_align_unchecked

Ran into this while looking into https://github.com/rust-lang/miri/issues/3679. This is of course not the cause of the ICE, but the reproducer doesn't encounter a precondition check and it ought to.
2024-08-21 12:50:05 +00:00
Lukas Wirth
3f89eebd20 internal: Implement module_path macro 2024-08-21 13:50:05 +02:00
Nikita Popov
723609f26e Update x86_64-linux host compiler to LLVM 19 rc 3 2024-08-21 12:11:22 +02:00
bors
59a74db37d Auto merge of #128866 - scottmcm:update-stdarch, r=tgross35
Update stdarch submodule

To pick up https://github.com/rust-lang/stdarch/pull/1624 and unblock removing support for non-array-based-simd (https://github.com/rust-lang/compiler-team/issues/621).
2024-08-21 08:18:36 +00:00
Scott McMurray
210f603651 Update stdarch submodule 2024-08-21 00:20:27 -07:00
bors
4d7c095832 Auto merge of #129331 - matthiaskrgr:rollup-rxv463w, r=matthiaskrgr
Rollup of 9 pull requests

Successful merges:

 - #128662 (Lint on tail expr drop order change in Edition 2024)
 - #128932 (skip updating when external binding is existed)
 - #129270 (Don't consider locals to shadow inner items' generics)
 - #129277 (Update annotate-snippets to 0.11)
 - #129294 (Stabilize `iter::repeat_n`)
 - #129308 (fix: simple typo in compiler directory)
 - #129309 (ctfe: make CompileTimeInterpCx type alias public)
 - #129314 (fix a broken link in `mir/mod.rs`)
 - #129318 (Remove unneeded conversion to `DefId` for `ExtraInfo`)

r? `@ghost`
`@rustbot` modify labels: rollup
2024-08-21 05:40:46 +00:00
Michael Goulet
0b2525c787 Simplify some redundant field names 2024-08-21 01:31:42 -04:00
Michael Goulet
25ff9b6bcb Use bool in favor of Option<()> for diagnostics 2024-08-21 01:31:11 -04:00
beetrees
0f5c6eaccc Make ArgAbi::make_indirect_force more specific 2024-08-21 02:43:12 +01:00
Michael Howell
bead042d5e rustdoc: add test case for modnav position when TOC is off 2024-08-20 16:54:04 -07:00
Michael Howell
12a3c42ccc rustdoc: consistentify #TOC and #ModNav to lowercase 2024-08-20 16:51:40 -07:00
Michael Howell
95fcddd29f Add more test case 2024-08-20 16:51:39 -07:00
Michael Howell
7091fa5880 rustdoc: show code spans as <code> in TOC 2024-08-20 16:51:37 -07:00
Michael Howell
68773c789a rustdoc: add separate section for module items 2024-08-20 16:51:33 -07:00
Michael Howell
5a6054b4a2 rustdoc: add separate section for module items 2024-08-20 16:51:31 -07:00
Ali Bektas
94f206a139 Run flycheck only on crate if target is binary. 2024-08-21 01:39:16 +02:00
Michael Howell
a7aea5d96b Add configuration options to hide TOC or module navigation 2024-08-20 16:27:42 -07:00
Michael Howell
1aebff96ad Add Top TOC support to rustdoc
This commit adds the headers for the top level documentation to
rustdoc's existing table of contents, along with associated items.

It only show two levels of headers. Going further would require the
sidebar to be wider, and that seems unnecessary (the crates that
have manually-built TOCs usually don't need deeply nested headers).
2024-08-20 16:27:42 -07:00
Ben Kimock
e6b0f27e00 Try to golf down the amount of code in Layout 2024-08-20 18:41:07 -04:00
Josh Stone
e424e7fcaa Avoid extra cast()s after CStr::as_ptr()
These used to be `&str` literals that did need a pointer cast, but that
became a no-op after switching to `c""` literals in #118566.
2024-08-20 14:04:48 -07:00
bors
5aea14073e Auto merge of #128252 - EtomicBomb:pre-rfc, r=notriddle
modularize rustdoc's write_shared

Refactor src/librustdoc/html/render/write_shared.rs to reduce code duplication, adding unit tests

* Extract + unit test code for sorting and rendering JSON, which is duplicated 9 times in the current impl
* Extract + unit test code for encoding JSON as single quoted strings, which is duplicated twice in the current impl
* Unit tests for cross-crate information file formats
* Generic interface to add new kinds of cross-crate information files in the future
* Intended to match current behavior exactly, except for a merge info comment it adds to the bottom of cci files
* This PR is intended to reduce the review burden from my [mergeable rustdoc rfc](https://github.com/rust-lang/rfcs/pull/3662) implementation PR, which is a [small commit based on this branch](https://github.com/EtomicBomb/rust/tree/rfc). This code is agnostic to the RFC and does not include any of the flags discussed there, but cleanly enables the addition of these flags in the future because it is more modular
2024-08-20 20:23:29 +00:00
Matthias Krüger
f6312870a5 Rollup merge of #129318 - GuillaumeGomez:rm-unneeded-defid-conversion, r=notriddle
Remove unneeded conversion to `DefId` for `ExtraInfo`

I'm working on adding support for "unit test doctests" and this first cleanup came up so just sending it ahead of the rest.

r? ``@notriddle``
2024-08-20 22:22:00 +02:00
Matthias Krüger
71df480bcb Rollup merge of #129314 - kyoto7250:fix_link_in_mir_mod, r=compiler-errors
fix a broken link in `mir/mod.rs`

I discovered that the internal link in mir/mod.rs is broken, so I will fix it. The AddCallGuards is now located under rustc_mir_transform.

The PR at that time is as follows.
c5fc2609f0
2024-08-20 22:21:59 +02:00
Matthias Krüger
b1f19caa59 Rollup merge of #129309 - RalfJung:CompileTimeInterpCx, r=compiler-errors
ctfe: make CompileTimeInterpCx type alias public

`CompileTimeMachine` is already public so there is no good reason to not also make this public.

Also add comment explaining why `CompileTimeMachine` is public.
2024-08-20 22:21:59 +02:00
Matthias Krüger
ef9fba2232 Rollup merge of #129308 - c8ef:typo, r=jieyouxu
fix: simple typo in compiler directory
2024-08-20 22:21:58 +02:00
Matthias Krüger
aced570e53 Rollup merge of #129294 - scottmcm:stabilize-repeat-n, r=Noratrieb
Stabilize `iter::repeat_n`

ACP completed in https://github.com/rust-lang/rust/issues/104434#issuecomment-2296993685
2024-08-20 22:21:58 +02:00
Matthias Krüger
43a1ca5156 Rollup merge of #129277 - Xiretza:update-annotate-snippets, r=fee1-dead
Update annotate-snippets to 0.11
2024-08-20 22:21:57 +02:00
Matthias Krüger
d502b1c8e4 Rollup merge of #129270 - compiler-errors:inner-generics-shadowing, r=petrochenkov
Don't consider locals to shadow inner items' generics

We don't want to consider the bindings from a `RibKind::Module` itself, because for an inner item that module will contain the local bindings from the function body or wherever else the inner item is being defined.

Fixes #129265

r? petrochenkov
2024-08-20 22:21:57 +02:00
Matthias Krüger
2e58d62fec Rollup merge of #128932 - bvanjoi:issue-128813, r=petrochenkov
skip updating when external binding is existed

Fixes #128813

For following code:

```rs
extern crate core;

fn f() {
    use ::core;
}

macro_rules! m {
    () => {
        extern crate std as core;
    };
}

m!();

fn main() {}
```

- In the first loop, we define `extern crate core` and `use ::core` will be referred to `core` (yes, it does not consider if there are some macros that are not expanded. Ideally, this should be delayed if there are some unexpanded macros in the root, but I didn't change it like that because it seems like a huge change).
- Then `m` is expanded, which makes `extern_prelude('core')` return `std` rather than `core`, causing the inconsistency.

r? `@petrochenkov`
2024-08-20 22:21:56 +02:00
Matthias Krüger
552b5c73fb Rollup merge of #128662 - dingxiangfei2009:lint-tail-expr-drop-order, r=jieyouxu
Lint on tail expr drop order change in Edition 2024

This lint warns users to consider extra discretion on the effect of a transposed drop order arising from Edition 2024, which involves temporaries in tail expression location with significant drop implementation.

cc `@traviscross`

Tracking:

- https://github.com/rust-lang/rust/issues/123739
2024-08-20 22:21:56 +02:00
Nadrieril
f30392a985 Move the "matches no value" note to be a span label 2024-08-20 21:53:47 +02:00
bors
e5a1ef0795 Auto merge of #13290 - Jarcho:interior_mut_quick, r=Alexendoo
`declare_interior_mutable_const`: Ignore pointer types.

fixes #12951
fixes #13233

changelog: `declare_interior_mutable_const`: Ignore pointer types.
2024-08-20 18:04:47 +00:00
Urgau
4325ac9652 Implement ptr::fn_addr_eq 2024-08-20 19:27:29 +02:00
Ding Xiang Fei
ef25fbd0b4 lint on tail expr drop order change in Edition 2024 2024-08-21 01:05:21 +08:00
Arthur Carcano
4908188518 Change neutral element of <fNN as iter::Sum> to neg_zero
The neutral element used to be positive zero, but +0 + -0 = +0 so
-0 seems better indicated.
2024-08-20 18:45:53 +02:00
Guillaume Gomez
83fce478f4 Remove unneeded conversion to DefId for ExtraInfo 2024-08-20 18:09:58 +02:00
Jason Newcomb
687d4e3d16 declare_interior_mutable_const: Ignore pointer types. 2024-08-20 12:01:24 -04:00
bors
70650de720 Auto merge of #13241 - alex-semenyuk:fix_double_must_use, r=xFrednet
Fix confusing message in double_must_use lint

Close #13003
As mentioned at #13003 it isn't quite clear what it means "an empty `#[must_use]` attribute" so clarify it

changelog: [none]
2024-08-20 15:58:30 +00:00
kyoto7250
df568af244 fix link in mir/mod
change url path when rewrite those code
2024-08-21 00:14:04 +09:00
bors
4d5b3b1962 Auto merge of #129239 - DianQK:codegen-rustc_intrinsic, r=saethlin
Don't generate functions with the `rustc_intrinsic_must_be_overridden` attribute

Functions with the attribute `rustc_intrinsic_must_be_overridden` never be called.

r? compiler
2024-08-20 14:15:50 +00:00
Chris Denton
40af2143f1 Make import libraries compatible with wholearchive 2024-08-20 13:43:33 +00:00
bors
f203b42166 Auto merge of #3752 - Kixunil:simd-sha256, r=RalfJung
Implement SHA256 SIMD intrinsics on x86

Disclaimer: this is my first contribution to `miri`'s code. It's quite possible I'm missing something. This code works but may not be the cleanest/best possible.

It'd be useful to be able to verify code implementing SHA256 using SIMD since such code is a bit more complicated and at some points requires use of pointers. Until now `miri` didn't support x86 SHA256 intrinsics. This commit implements them.
2024-08-20 13:23:38 +00:00