Skip to content

Conversation

@Zalathar
Copy link
Member

@Zalathar Zalathar commented Jan 6, 2026

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

mu001999 and others added 16 commits December 28, 2025 15:17
Same as 147495, just keeping it up-to-date.
This commit updates the standard library's dependency on libc from
0.2.178 to 0.2.179. This is intended to resolve a minor issue on the
WASI targets in some niche situations where 0.2.178 had definitions
which didn't actually exist and this caused issues in some compiler
configurations related to dynamic linking.
This was recently fixed upstream in LLVM, so we update our default
layout to match.

@rustbot label: +llvm-main
…rait, r=jdonszelmann

Impls and impl items inherit `dead_code` lint level of the corresponding traits and trait items

https://github.com/rust-lang/rust/blob/master/compiler/rustc_passes/src/dead.rs#L360-L361 won't insert assoc items into the live set, so that impl items cannot be marked live.

This PR lets impls and impl items can inherit lint levels of the corresponding traits and trait items.

Fixes rust-lang#144060

r? `@petrochenkov`
…nikic

rustc_codegen_llvm: update alignment for double on AIX

This was recently fixed upstream in LLVM, so we update our default layout to match.

`@rustbot` label: +llvm-main
Unix implementation for stdio set/take/replace

Tracking issue: rust-lang#150667
ACP: rust-lang/libs-team#500
THIR pattern building: Move all `thir::Pat` creation into `rustc_mir_build::thir::pattern`

The code in `thir::cx::block` was the only code outside of `thir::pattern` that created `thir::Pat` nodes.

Moving it makes the signature of `pat_from_hir` a bit messier, but ensures that all `thir::Pat` creation occurs in one module. That will be useful when trying to change `thir::Pat`, e.g. by adding fields to remove the need for wrapper nodes.

There should be no change to compiler output.
MGCA: pretty printing for struct expressions and tuple calls

not sure

1. if there any tests that i need to adjust
2. if i should add any test for it
3. if humanity has come up with anything better than checking if that's first iteration or not with flag when printing sequences with separator

in case there is no tests for it and i dont have to add any, there is a demonstration of this ✨ pretty ✨ printing (this is output from `-Z unpretty=hir`)

```
fn test_errors<const N:
    usize>() {
    // accepts_enum::<{ None::<u32> }>();
    accepts_point::<Point1 { a: N, b: N }>();
    accepts_point::<Point(N, N)>();
}
```

btw it does not print const block

for this

```
accepts_point::<{ Point1 { a: const {N + 1}, b: N } }>();
```

it will print

```
accepts_point::<Point1 { a: { N + 1 }, b: N }>();
```

not sure if we want to print const blocks or not

r? BoxyUwU
Improve comment clarity in candidate_may_shadow

I think this should be the right correction, but I'm not sure.
…-ld, r=Mark-Simulacrum

Update wasm-component-ld

Same as rust-lang#147495, just keeping it up-to-date.
…imulacrum

Update libc dependency of std

This commit updates the standard library's dependency on libc from 0.2.178 to 0.2.179. This is intended to resolve a minor issue on the WASI targets in some niche situations where 0.2.178 had definitions which didn't actually exist and this caused issues in some compiler configurations related to dynamic linking.
@rustbot rustbot added A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. O-unix Operating system: Unix-like S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. rollup A PR which is a rollup labels Jan 6, 2026
@Zalathar
Copy link
Member Author

Zalathar commented Jan 6, 2026

Rollup of everything.

@bors r+ rollup=never p=5

@bors
Copy link
Collaborator

bors commented Jan 6, 2026

📌 Commit 685a1fe has been approved by Zalathar

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jan 6, 2026
@bors
Copy link
Collaborator

bors commented Jan 6, 2026

⌛ Testing commit 685a1fe with merge 612515a...

bors added a commit that referenced this pull request Jan 6, 2026
Rollup of 8 pull requests

Successful merges:

 - #144113 (Impls and impl items inherit `dead_code` lint level of the corresponding traits and trait items)
 - #149880 (rustc_codegen_llvm: update alignment for double on AIX)
 - #150668 (Unix implementation for stdio set/take/replace)
 - #150670 (THIR pattern building: Move all `thir::Pat` creation into `rustc_mir_build::thir::pattern`)
 - #150695 (MGCA: pretty printing for struct expressions and tuple calls )
 - #150698 (Improve comment clarity in candidate_may_shadow)
 - #150706 (Update wasm-component-ld)
 - #150710 (Update libc dependency of std)

r? `@ghost`
`@rustbot` modify labels: rollup
@rust-log-analyzer
Copy link
Collaborator

The job dist-ohos-armv7 failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
   Compiling addr2line v0.25.1
[RUSTC-TIMING] addr2line test:false 0.662
[RUSTC-TIMING] gimli test:false 4.392
[RUSTC-TIMING] object test:false 5.789
error[E0609]: no field `st_atime` on type `&libc::stat`
   --> /rustc/612515a794d7daf2db1ed555499f8002bca1a123/library/std/src/os/linux/fs.rs:370:30
    |
370 |         file_attr.as_inner().st_atime as i64
    |                              ^^^^^^^^ unknown field
    |
help: a field with a similar name exists
    |
370 -         file_attr.as_inner().st_atime as i64
370 +         file_attr.as_inner().st_atim as i64
    |

error[E0609]: no field `st_atime_nsec` on type `&libc::stat`
   --> /rustc/612515a794d7daf2db1ed555499f8002bca1a123/library/std/src/os/linux/fs.rs:373:36
    |
373 |         self.as_inner().as_inner().st_atime_nsec as i64
    |                                    ^^^^^^^^^^^^^ unknown field
    |
    = note: available fields are: `st_dev`, `st_mode`, `st_nlink`, `st_uid`, `st_gid` ... and 8 others

error[E0609]: no field `st_mtime` on type `&libc::stat`
   --> /rustc/612515a794d7daf2db1ed555499f8002bca1a123/library/std/src/os/linux/fs.rs:381:30
    |
381 |         file_attr.as_inner().st_mtime as i64
    |                              ^^^^^^^^ unknown field
    |
help: a field with a similar name exists
    |
381 -         file_attr.as_inner().st_mtime as i64
381 +         file_attr.as_inner().st_mtim as i64
    |

error[E0609]: no field `st_mtime_nsec` on type `&libc::stat`
   --> /rustc/612515a794d7daf2db1ed555499f8002bca1a123/library/std/src/os/linux/fs.rs:384:36
    |
384 |         self.as_inner().as_inner().st_mtime_nsec as i64
    |                                    ^^^^^^^^^^^^^ unknown field
    |
    = note: available fields are: `st_dev`, `st_mode`, `st_nlink`, `st_uid`, `st_gid` ... and 8 others

error[E0609]: no field `st_ctime` on type `&libc::stat`
   --> /rustc/612515a794d7daf2db1ed555499f8002bca1a123/library/std/src/os/linux/fs.rs:392:30
    |
392 |         file_attr.as_inner().st_ctime as i64
    |                              ^^^^^^^^ unknown field
    |
help: a field with a similar name exists
    |
392 -         file_attr.as_inner().st_ctime as i64
392 +         file_attr.as_inner().st_ctim as i64
    |

error[E0609]: no field `st_ctime_nsec` on type `&libc::stat`
   --> /rustc/612515a794d7daf2db1ed555499f8002bca1a123/library/std/src/os/linux/fs.rs:395:36
    |
395 |         self.as_inner().as_inner().st_ctime_nsec as i64
    |                                    ^^^^^^^^^^^^^ unknown field
    |
    = note: available fields are: `st_dev`, `st_mode`, `st_nlink`, `st_uid`, `st_gid` ... and 8 others

error: cannot construct `timespec` with struct literal syntax due to private fields
  --> /rustc/612515a794d7daf2db1ed555499f8002bca1a123/library/std/src/sys/pal/unix/time.rs:11:5
   |
11 |     libc::timespec { tv_sec: <libc::time_t>::MAX, tv_nsec: 1_000_000_000 - 1 };
   |     ^^^^^^^^^^^^^^
   |
   = note: ...and other private field `__pad0` that was not provided

error: cannot construct `timespec` with struct literal syntax due to private fields
   --> /rustc/612515a794d7daf2db1ed555499f8002bca1a123/library/std/src/sys/pal/unix/time.rs:208:14
    |
208 |         Some(libc::timespec {
    |              ^^^^^^^^^^^^^^
    |
    = note: ...and other private field `__pad0` that was not provided

error[E0609]: no field `st_mtime` on type `libc::stat`
   --> /rustc/612515a794d7daf2db1ed555499f8002bca1a123/library/std/src/sys/fs/unix.rs:633:35
    |
633 |         SystemTime::new(self.stat.st_mtime as i64, self.stat.st_mtime_nsec as i64)
    |                                   ^^^^^^^^ unknown field
    |
help: a field with a similar name exists
    |
633 -         SystemTime::new(self.stat.st_mtime as i64, self.stat.st_mtime_nsec as i64)
633 +         SystemTime::new(self.stat.st_mtim as i64, self.stat.st_mtime_nsec as i64)
    |

error[E0609]: no field `st_mtime_nsec` on type `libc::stat`
   --> /rustc/612515a794d7daf2db1ed555499f8002bca1a123/library/std/src/sys/fs/unix.rs:633:62
    |
633 |         SystemTime::new(self.stat.st_mtime as i64, self.stat.st_mtime_nsec as i64)
    |                                                              ^^^^^^^^^^^^^ unknown field
    |
    = note: available fields are: `st_dev`, `st_mode`, `st_nlink`, `st_uid`, `st_gid` ... and 8 others

error[E0609]: no field `st_atime` on type `libc::stat`
   --> /rustc/612515a794d7daf2db1ed555499f8002bca1a123/library/std/src/sys/fs/unix.rs:668:35
    |
668 |         SystemTime::new(self.stat.st_atime as i64, self.stat.st_atime_nsec as i64)
    |                                   ^^^^^^^^ unknown field
    |
help: a field with a similar name exists
    |
668 -         SystemTime::new(self.stat.st_atime as i64, self.stat.st_atime_nsec as i64)
668 +         SystemTime::new(self.stat.st_atim as i64, self.stat.st_atime_nsec as i64)
    |

error[E0609]: no field `st_atime_nsec` on type `libc::stat`
   --> /rustc/612515a794d7daf2db1ed555499f8002bca1a123/library/std/src/sys/fs/unix.rs:668:62
    |
668 |         SystemTime::new(self.stat.st_atime as i64, self.stat.st_atime_nsec as i64)
    |                                                              ^^^^^^^^^^^^^ unknown field
    |
    = note: available fields are: `st_dev`, `st_mode`, `st_nlink`, `st_uid`, `st_gid` ... and 8 others

error: cannot construct `timespec` with struct literal syntax due to private fields
    --> /rustc/612515a794d7daf2db1ed555499f8002bca1a123/library/std/src/sys/fs/unix.rs:1865:20
     |
1865 |         None => Ok(libc::timespec { tv_sec: 0, tv_nsec: libc::UTIME_OMIT as _ }),
     |                    ^^^^^^^^^^^^^^
     |
     = note: ...and other private field `__pad0` that was not provided

error: cannot construct `timespec` with struct literal syntax due to private fields
   --> /rustc/612515a794d7daf2db1ed555499f8002bca1a123/library/std/src/sys/thread/unix.rs:532:26
    |
532 |             let mut ts = libc::timespec {
    |                          ^^^^^^^^^^^^^^
    |
    = note: ...and other private field `__pad0` that was not provided

For more information about this error, try `rustc --explain E0609`.
[RUSTC-TIMING] std test:false 3.674
error: could not compile `std` (lib) due to 14 previous errors
Bootstrap failed while executing `dist --host=armv7-unknown-linux-ohos --target armv7-unknown-linux-ohos`

@bors
Copy link
Collaborator

bors commented Jan 6, 2026

💔 Test failed - checks-actions

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Jan 6, 2026
@Zalathar Zalathar closed this Jan 6, 2026
@rustbot rustbot removed the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Jan 6, 2026
@Zalathar Zalathar deleted the rollup-x9dqkhk branch January 6, 2026 05:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. O-unix Operating system: Unix-like rollup A PR which is a rollup T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants