Guillaume Gomez
77e729ea92
Add Symbol into rustdoc JSON ID to prevent conflicts between reexports
2022-06-02 11:14:32 +02:00
lcnr
d7645f4245
don't use a span_note
for ignored impls
2022-06-02 11:13:31 +02:00
Dylan DPC
fa79247826
Rollup merge of #97635 - rgwood:patch-1, r=ChrisDenton
...
Fix file metadata documentation for Windows
I noticed that the documentation for `fs::symlink_metadata()` and `fs::metadata()` is incorrect; [the underlying code](481db40311/library/std/src/sys/windows/fs.rs (L334)
) calls [`GetFileInformationByHandle()`](https://docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-getfileinformationbyhandle ) on Windows, not [`GetFileAttributesEx()`](https://docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-getfileattributesexw ). There are currently [no uses of `GetFileAttributesEx()` in this repo](https://github.com/rust-lang/rust/search?q=GetFileAttributesEx ).
2022-06-02 11:13:26 +02:00
Dylan DPC
eb642d48ee
Rollup merge of #97603 - ximon18:arc-make-mut-spelling-correction, r=GuillaumeGomez
...
Arc make_mut doc comment spelling correction.
2022-06-02 11:13:25 +02:00
Dylan DPC
19dc28c23e
Rollup merge of #97587 - pvdrz:maybe-recover-from-bad-qpath-stage-2, r=davidtwco
...
Migrate more diagnostics to use the `#[derive(SessionDiagnostic)]`
r? ``@davidtwco``
2022-06-02 11:13:24 +02:00
Dylan DPC
9225f78b74
Rollup merge of #97397 - JohnTitor:stabilize-box-into-pin, r=Mark-Simulacrum
...
Stabilize `box_into_pin`
FCP has been completed: https://github.com/rust-lang/rust/issues/62370#issuecomment-1012162279
Also, adds notes as per https://github.com/rust-lang/rust/issues/62370#issuecomment-1004108116
Closes #62370
2022-06-02 11:13:23 +02:00
Dylan DPC
5c041f98fa
Rollup merge of #97023 - cjgillot:uniform-anon, r=estebank
...
Diagnose anonymous lifetimes errors more uniformly between async and regular fns
Async fns and regular fns are desugared differently. For the former, we create a generic parameter at HIR level. For the latter, we just create an anonymous region for typeck.
I plan to migrate regular fns to the async fn desugaring.
Before that, this PR attempts to merge the diagnostics for both cases.
r? ```@estebank```
2022-06-02 11:13:22 +02:00
Dylan DPC
ddc5d2c9d2
Rollup merge of #96894 - JohnTitor:expect-non-local-track-caller, r=petrochenkov
...
Apply track_caller to closure on `expect_non_local()`
r? `@petrochenkov`
Alternatively we could remove the closure by replicating the same logic of `map_id()`. I'm happy to switch to it if you'd like.
2022-06-02 11:13:21 +02:00
lcnr
b343a466c6
rebase
2022-06-02 10:25:47 +02:00
lcnr
8b089a1a9f
remove unnecessary change
2022-06-02 10:19:15 +02:00
lcnr
681736a6b2
generic_arg_contains_target
: ignore closures
2022-06-02 10:19:15 +02:00
lcnr
69d575e58d
eagerly fetch the typeck_results
2022-06-02 10:19:15 +02:00
lcnr
bc0d12cc6c
use verbose suggestions
2022-06-02 10:19:15 +02:00
lcnr
3fe346e7a3
add new emit_inference_failure_err
2022-06-02 10:19:15 +02:00
lcnr
721fc73208
remove the old emit_inference_failure_err
2022-06-02 10:19:15 +02:00
bors
5e6bb83268
Auto merge of #96737 - ChrisDenton:win-manifest, r=wesleywiser
...
Add Windows application manifest to rustc-main
Windows allows setting some runtime options using a manifest file. The format of the XML file is documented here: https://docs.microsoft.com/en-us/windows/win32/sbscs/application-manifests
The manifest file in this PR does three things:
* Declares which Windows versions we support. This may help avoid unnecessary compatibility shims.
* Uses the UTF-8 code page. While Rust itself uses UTF-16 APIs, other code may rely on the code page.
* Makes the application long path aware (if also enabled by the user). This allows for the current directory to be longer than `PATH_MAX`.
These changes only affect the `rustc` process and not any other DLLs or compiled programs.
2022-06-02 07:58:29 +00:00
bors
fb1976011e
Auto merge of #97414 - LYF1999:yf/cachealign, r=Mark-Simulacrum
...
use 128 cache align for aarch64
the cache line size of m1 mac is 128.
so use `align(128)` for m1 mac
here is `sysctl -a hw machdep.cpu` output on m1 mac
```
hw.ncpu: 10
hw.byteorder: 1234
hw.memsize: 68719476736
hw.activecpu: 10
hw.perflevel0.physicalcpu: 8
hw.perflevel0.physicalcpu_max: 8
hw.perflevel0.logicalcpu: 8
hw.perflevel0.logicalcpu_max: 8
hw.perflevel0.l1icachesize: 196608
hw.perflevel0.l1dcachesize: 131072
hw.perflevel0.l2cachesize: 12582912
hw.perflevel0.cpusperl2: 4
hw.perflevel1.physicalcpu: 2
hw.perflevel1.physicalcpu_max: 2
hw.perflevel1.logicalcpu: 2
hw.perflevel1.logicalcpu_max: 2
hw.perflevel1.l1icachesize: 131072
hw.perflevel1.l1dcachesize: 65536
hw.perflevel1.l2cachesize: 4194304
hw.perflevel1.cpusperl2: 2
hw.optional.arm.FEAT_FlagM: 1
hw.optional.arm.FEAT_FlagM2: 1
hw.optional.arm.FEAT_FHM: 1
hw.optional.arm.FEAT_DotProd: 1
hw.optional.arm.FEAT_SHA3: 1
hw.optional.arm.FEAT_RDM: 1
hw.optional.arm.FEAT_LSE: 1
hw.optional.arm.FEAT_SHA256: 1
hw.optional.arm.FEAT_SHA512: 1
hw.optional.arm.FEAT_SHA1: 1
hw.optional.arm.FEAT_AES: 1
hw.optional.arm.FEAT_PMULL: 1
hw.optional.arm.FEAT_SPECRES: 0
hw.optional.arm.FEAT_SB: 1
hw.optional.arm.FEAT_FRINTTS: 1
hw.optional.arm.FEAT_LRCPC: 1
hw.optional.arm.FEAT_LRCPC2: 1
hw.optional.arm.FEAT_FCMA: 1
hw.optional.arm.FEAT_JSCVT: 1
hw.optional.arm.FEAT_PAuth: 1
hw.optional.arm.FEAT_PAuth2: 0
hw.optional.arm.FEAT_FPAC: 0
hw.optional.arm.FEAT_DPB: 1
hw.optional.arm.FEAT_DPB2: 1
hw.optional.arm.FEAT_BF16: 0
hw.optional.arm.FEAT_I8MM: 0
hw.optional.arm.FEAT_ECV: 1
hw.optional.arm.FEAT_LSE2: 1
hw.optional.arm.FEAT_CSV2: 1
hw.optional.arm.FEAT_CSV3: 1
hw.optional.arm.FEAT_FP16: 1
hw.optional.arm.FEAT_SSBS: 1
hw.optional.arm.FEAT_BTI: 0
hw.optional.floatingpoint: 1
hw.optional.neon: 1
hw.optional.neon_hpfp: 1
hw.optional.neon_fp16: 1
hw.optional.armv8_1_atomics: 1
hw.optional.armv8_2_fhm: 1
hw.optional.armv8_2_sha512: 1
hw.optional.armv8_2_sha3: 1
hw.optional.armv8_3_compnum: 1
hw.optional.watchpoint: 4
hw.optional.breakpoint: 6
hw.optional.armv8_crc32: 1
hw.optional.armv8_gpi: 1
hw.optional.AdvSIMD: 1
hw.optional.AdvSIMD_HPFPCvt: 1
hw.optional.ucnormal_mem: 1
hw.optional.arm64: 1
hw.features.allows_security_research: 0
hw.physicalcpu: 10
hw.physicalcpu_max: 10
hw.logicalcpu: 10
hw.logicalcpu_max: 10
hw.cputype: 16777228
hw.cpusubtype: 2
hw.cpu64bit_capable: 1
hw.cpufamily: 458787763
hw.cpusubfamily: 5
hw.cacheconfig: 10 1 2 0 0 0 0 0 0 0
hw.cachesize: 3373957120 65536 4194304 0 0 0 0 0 0 0
hw.pagesize: 16384
hw.pagesize32: 16384
hw.cachelinesize: 128
hw.l1icachesize: 131072
hw.l1dcachesize: 65536
hw.l2cachesize: 4194304
hw.tbfrequency: 24000000
hw.packages: 1
hw.osenvironment:
hw.ephemeral_storage: 0
hw.use_recovery_securityd: 0
hw.use_kernelmanagerd: 1
hw.serialdebugmode: 0
hw.nperflevels: 2
hw.targettype: J316c
machdep.cpu.cores_per_package: 10
machdep.cpu.core_count: 10
machdep.cpu.logical_per_package: 10
machdep.cpu.thread_count: 10
machdep.cpu.brand_string: Apple M1 Max
```
2022-06-02 04:14:02 +00:00
Nicholas Nethercote
72de7c4102
Address review comments.
2022-06-02 12:22:04 +10:00
Nicholas Nethercote
77e1069a5d
Revert #96682 .
...
The change was "Show invisible delimiters (within comments) when pretty
printing". It's useful to show these delimiters, but is a breaking
change for some proc macros.
Fixes #97608 .
2022-06-02 11:22:16 +10:00
Reilly Wood
0835dfe579
Fix Windows file metadata docs
...
Retrieving file metadata on Windows now uses GetFileInformationByHandle not GetFileAttributesEx
2022-06-01 20:32:33 -04:00
bors
e838059d66
Auto merge of #97632 - JohnTitor:rollup-d2ucrjw, r=JohnTitor
...
Rollup of 6 pull requests
Successful merges:
- #95594 (Additional `*mut [T]` methods)
- #97130 (rustdoc: avoid including impl blocks with filled-in generics)
- #97166 (Move conditions out of recover/report functions.)
- #97605 (Mention filename in suggestion when it differs from primary span)
- #97613 (rustdoc: Improve calculation of "Impls on Foreign Types")
- #97626 (rename PointerAddress → PointerExposeAddress)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
2022-06-01 22:34:38 +00:00
Yuki Okushi
572c39000b
Stabilize box_into_pin
2022-06-02 07:24:14 +09:00
Guillaume Gomez
1d12b7eb29
Add test for anonymous reexports
2022-06-01 23:46:07 +02:00
Yuki Okushi
b78c118b09
Rollup merge of #97626 - RalfJung:expose, r=tmiasko
...
rename PointerAddress → PointerExposeAddress
`PointerAddress` sounds a bit too much like `ptr.addr()`, but this corresponds to `ptr.expose_addr()`.
r? `@tmiasko`
2022-06-02 06:44:29 +09:00
Yuki Okushi
a96e71c752
Rollup merge of #97613 - jsha:implementation-is-on-local-type, r=GuillaumeGomez
...
rustdoc: Improve calculation of "Impls on Foreign Types"
The existing code to calculate whether an implementation was on a "Foreign Type" was duplicated across the sidebar generation and the page generation. It also came to the wrong conclusion for some cases where both the trait and the "for" type were re-exports.
This PR extracts the logic into a method of `Impl`, breaks it into a multi-line method so it can be commented, and adds a case for when the trait and the "for" type came from the same crate. This fixes some cases - like the platform-specific integer types (`__m256`, `__m128`, etc). But it doesn't fix all cases. See the screenshots below.
[Before](https://doc.rust-lang.org/nightly/std/clone/trait.Clone.html#foreign-impls ):
<img src="https://user-images.githubusercontent.com/220205/171338226-59ce6daf-3d76-4bad-bc8d-72a8259a8f43.png " width=200>
[After](https://rustdoc.crud.net/jsha/implementation-is-on-local-type/std/clone/trait.Clone.html ):
<img src="https://user-images.githubusercontent.com/220205/171338147-28308a65-1597-4223-be47-9550062404dd.png " width=200>
The remaining types (`CString`, `NulError`, etc) are all from the `alloc` crate, while the `Clone` trait is from the `core` crate. Since `CString` and `Clone` are both re-exported by `std`, they are logically local to each other, but I couldn't figure out a good way to detect that in this code. I figure this is still a good step forward.
Related: #97610
r? `@camelid`
2022-06-02 06:44:29 +09:00
Yuki Okushi
2c1990d0b8
Rollup merge of #97605 - estebank:suggestion-filename, r=oli-obk
...
Mention filename in suggestion when it differs from primary span
2022-06-02 06:44:28 +09:00
Yuki Okushi
d126de111b
Rollup merge of #97166 - nnethercote:move-conditions-out, r=estebank
...
Move conditions out of recover/report functions.
`Parser` has six recover/report functions that are passed a boolean, and
nothing is done if the boolean has a particular value.
This PR moves the tests outside the functions. This has the following effects.
- The number of lines of code goes down.
- Some `use` items become shorter.
- Avoids the strangeness whereby 11 out of 12 calls to
`maybe_recover_from_bad_qpath` pass `true` as the second argument.
- Makes it clear at the call site that only one of
`maybe_recover_from_bad_type_plus` and `maybe_report_ambiguous_plus` will be
run.
r? `@estebank`
2022-06-02 06:44:27 +09:00
Yuki Okushi
9fc3fc3a0c
Rollup merge of #97130 - notriddle:notriddle/collect-trait-impls-dup, r=GuillaumeGomez
...
rustdoc: avoid including impl blocks with filled-in generics
Fixes #94937
# Before
![image](https://user-images.githubusercontent.com/1593513/168933282-02ccc4ae-9c89-4836-ba34-e2bd83946105.png )
# After
![image](https://user-images.githubusercontent.com/1593513/168933255-4c17407d-d8d1-406e-87f5-9ea809437173.png )
2022-06-02 06:44:26 +09:00
Yuki Okushi
3ed9bbe970
Rollup merge of #95594 - the8472:raw_slice_methods, r=yaahc
...
Additional `*mut [T]` methods
Split out from #94247
This adds the following methods to raw slices that already exist on regular slices
* `*mut [T]::is_empty`
* `*mut [T]::split_at_mut`
* `*mut [T]::split_at_mut_unchecked`
These methods reduce the amount of unsafe code needed to migrate `ChunksMut` and related iterators
to raw slices (#94247 )
r? `@m-ou-se`
2022-06-02 06:44:25 +09:00
bors
12cd71f4d3
Auto merge of #97612 - ehuss:update-cargo, r=ehuss
...
Update cargo
5 commits in 39ad1039d9e3e1746177bf5d134af4c164f95528..38472bc19f2f76e245eba54a6e97ee6821b3c1db
2022-05-25 00:50:02 +0000 to 2022-05-31 02:03:24 +0000
- Emit warning upon encountering multiple packages with the same name (rust-lang/cargo#10701 )
- Guide new users to add use `super::*;` to `mod test` (rust-lang/cargo#10706 )
- Document how to debug change detection events (rust-lang/cargo#10708 )
- fix(publish): add more check when use `publish -p <SPEC>` (rust-lang/cargo#10677 )
- fix key formatting when switching to a dotted `WorkspaceSource` (rust-lang/cargo#10705 )
2022-06-01 20:06:14 +00:00
Santiago Pastorino
15a82d6917
Always assert that impl_trait_def|bounds are empty at start
2022-06-01 15:38:37 -03:00
lcnr
79c3011d9d
update explicit impls error msg
2022-06-01 20:36:20 +02:00
Ralf Jung
4dc5d457d8
rename PointerAddress → PointerExposeAddress
2022-06-01 14:08:17 -04:00
Santiago Pastorino
67deaf9fea
instrument lower_fn_decl
2022-06-01 15:02:15 -03:00
Michael Howell
434adfff42
rustdoc: add test case for auto traits on slice primitive
2022-06-01 11:00:25 -07:00
Santiago Pastorino
2de2520e94
Split extend + inner chain into to extend calls
2022-06-01 14:48:14 -03:00
Santiago Pastorino
b3bc438f56
Add debug_assert comment
...
Co-authored-by: Camille Gillot <gillot.camille@gmail.com>
2022-06-01 14:43:16 -03:00
bors
b5a2d27f8f
Auto merge of #97624 - matthiaskrgr:rollup-rtcqjx9, r=matthiaskrgr
...
Rollup of 4 pull requests
Successful merges:
- #96271 (suggest `?` when method is missing on `Result<T, _>` but found on `T`)
- #97264 (Suggest `extern crate foo` when failing to resolve `use foo`)
- #97592 (rustdoc: also index impl trait and raw pointers)
- #97621 (update Miri)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
2022-06-01 17:25:29 +00:00
Michael Howell
57450c637c
Update src/librustdoc/passes/collect_trait_impls.rs
...
Co-authored-by: Guillaume Gomez <guillaume1.gomez@gmail.com>
2022-06-01 09:55:33 -07:00
Esteban Küber
310b1a9062
Mention filename in suggestion when it differs from primary span
2022-06-01 09:52:03 -07:00
Jacob Hoffman-Andrews
37d363879e
Improve calculation of "Impls on Foreign Types"
2022-06-01 09:11:50 -07:00
Matthias Krüger
89e765fb56
Rollup merge of #97621 - RalfJung:miri, r=RalfJung
...
update Miri
Fixes https://github.com/rust-lang/rust/issues/97563
Cc ``@rust-lang/miri`` r? ``@ghost``
2022-06-01 17:11:07 +02:00
Matthias Krüger
1730b62c45
Rollup merge of #97592 - notriddle:notriddle/impl-trait, r=GuillaumeGomez
...
rustdoc: also index impl trait and raw pointers
Revives #92339
2022-06-01 17:11:06 +02:00
Matthias Krüger
daedae7b23
Rollup merge of #97264 - TaKO8Ki:suggest-extern-crate-when-failing-to-resolve-use-crate, r=estebank
...
Suggest `extern crate foo` when failing to resolve `use foo`
closes #97095
r? ``@estebank``
2022-06-01 17:11:05 +02:00
Matthias Krüger
7d4cf710e2
Rollup merge of #96271 - compiler-errors:suggest-question-mark, r=estebank
...
suggest `?` when method is missing on `Result<T, _>` but found on `T`
The wording needs help, I think.
Fixes #95729
2022-06-01 17:11:04 +02:00
bors
8256e97231
Auto merge of #97622 - JohnTitor:rollup-4qoxrjn, r=JohnTitor
...
Rollup of 9 pull requests
Successful merges:
- #94647 (Expose `get_many_mut` and `get_many_unchecked_mut` to HashMap)
- #97216 (Ensure we never consider the null pointer dereferencable)
- #97399 (simplify code of finding arg index in `opt_const_param_of`)
- #97470 (rustdoc: add more test coverage)
- #97498 (Corrected EBNF grammar for from_str)
- #97562 (Fix comment in `poly_project_and_unify_type`)
- #97580 (Add regression test for #71546 )
- #97611 (Tweak insert docs)
- #97616 (Remove an unnecessary `Option`)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
2022-06-01 14:44:20 +00:00
Yuki Okushi
85fdef087c
Rollup merge of #97616 - TaKO8Ki:remove-unnecessary-option, r=Dylan-DPC
...
Remove an unnecessary `Option`
2022-06-01 23:36:53 +09:00
Yuki Okushi
2c3a8cf0a4
Rollup merge of #97611 - azdavis:master, r=Dylan-DPC
...
Tweak insert docs
For `{Hash, BTree}Map::insert`, I always have to take a few extra seconds to think about the slight weirdness about the fact that if we "did not" insert (which "sounds" false), we return true, and if we "did" insert, (which "sounds" true), we return false.
This tweaks the doc comments for the `insert` methods of those types (as well as what looks like a rustc internal data structure that I found just by searching the codebase for "If the set did") to first use the "Returns whether _something_" pattern used in e.g. `remove`, where we say that `remove` "returns whether the value was present".
2022-06-01 23:36:52 +09:00
Yuki Okushi
a7bd0d0e07
Rollup merge of #97580 - JohnTitor:issue-71546, r=compiler-errors
...
Add regression test for #71546
Closes #71546
r? `@compiler-errors`
2022-06-01 23:36:51 +09:00
Yuki Okushi
2f99f1b3a4
Rollup merge of #97562 - compiler-errors:comment-poly_project_and_unify_type, r=lcnr
...
Fix comment in `poly_project_and_unify_type`
Renamed some variants to match `ProjectAndUnifyResult`
2022-06-01 23:36:50 +09:00