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_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>;
|
fn segment_name(&self) -> Option<String>;
|
||||||
|
|
||||||
|
@ -686,14 +686,14 @@ impl<'a> CompositeIndex<'a> {
|
||||||
num_commits: self.0.segment_num_commits(),
|
num_commits: self.0.segment_num_commits(),
|
||||||
name: self.0.segment_name(),
|
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() {
|
while parent_file.is_some() {
|
||||||
let file = parent_file.as_ref().unwrap();
|
let file = parent_file.as_ref().unwrap();
|
||||||
levels.push(IndexLevelStats {
|
levels.push(IndexLevelStats {
|
||||||
num_commits: file.segment_num_commits(),
|
num_commits: file.segment_num_commits(),
|
||||||
name: file.segment_name(),
|
name: file.segment_name(),
|
||||||
});
|
});
|
||||||
parent_file = file.segment_parent_file().clone();
|
parent_file = file.segment_parent_file().cloned();
|
||||||
}
|
}
|
||||||
levels.reverse();
|
levels.reverse();
|
||||||
|
|
||||||
|
@ -712,8 +712,7 @@ impl<'a> CompositeIndex<'a> {
|
||||||
if pos.0 >= num_parent_commits {
|
if pos.0 >= num_parent_commits {
|
||||||
self.0.segment_entry_by_pos(pos, pos.0 - num_parent_commits)
|
self.0.segment_entry_by_pos(pos, pos.0 - num_parent_commits)
|
||||||
} else {
|
} else {
|
||||||
let parent_file: &ReadonlyIndex =
|
let parent_file: &ReadonlyIndex = self.0.segment_parent_file().unwrap().as_ref();
|
||||||
self.0.segment_parent_file().as_ref().unwrap().as_ref();
|
|
||||||
// The parent ReadonlyIndex outlives the child
|
// The parent ReadonlyIndex outlives the child
|
||||||
let parent_file: &'a ReadonlyIndex = unsafe { std::mem::transmute(parent_file) };
|
let parent_file: &'a ReadonlyIndex = unsafe { std::mem::transmute(parent_file) };
|
||||||
|
|
||||||
|
@ -726,7 +725,6 @@ impl<'a> CompositeIndex<'a> {
|
||||||
local_match.or_else(|| {
|
local_match.or_else(|| {
|
||||||
self.0
|
self.0
|
||||||
.segment_parent_file()
|
.segment_parent_file()
|
||||||
.as_ref()
|
|
||||||
.and_then(|file| IndexRef::Readonly(file).commit_id_to_pos(commit_id))
|
.and_then(|file| IndexRef::Readonly(file).commit_id_to_pos(commit_id))
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -740,7 +738,6 @@ impl<'a> CompositeIndex<'a> {
|
||||||
let parent_match = self
|
let parent_match = self
|
||||||
.0
|
.0
|
||||||
.segment_parent_file()
|
.segment_parent_file()
|
||||||
.as_ref()
|
|
||||||
.map_or(PrefixResolution::NoMatch, |file| {
|
.map_or(PrefixResolution::NoMatch, |file| {
|
||||||
file.resolve_prefix(prefix)
|
file.resolve_prefix(prefix)
|
||||||
});
|
});
|
||||||
|
@ -1051,8 +1048,8 @@ impl IndexSegment for ReadonlyIndex {
|
||||||
self.num_local_commits
|
self.num_local_commits
|
||||||
}
|
}
|
||||||
|
|
||||||
fn segment_parent_file(&self) -> &Option<Arc<ReadonlyIndex>> {
|
fn segment_parent_file(&self) -> Option<&Arc<ReadonlyIndex>> {
|
||||||
&self.parent_file
|
self.parent_file.as_ref()
|
||||||
}
|
}
|
||||||
|
|
||||||
fn segment_name(&self) -> Option<String> {
|
fn segment_name(&self) -> Option<String> {
|
||||||
|
@ -1164,8 +1161,8 @@ impl IndexSegment for MutableIndex {
|
||||||
self.graph.len() as u32
|
self.graph.len() as u32
|
||||||
}
|
}
|
||||||
|
|
||||||
fn segment_parent_file(&self) -> &Option<Arc<ReadonlyIndex>> {
|
fn segment_parent_file(&self) -> Option<&Arc<ReadonlyIndex>> {
|
||||||
&self.parent_file
|
self.parent_file.as_ref()
|
||||||
}
|
}
|
||||||
|
|
||||||
fn segment_name(&self) -> Option<String> {
|
fn segment_name(&self) -> Option<String> {
|
||||||
|
|
|
@ -37,7 +37,7 @@ use crate::lock::FileLock;
|
||||||
|
|
||||||
pub trait TableSegment {
|
pub trait TableSegment {
|
||||||
fn segment_num_entries(&self) -> usize;
|
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_get_value(&self, key: &[u8]) -> Option<&[u8]>;
|
||||||
fn segment_add_entries_to(&self, mut_table: &mut MutableTable);
|
fn segment_add_entries_to(&self, mut_table: &mut MutableTable);
|
||||||
|
|
||||||
|
@ -130,8 +130,8 @@ impl TableSegment for ReadonlyTable {
|
||||||
self.num_local_entries
|
self.num_local_entries
|
||||||
}
|
}
|
||||||
|
|
||||||
fn segment_parent_file(&self) -> &Option<Arc<ReadonlyTable>> {
|
fn segment_parent_file(&self) -> Option<&Arc<ReadonlyTable>> {
|
||||||
&self.parent_file
|
self.parent_file.as_ref()
|
||||||
}
|
}
|
||||||
|
|
||||||
fn segment_get_value(&self, key: &[u8]) -> Option<&[u8]> {
|
fn segment_get_value(&self, key: &[u8]) -> Option<&[u8]> {
|
||||||
|
@ -350,8 +350,8 @@ impl TableSegment for MutableTable {
|
||||||
self.entries.len()
|
self.entries.len()
|
||||||
}
|
}
|
||||||
|
|
||||||
fn segment_parent_file(&self) -> &Option<Arc<ReadonlyTable>> {
|
fn segment_parent_file(&self) -> Option<&Arc<ReadonlyTable>> {
|
||||||
&self.parent_file
|
self.parent_file.as_ref()
|
||||||
}
|
}
|
||||||
|
|
||||||
fn segment_get_value(&self, key: &[u8]) -> Option<&[u8]> {
|
fn segment_get_value(&self, key: &[u8]) -> Option<&[u8]> {
|
||||||
|
|
Loading…
Reference in a new issue