1. 07 8月, 2023 17 次提交
    • M
      Rollup merge of #114230 - workingjubilee:codegen-tests-that-nest, r=Mark-Simulacrum · fe1c3a1a
      Matthias Krüger 提交于
      Nest other codegen test topics
      
      This PR is like rust-lang/rust#114229 in that it mostly pushes codegen tests around, shoving them into their own directories, but because all of the changes are very simple cleanups I pulled them into a separate PR. The other PR might involve actually evaluating the correctness of the test after changes, but here it is mostly a matter of taste. The only "functional" change is deleting a few tests that... hinge on a version of LLVM that we don't support (as of rust-lang/rust#114148 anyways).
      
      I considered a few different ways to group other topics but I feel the question of whether `tests/codegen/{vec,array,slice}` should exist is more subtle than these choices, as it might be better to group such related tests by other topics like bounds check elision, thus I avoided making it.
      fe1c3a1a
    • M
      Rollup merge of #114229 - workingjubilee:nest-sanitizer-dir, r=Mark-Simulacrum · 13717738
      Matthias Krüger 提交于
      Nest tests/codegen/sanitizer*.rs tests in sanitizer dir
      
      The sanitizer tests are the largest and most meticulously tested set of tests in tests/codegen. That's good! They all clearly belong to a subject and thus could go in a directory, but are not, instead being placed simply in tests/codegen. That's bad! Fix this by placing them in their own directory and renaming them to be less repetitive after that move.
      
      A few tests are brittle, and embed their filename in the test's checks. This is acceptable for the ones where it is used only two times, but one test embeds the test's mangled filename in the test *over 50 times*! This may have been one of the things discouraging anyone from moving it, and thus from moving the set. Fortunately, I have some knowledge of Itanium mangling (involuntarily), regex, and the FileCheck syntax. With a capturing variable, FileCheck allows us to now move this test around again without diffing it on ~50 lines, while still guaranteeing that the mangled substring is the same each time.
      
      This also clarifies why the substring is repeated a zillion times, instead of being cryptic. They don't call it mangling because the result is pretty and easy to understand, but now it is slightly easier! Yay descriptive variables!
      13717738
    • M
      Rollup merge of #114093 - Enselic:stdin-unknown-mod, r=Mark-Simulacrum · 61c55e37
      Matthias Krüger 提交于
      Add regression test for `echo 'mod unknown;' | rustc -`
      
      Closes #65601
      
      The bug is fixed since long ago, probably by #69838 (see https://github.com/rust-lang/rust/issues/65601#issuecomment-1650508071 for more details).
      Add a regression test so we can close the issue.
      61c55e37
    • M
      Rollup merge of #98935 - kellerkindt:option_retain, r=Mark-Simulacrum · bab20b41
      Matthias Krüger 提交于
      Implement `Option::take_if`
      
      Tracking issue: #98934
      ACP: rust-lang/libs-team#70 [accepted]
      bab20b41
    • B
      Auto merge of #112916 - tgross35:patch-1, r=Mark-Simulacrum · 2aae3317
      bors 提交于
      Add more context to `quit_if_file_exists` in `configure.py` & delete config.toml in CI
      
      If the `obj` directory isn't empty, the error message is subtle and not very helpful:
      
      ```
      == clock drift check ==
        local time: Sun Jul  2 00:57:06 UTC 2023
        network time: Sun, 02 Jul 2023 00:57:06 GMT
      == end clock drift check ==
      sccache: Starting the server...
      configure: error: Existing 'config.toml' detected.
      == clock drift check ==
        local time: Sun Jul  2 00:57:06 UTC 2023
        network time: Sun, 02 Jul 2023 00:57:06 GMT
      == end clock drift check ==
      ```
      
      This makes it stand out and suggests how to resolve the issue:
      
      ```
      == clock drift check ==
        local time: Sun Jul  2 02:11:30 UTC 2023
        network time: Sun, 02 Jul 2023 02:11:31 GMT
      == end clock drift check ==
      sccache: Starting the server...
      
      configure: ERROR: Existing 'config.toml' detected. Exiting
      Is objdir '/home/tmgross/projects/rust/obj' clean?
      
      == clock drift check ==
        local time: Sun Jul  2 02:11:31 UTC 2023
        network time: Sun, 02 Jul 2023 02:11:31 GMT
      == end clock drift check ==
      ```
      2aae3317
    • B
      Auto merge of #114565 - matthiaskrgr:rollup-p7cjs3m, r=matthiaskrgr · 72c6b8d3
      bors 提交于
      Rollup of 6 pull requests
      
      Successful merges:
      
       - #114535 (bump schannel, miow to drop windows-sys 0.42)
       - #114542 (interpret: use ConstPropNonsense for more const-prop induced issues)
       - #114543 (add tests for some fixed ConstProp ICEs)
       - #114550 (Generate better function argument names in global_allocator expansion)
       - #114556 (Issue numbers are enforced on active features; remove FIXME)
       - #114558 (Remove FIXME about NLL diagnostic that is already improved)
      
      Failed merges:
      
       - #114485 (Add trait decls to SMIR)
      
      r? `@ghost`
      `@rustbot` modify labels: rollup
      72c6b8d3
    • M
      Rollup merge of #114558 - Enselic:lifetime-diagnostic-fixed, r=cjgillot · f44f0279
      Matthias Krüger 提交于
      Remove FIXME about NLL diagnostic that is already improved
      
      The FIXME was added in #46984 when the diagnostic message looked like this:
      
          // FIXME(#46983): error message should be better
          &s.0 //~ ERROR free region `` does not outlive free region `'static`
      
      The message was improved in #90667 and now looks like this:
      
          &s.0 //~ ERROR lifetime may not live long enough
      
      but the FIXME was not removed. The issue #46983 about that diagnostics should be improved has been closed. We can remove the FIXME now.
      
      (This PR was made for #44366.)
      f44f0279
    • M
      Rollup merge of #114556 - Enselic:issue-numbers-enforced, r=compiler-errors · 44479d1b
      Matthias Krüger 提交于
      Issue numbers are enforced on active features; remove FIXME
      
      Since https://github.com/rust-lang/rust/pull/51090 tidy enforces that active features have an issue number, so remove the FIXME.
      
      This PR is part of #44366 which is E-help-wanted.
      44479d1b
    • M
      Rollup merge of #114550 - dtolnay:globalalloc, r=compiler-errors · 1ea9951b
      Matthias Krüger 提交于
      Generate better function argument names in global_allocator expansion
      
      Generated code for `#[global_allocator] static ALLOCATOR: Allocator = Allocator;`—
      
      **Before:**
      
      ```rust
      const _: () = {
          #[rustc_std_internal_symbol]
          unsafe fn __rust_alloc(arg0: usize, arg1: usize) -> *mut u8 {
              ::core::alloc::GlobalAlloc::alloc(
                  &ALLOCATOR,
                  ::core::alloc::Layout::from_size_align_unchecked(arg0, arg1),
              )
          }
          #[rustc_std_internal_symbol]
          unsafe fn __rust_dealloc(arg0: *mut u8, arg1: usize, arg2: usize) -> () {
              ::core::alloc::GlobalAlloc::dealloc(
                  &ALLOCATOR,
                  arg0,
                  ::core::alloc::Layout::from_size_align_unchecked(arg1, arg2),
              )
          }
          #[rustc_std_internal_symbol]
          unsafe fn __rust_realloc(
              arg0: *mut u8,
              arg1: usize,
              arg2: usize,
              arg3: usize,
          ) -> *mut u8 {
              ::core::alloc::GlobalAlloc::realloc(
                  &ALLOCATOR,
                  arg0,
                  ::core::alloc::Layout::from_size_align_unchecked(arg1, arg2),
                  arg3,
              )
          }
          #[rustc_std_internal_symbol]
          unsafe fn __rust_alloc_zeroed(arg0: usize, arg1: usize) -> *mut u8 {
              ::core::alloc::GlobalAlloc::alloc_zeroed(
                  &ALLOCATOR,
                  ::core::alloc::Layout::from_size_align_unchecked(arg0, arg1),
              )
          }
      };
      ```
      
      **After:**
      
      ```rust
      const _: () = {
          #[rustc_std_internal_symbol]
          unsafe fn __rust_alloc(size: usize, align: usize) -> *mut u8 {
              ::core::alloc::GlobalAlloc::alloc(
                  &ALLOCATOR,
                  ::core::alloc::Layout::from_size_align_unchecked(size, align),
              )
          }
          #[rustc_std_internal_symbol]
          unsafe fn __rust_dealloc(ptr: *mut u8, size: usize, align: usize) -> () {
              ::core::alloc::GlobalAlloc::dealloc(
                  &ALLOCATOR,
                  ptr,
                  ::core::alloc::Layout::from_size_align_unchecked(size, align),
              )
          }
          #[rustc_std_internal_symbol]
          unsafe fn __rust_realloc(
              ptr: *mut u8,
              size: usize,
              align: usize,
              new_size: usize,
          ) -> *mut u8 {
              ::core::alloc::GlobalAlloc::realloc(
                  &ALLOCATOR,
                  ptr,
                  ::core::alloc::Layout::from_size_align_unchecked(size, align),
                  new_size,
              )
          }
          #[rustc_std_internal_symbol]
          unsafe fn __rust_alloc_zeroed(size: usize, align: usize) -> *mut u8 {
              ::core::alloc::GlobalAlloc::alloc_zeroed(
                  &ALLOCATOR,
                  ::core::alloc::Layout::from_size_align_unchecked(size, align),
              )
          }
      };
      ```
      1ea9951b
    • M
    • M
      Rollup merge of #114542 - RalfJung:const-prop-nonsense, r=compiler-errors · 74dce186
      Matthias Krüger 提交于
      interpret: use ConstPropNonsense for more const-prop induced issues
      74dce186
    • M
      Rollup merge of #114535 - klensy:windows-sys-0-42, r=compiler-errors · 22d142ae
      Matthias Krüger 提交于
      bump schannel, miow to drop windows-sys 0.42
      
      Changes contains almost only of update to windows-sys 0.48
      https://github.com/steffengy/schannel-rs/compare/v0.1.21...v0.1.22
      https://github.com/yoshuawuyts/miow/compare/v0.5.0...v0.6.0
      22d142ae
    • B
      Auto merge of #114502 - cjgillot:steal-ctfe, r=oli-obk · f3623871
      bors 提交于
      Steal MIR for CTFE when possible.
      
      Some bodies, like constants, have CTFE MIR but no optimized MIR.
      In that case, have `mir_for_ctfe` steal the MIR instead of cloning it.
      f3623871
    • B
      Auto merge of #114553 - matthiaskrgr:rollup-5yddunv, r=matthiaskrgr · 85fbb571
      bors 提交于
      Rollup of 5 pull requests
      
      Successful merges:
      
       - #114466 (Add Allocation to SMIR)
       - #114505 (Add documentation to has_deref)
       - #114519 (use offset_of! to calculate dirent64 field offsets)
       - #114537 (Migrate GUI colors test to original CSS color format)
       - #114539 (linkchecker: Remove unneeded FIXME about intra-doc links)
      
      Failed merges:
      
       - #114485 (Add trait decls to SMIR)
      
      r? `@ghost`
      `@rustbot` modify labels: rollup
      85fbb571
    • M
      Remove FIXME about NLL diagnostic that is already improved · 8a752099
      Martin Nordholts 提交于
      The FIXME was added in 46984 when the diagnostic message looked like
      this:
      
          // FIXME(#46983): error message should be better
          &s.0 //~ ERROR free region `` does not outlive free region `'static`
      
      The message was improved in 90667 and now looks like this:
      
          &s.0 //~ ERROR lifetime may not live long enough
      
      but the FIXME was not removed. The issue 46983 about that diagnostics
      should be improved has been closed. We can remove the FIXME now.
      8a752099
    • B
      Auto merge of #114516 - cjgillot:direct-module-parent, r=compiler-errors · 5973bfbd
      bors 提交于
      parent_module_from_def_id does not need to be a query.
      
      r? `@ghost`
      5973bfbd
    • M
      2b9876bd
  2. 06 8月, 2023 23 次提交