rust/library/std/src
许杰友 Jieyou Xu (Joe) 418a07861a
Rollup merge of #124103 - dtolnay:metadatadebug, r=Mark-Simulacrum
Improve std::fs::Metadata Debug representation

- Remove duplication of `mode` between `file_type` and `permissions`, which both involve operating on the same mode_t integer
- Add `is_symlink`
- Add `len` in bytes
- Remove Ok wrapping around `modified`, `accessed`, `created`, which eliminates 6 useless lines

<table>
<tr><th>Before</th><th>After</th></tr>
<tr><td>

```console
Metadata {
    file_type: FileType(
        FileType {
            mode: 0o100600 (-rw-------),
        },
    ),
    is_dir: false,
    is_file: true,
    permissions: Permissions(
        FilePermissions {
            mode: 0o100600 (-rw-------),
        },
    ),
    modified: Ok(
        SystemTime {
            tv_sec: 1713402981,
            tv_nsec: 682983531,
        },
    ),
    accessed: Ok(
        SystemTime {
            tv_sec: 1713402983,
            tv_nsec: 206999623,
        },
    ),
    created: Ok(
        SystemTime {
            tv_sec: 1713402981,
            tv_nsec: 682983531,
        },
    ),
    ..
}
```
</td><td>

```console
Metadata {
    file_type: FileType {
        is_file: true,
        is_dir: false,
        is_symlink: false,
        ..
    },
    permissions: Permissions(
        FilePermissions {
            mode: 0o100600 (-rw-------),
        },
    ),
    len: 2096,
    modified: SystemTime {
        tv_sec: 1713402981,
        tv_nsec: 682983531,
    },
    accessed: SystemTime {
        tv_sec: 1713402983,
        tv_nsec: 206999623,
    },
    created: SystemTime {
        tv_sec: 1713402981,
        tv_nsec: 682983531,
    },
    ..
}

```
</td></tr></table>

Generated by:

```rust
fn main() {
    println!("{:#?}", std::fs::metadata("Cargo.toml").unwrap());
}
```
2024-04-20 21:45:37 +01:00
..
backtrace remove redundant imports 2023-12-10 10:56:22 +08:00
collections Rollup merge of #122201 - coolreader18:doc-clone_from, r=dtolnay 2024-04-17 18:01:37 +02:00
env remove redundant imports 2023-12-10 10:56:22 +08:00
error core/any: remove Provider trait 2023-08-13 13:07:53 -06:00
f16 Add basic f16 and f128 modules 2024-04-10 13:50:27 -04:00
f32 Add gamma and ln_gamma functions to f32 and f64 2023-07-31 07:41:50 -07:00
f64 Add gamma and ln_gamma functions to f32 and f64 2023-07-31 07:41:50 -07:00
f128 Add basic f16 and f128 modules 2024-04-10 13:50:27 -04:00
ffi Rollup merge of #122201 - coolreader18:doc-clone_from, r=dtolnay 2024-04-17 18:01:37 +02:00
fs Rollup merge of #120900 - marcospb19:std-use-seek-stream-position, r=joshtriplett 2024-04-14 23:24:32 +02:00
hash update version placeholders 2023-12-22 11:01:42 +01:00
io Stabilize const_io_structs 2024-04-17 08:09:13 +08:00
net SeqCst->Relaxed in std::net::test. 2024-03-20 15:35:13 +01:00
num removed nonfunctioning benchmark 2024-01-11 11:30:12 -05:00
os Auto merge of #122268 - ChrisDenton:no-libc, r=Mark-Simulacrum 2024-04-14 13:28:21 +00:00
panic review: fix nits and move panic safety tests to the correct place 2020-09-25 23:10:24 +02:00
path remove redundant imports 2023-12-10 10:56:22 +08:00
prelude Remove RustcEncodable/Decodable from 2024 prelude 2024-03-22 13:30:48 -07:00
process Rollup merge of #114379 - RalfJung:command-removed-env-vars, r=m-ou-se 2023-09-22 12:15:25 +02:00
sync Rollup merge of #114788 - tisonkun:get_mut_or_init, r=dtolnay 2024-04-06 13:00:04 +02:00
sys Rollup merge of #123967 - RalfJung:static_mut_refs, r=Nilstrieb 2024-04-20 21:45:35 +01:00
sys_common Rollup merge of #123857 - devnexen:tcp_listener_update_backlog, r=ChrisDenton 2024-04-12 21:46:59 +02:00
thread Rollup merge of #123879 - beetrees:missing-unsafe, r=Mark-Simulacrum 2024-04-14 09:01:58 +02:00
time Rollup merge of #103056 - beetrees:timespec-bug-fix, r=thomcc 2023-05-05 18:40:32 +05:30
alloc.rs SeqCst->{Release,Acquire} for alloc error hook. 2024-03-19 15:27:11 +01:00
ascii.rs Add the basic ascii::Char type 2023-05-03 22:09:33 -07:00
backtrace.rs rename ptr::invalid -> ptr::without_provenance 2024-02-21 20:15:52 +01:00
env.rs Remove doc aliases to PATH 2024-02-29 14:28:47 -05:00
error.rs Clean dead codes 2023-11-26 09:25:07 +08:00
f16.rs Add basic f16 and f128 modules 2024-04-10 13:50:27 -04:00
f32.rs Use the guaranteed precision of a couple of float functions in docs 2024-03-01 18:57:42 +01:00
f64.rs Use the guaranteed precision of a couple of float functions in docs 2024-03-01 18:57:42 +01:00
f128.rs Add basic f16 and f128 modules 2024-04-10 13:50:27 -04:00
fs.rs Improve std::fs::Metadata Debug representation 2024-04-17 18:43:29 -07:00
keyword_docs.rs Mention labelled blocks in break docs 2024-03-15 10:51:57 -07:00
lib.miri.rs add 'x.py miri', and make it work for 'library/{core,alloc,std}' 2024-04-03 20:27:20 +02:00
lib.rs Auto merge of #123144 - dpaoliello:arm64eclib, r=GuillaumeGomez,ChrisDenton,wesleywiser 2024-04-18 12:22:52 +00:00
macros.rs added column number to dbg!() 2023-12-12 18:12:23 +08:00
num.rs Switch NonZero alias direction. 2024-01-27 16:38:57 +01:00
panic.rs catch_panic: warn about panicking payload drop 2024-03-31 11:54:16 +02:00
panicking.rs when suggesting RUST_BACKTRACE=1, add a special note for Miri's env var isolation 2024-04-18 12:05:08 +02:00
pat.rs Add pattern types to parser 2024-04-08 11:57:17 +00:00
path.rs Rollup merge of #122201 - coolreader18:doc-clone_from, r=dtolnay 2024-04-17 18:01:37 +02:00
process.rs Document Windows argument splitting 2024-04-09 01:19:33 +02:00
rt.rs Remove rt::init allocation for thread name 2024-04-04 23:17:15 +01:00
time.rs Rust is a proper name: rust → Rust 2024-03-07 07:49:22 +01:00