1
Fork 0

Auto merge of #121635 - 823984418:remove_archive_builder_lifetime_a, r=nnethercote

Remove useless lifetime of ArchiveBuilder

`trait ArchiveBuilder<'a>` has a seemingly useless lifetime a, so I remove it. If this is intentional, please reject this PR.

```rust
pub trait ArchiveBuilder<'a> {
    fn add_file(&mut self, path: &Path);

    fn add_archive(
        &mut self,
        archive: &Path,
        skip: Box<dyn FnMut(&str) -> bool + 'static>,
    ) -> io::Result<()>;

    fn build(self: Box<Self>, output: &Path) -> bool;
}
```
This commit is contained in:
bors 2024-02-27 03:27:48 +00:00
commit 91cae1dcdc
5 changed files with 8 additions and 8 deletions

View file

@ -8,7 +8,7 @@ use rustc_session::Session;
pub(crate) struct ArArchiveBuilderBuilder; pub(crate) struct ArArchiveBuilderBuilder;
impl ArchiveBuilderBuilder for ArArchiveBuilderBuilder { impl ArchiveBuilderBuilder for ArArchiveBuilderBuilder {
fn new_archive_builder<'a>(&self, sess: &'a Session) -> Box<dyn ArchiveBuilder<'a> + 'a> { fn new_archive_builder<'a>(&self, sess: &'a Session) -> Box<dyn ArchiveBuilder + 'a> {
Box::new(ArArchiveBuilder::new(sess, get_native_object_symbols)) Box::new(ArArchiveBuilder::new(sess, get_native_object_symbols))
} }

View file

@ -10,7 +10,7 @@ use rustc_session::cstore::DllImport;
pub(crate) struct ArArchiveBuilderBuilder; pub(crate) struct ArArchiveBuilderBuilder;
impl ArchiveBuilderBuilder for ArArchiveBuilderBuilder { impl ArchiveBuilderBuilder for ArArchiveBuilderBuilder {
fn new_archive_builder<'a>(&self, sess: &'a Session) -> Box<dyn ArchiveBuilder<'a> + 'a> { fn new_archive_builder<'a>(&self, sess: &'a Session) -> Box<dyn ArchiveBuilder + 'a> {
Box::new(ArArchiveBuilder::new(sess, get_native_object_symbols)) Box::new(ArArchiveBuilder::new(sess, get_native_object_symbols))
} }

View file

@ -60,7 +60,7 @@ fn llvm_machine_type(cpu: &str) -> LLVMMachineType {
} }
} }
impl<'a> ArchiveBuilder<'a> for LlvmArchiveBuilder<'a> { impl<'a> ArchiveBuilder for LlvmArchiveBuilder<'a> {
fn add_archive( fn add_archive(
&mut self, &mut self,
archive: &Path, archive: &Path,
@ -107,7 +107,7 @@ impl<'a> ArchiveBuilder<'a> for LlvmArchiveBuilder<'a> {
pub struct LlvmArchiveBuilderBuilder; pub struct LlvmArchiveBuilderBuilder;
impl ArchiveBuilderBuilder for LlvmArchiveBuilderBuilder { impl ArchiveBuilderBuilder for LlvmArchiveBuilderBuilder {
fn new_archive_builder<'a>(&self, sess: &'a Session) -> Box<dyn ArchiveBuilder<'a> + 'a> { fn new_archive_builder<'a>(&self, sess: &'a Session) -> Box<dyn ArchiveBuilder + 'a> {
// FIXME use ArArchiveBuilder on most targets again once reading thin archives is // FIXME use ArArchiveBuilder on most targets again once reading thin archives is
// implemented // implemented
if true { if true {

View file

@ -21,7 +21,7 @@ use std::path::{Path, PathBuf};
pub use crate::errors::{ArchiveBuildFailure, ExtractBundledLibsError, UnknownArchiveKind}; pub use crate::errors::{ArchiveBuildFailure, ExtractBundledLibsError, UnknownArchiveKind};
pub trait ArchiveBuilderBuilder { pub trait ArchiveBuilderBuilder {
fn new_archive_builder<'a>(&self, sess: &'a Session) -> Box<dyn ArchiveBuilder<'a> + 'a>; fn new_archive_builder<'a>(&self, sess: &'a Session) -> Box<dyn ArchiveBuilder + 'a>;
/// Creates a DLL Import Library <https://docs.microsoft.com/en-us/windows/win32/dlls/dynamic-link-library-creation#creating-an-import-library>. /// Creates a DLL Import Library <https://docs.microsoft.com/en-us/windows/win32/dlls/dynamic-link-library-creation#creating-an-import-library>.
/// and returns the path on disk to that import library. /// and returns the path on disk to that import library.
@ -74,7 +74,7 @@ pub trait ArchiveBuilderBuilder {
} }
} }
pub trait ArchiveBuilder<'a> { pub trait ArchiveBuilder {
fn add_file(&mut self, path: &Path); fn add_file(&mut self, path: &Path);
fn add_archive( fn add_archive(
@ -167,7 +167,7 @@ pub fn try_extract_macho_fat_archive(
} }
} }
impl<'a> ArchiveBuilder<'a> for ArArchiveBuilder<'a> { impl<'a> ArchiveBuilder for ArArchiveBuilder<'a> {
fn add_archive( fn add_archive(
&mut self, &mut self,
archive_path: &Path, archive_path: &Path,

View file

@ -308,7 +308,7 @@ fn link_rlib<'a>(
codegen_results: &CodegenResults, codegen_results: &CodegenResults,
flavor: RlibFlavor, flavor: RlibFlavor,
tmpdir: &MaybeTempDir, tmpdir: &MaybeTempDir,
) -> Result<Box<dyn ArchiveBuilder<'a> + 'a>, ErrorGuaranteed> { ) -> Result<Box<dyn ArchiveBuilder + 'a>, ErrorGuaranteed> {
let lib_search_paths = archive_search_paths(sess); let lib_search_paths = archive_search_paths(sess);
let mut ab = archive_builder_builder.new_archive_builder(sess); let mut ab = archive_builder_builder.new_archive_builder(sess);