mirror of
https://github.com/martinvonz/jj.git
synced 2025-02-05 11:05:46 +00:00
cleanup: prefer Option<&T>
over &Option<T>
It seems to me like `Option<&T>` is pretty much always better to return than `&Option<T>`.
This commit is contained in:
parent
c2ba83af71
commit
3305e045ef
2 changed files with 13 additions and 16 deletions
|
@ -634,7 +634,7 @@ trait IndexSegment {
|
|||
|
||||
fn segment_num_commits(&self) -> u32;
|
||||
|
||||
fn segment_parent_file(&self) -> &Option<Arc<ReadonlyIndex>>;
|
||||
fn segment_parent_file(&self) -> Option<&Arc<ReadonlyIndex>>;
|
||||
|
||||
fn segment_name(&self) -> Option<String>;
|
||||
|
||||
|
@ -686,14 +686,14 @@ impl<'a> CompositeIndex<'a> {
|
|||
num_commits: self.0.segment_num_commits(),
|
||||
name: self.0.segment_name(),
|
||||
}];
|
||||
let mut parent_file = self.0.segment_parent_file().clone();
|
||||
let mut parent_file = self.0.segment_parent_file().cloned();
|
||||
while parent_file.is_some() {
|
||||
let file = parent_file.as_ref().unwrap();
|
||||
levels.push(IndexLevelStats {
|
||||
num_commits: file.segment_num_commits(),
|
||||
name: file.segment_name(),
|
||||
});
|
||||
parent_file = file.segment_parent_file().clone();
|
||||
parent_file = file.segment_parent_file().cloned();
|
||||
}
|
||||
levels.reverse();
|
||||
|
||||
|
@ -712,8 +712,7 @@ impl<'a> CompositeIndex<'a> {
|
|||
if pos.0 >= num_parent_commits {
|
||||
self.0.segment_entry_by_pos(pos, pos.0 - num_parent_commits)
|
||||
} else {
|
||||
let parent_file: &ReadonlyIndex =
|
||||
self.0.segment_parent_file().as_ref().unwrap().as_ref();
|
||||
let parent_file: &ReadonlyIndex = self.0.segment_parent_file().unwrap().as_ref();
|
||||
// The parent ReadonlyIndex outlives the child
|
||||
let parent_file: &'a ReadonlyIndex = unsafe { std::mem::transmute(parent_file) };
|
||||
|
||||
|
@ -726,7 +725,6 @@ impl<'a> CompositeIndex<'a> {
|
|||
local_match.or_else(|| {
|
||||
self.0
|
||||
.segment_parent_file()
|
||||
.as_ref()
|
||||
.and_then(|file| IndexRef::Readonly(file).commit_id_to_pos(commit_id))
|
||||
})
|
||||
}
|
||||
|
@ -740,7 +738,6 @@ impl<'a> CompositeIndex<'a> {
|
|||
let parent_match = self
|
||||
.0
|
||||
.segment_parent_file()
|
||||
.as_ref()
|
||||
.map_or(PrefixResolution::NoMatch, |file| {
|
||||
file.resolve_prefix(prefix)
|
||||
});
|
||||
|
@ -1051,8 +1048,8 @@ impl IndexSegment for ReadonlyIndex {
|
|||
self.num_local_commits
|
||||
}
|
||||
|
||||
fn segment_parent_file(&self) -> &Option<Arc<ReadonlyIndex>> {
|
||||
&self.parent_file
|
||||
fn segment_parent_file(&self) -> Option<&Arc<ReadonlyIndex>> {
|
||||
self.parent_file.as_ref()
|
||||
}
|
||||
|
||||
fn segment_name(&self) -> Option<String> {
|
||||
|
@ -1164,8 +1161,8 @@ impl IndexSegment for MutableIndex {
|
|||
self.graph.len() as u32
|
||||
}
|
||||
|
||||
fn segment_parent_file(&self) -> &Option<Arc<ReadonlyIndex>> {
|
||||
&self.parent_file
|
||||
fn segment_parent_file(&self) -> Option<&Arc<ReadonlyIndex>> {
|
||||
self.parent_file.as_ref()
|
||||
}
|
||||
|
||||
fn segment_name(&self) -> Option<String> {
|
||||
|
|
|
@ -37,7 +37,7 @@ use crate::lock::FileLock;
|
|||
|
||||
pub trait TableSegment {
|
||||
fn segment_num_entries(&self) -> usize;
|
||||
fn segment_parent_file(&self) -> &Option<Arc<ReadonlyTable>>;
|
||||
fn segment_parent_file(&self) -> Option<&Arc<ReadonlyTable>>;
|
||||
fn segment_get_value(&self, key: &[u8]) -> Option<&[u8]>;
|
||||
fn segment_add_entries_to(&self, mut_table: &mut MutableTable);
|
||||
|
||||
|
@ -130,8 +130,8 @@ impl TableSegment for ReadonlyTable {
|
|||
self.num_local_entries
|
||||
}
|
||||
|
||||
fn segment_parent_file(&self) -> &Option<Arc<ReadonlyTable>> {
|
||||
&self.parent_file
|
||||
fn segment_parent_file(&self) -> Option<&Arc<ReadonlyTable>> {
|
||||
self.parent_file.as_ref()
|
||||
}
|
||||
|
||||
fn segment_get_value(&self, key: &[u8]) -> Option<&[u8]> {
|
||||
|
@ -350,8 +350,8 @@ impl TableSegment for MutableTable {
|
|||
self.entries.len()
|
||||
}
|
||||
|
||||
fn segment_parent_file(&self) -> &Option<Arc<ReadonlyTable>> {
|
||||
&self.parent_file
|
||||
fn segment_parent_file(&self) -> Option<&Arc<ReadonlyTable>> {
|
||||
self.parent_file.as_ref()
|
||||
}
|
||||
|
||||
fn segment_get_value(&self, key: &[u8]) -> Option<&[u8]> {
|
||||
|
|
Loading…
Reference in a new issue