Serial-ATA/lofty-rs
View on GitHubDocument that `remove_<tag>` and `TagType::remove_from` are not equivalent
Open
#610 opened on Feb 14, 2026
docsgood first issue
Repository metrics
- Stars
- (342 stars)
- PR merge metrics
- (PR metrics pending)
Description
<File>::remove_<tag> will only remove the tag in memory, it does not affect the final write. TagType::remove_from() will remove the tag on disk.
For example:
let mut file = File::open("foo.flac").unwrap();
let mut flac = FlacFile::read_from(&mut file).unwrap();
flac.remove_id3v2();
Will remove the tag from the FlacFile. That's useful if the tags from the FlacFile need to be copied to another file, without first needing to strip the ID3v2 tags from it.
TagType::Id3v2.remove_from_path("foo.flac").unwrap();
// or
let mut file = File::open("foo.flac").unwrap();
TagType::Id3v2.remove_from(&mut file).unwrap();
This is what actually removes the ID3v2 tag on disk.