mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-22 06:44:35 +00:00
Rollup merge of #116067 - saethlin:meta-stats-ice, r=WaffleLapkin
Open the FileEncoder file for reading and writing Maybe I just don't know `File` well enough, but the previous comment didn't make it clear enough to me that we can't use `File::create`. This one does. Fixes https://github.com/rust-lang/rust/issues/116055 r? `@WaffleLapkin`
This commit is contained in:
commit
efee13ab33
@ -38,11 +38,16 @@ pub struct FileEncoder {
|
||||
|
||||
impl FileEncoder {
|
||||
pub fn new<P: AsRef<Path>>(path: P) -> io::Result<Self> {
|
||||
// File::create opens the file for writing only. When -Zmeta-stats is enabled, the metadata
|
||||
// encoder rewinds the file to inspect what was written. So we need to always open the file
|
||||
// for reading and writing.
|
||||
let file = File::options().read(true).write(true).create(true).truncate(true).open(path)?;
|
||||
|
||||
Ok(FileEncoder {
|
||||
buf: vec![0u8; BUF_SIZE].into_boxed_slice().try_into().unwrap(),
|
||||
buffered: 0,
|
||||
flushed: 0,
|
||||
file: File::create(path)?,
|
||||
file,
|
||||
res: Ok(()),
|
||||
})
|
||||
}
|
||||
|
7
tests/ui/stats/meta-stats.rs
Normal file
7
tests/ui/stats/meta-stats.rs
Normal file
@ -0,0 +1,7 @@
|
||||
// build-pass
|
||||
// dont-check-compiler-stderr
|
||||
// compile-flags: -Zmeta-stats
|
||||
|
||||
#![crate_type = "lib"]
|
||||
|
||||
pub fn a() {}
|
Loading…
Reference in New Issue
Block a user