Skip to content

Commit cb7b592

Browse files
Make the clone_unchecked a function that does not return errors. (#4362)
## Motivation An examination of the source code reveals that `clone_unchecked` never returns an error. The case of `?` are due to the calls to `clone_unchecked`. ## Proposal Remove the error case. Note that there are second order effects. For example `fn chain_state_view` no longer needs to return an error. But this is for subsequent works. ## Test Plan CI,. ## Release Plan - Nothing to do / These changes follow the usual release cycle. ## Links None
1 parent 8e07a73 commit cb7b592

24 files changed

+122
-122
lines changed

linera-core/src/chain_worker/state/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -222,7 +222,7 @@ where
222222
&mut self,
223223
) -> Result<OwnedRwLockReadGuard<ChainStateView<StorageClient::Context>>, WorkerError> {
224224
if self.shared_chain_view.is_none() {
225-
self.shared_chain_view = Some(Arc::new(RwLock::new(self.chain.clone_unchecked()?)));
225+
self.shared_chain_view = Some(Arc::new(RwLock::new(self.chain.clone_unchecked())));
226226
}
227227

228228
Ok(self

linera-service/src/exporter/state.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ where
6969
);
7070

7171
let states = view.destination_states.get().clone();
72-
let canonical_state = view.canonical_state.clone_unchecked()?;
72+
let canonical_state = view.canonical_state.clone_unchecked();
7373

7474
Ok((view, canonical_state, states))
7575
}

linera-service/src/exporter/storage.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -431,7 +431,7 @@ where
431431
count: self.count,
432432
state_cache: self.state_cache.clone(),
433433
state_updates_buffer: self.state_updates_buffer.clone(),
434-
state_context: self.state_context.clone_unchecked()?,
434+
state_context: self.state_context.clone_unchecked(),
435435
})
436436
}
437437

linera-views-derive/src/lib.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -345,7 +345,7 @@ fn generate_clonable_view_code(input: ItemStruct) -> TokenStream2 {
345345
let name = &field.ident;
346346
let ty = &field.ty;
347347
clone_constraints.push(quote! { #ty: ClonableView });
348-
clone_fields.push(quote! { #name: self.#name.clone_unchecked()? });
348+
clone_fields.push(quote! { #name: self.#name.clone_unchecked() });
349349
}
350350

351351
quote! {
@@ -355,10 +355,10 @@ fn generate_clonable_view_code(input: ItemStruct) -> TokenStream2 {
355355
#(#clone_constraints,)*
356356
Self: linera_views::views::View,
357357
{
358-
fn clone_unchecked(&mut self) -> Result<Self, linera_views::ViewError> {
359-
Ok(Self {
358+
fn clone_unchecked(&mut self) -> Self {
359+
Self {
360360
#(#clone_fields,)*
361-
})
361+
}
362362
}
363363
}
364364
}

linera-views-derive/src/snapshots/linera_views_derive__tests__generate_clonable_view_code-2.snap

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ where
99
CollectionView<C, usize, RegisterView<C, usize>>: ClonableView,
1010
Self: linera_views::views::View,
1111
{
12-
fn clone_unchecked(&mut self) -> Result<Self, linera_views::ViewError> {
13-
Ok(Self {
14-
register: self.register.clone_unchecked()?,
15-
collection: self.collection.clone_unchecked()?,
16-
})
12+
fn clone_unchecked(&mut self) -> Self {
13+
Self {
14+
register: self.register.clone_unchecked(),
15+
collection: self.collection.clone_unchecked(),
16+
}
1717
}
1818
}

linera-views-derive/src/snapshots/linera_views_derive__tests__generate_clonable_view_code-3.snap

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ where
1212
>: ClonableView,
1313
Self: linera_views::views::View,
1414
{
15-
fn clone_unchecked(&mut self) -> Result<Self, linera_views::ViewError> {
16-
Ok(Self {
17-
register: self.register.clone_unchecked()?,
18-
collection: self.collection.clone_unchecked()?,
19-
})
15+
fn clone_unchecked(&mut self) -> Self {
16+
Self {
17+
register: self.register.clone_unchecked(),
18+
collection: self.collection.clone_unchecked(),
19+
}
2020
}
2121
}

linera-views-derive/src/snapshots/linera_views_derive__tests__generate_clonable_view_code-4.snap

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@ where
1313
>: ClonableView,
1414
Self: linera_views::views::View,
1515
{
16-
fn clone_unchecked(&mut self) -> Result<Self, linera_views::ViewError> {
17-
Ok(Self {
18-
register: self.register.clone_unchecked()?,
19-
collection: self.collection.clone_unchecked()?,
20-
})
16+
fn clone_unchecked(&mut self) -> Self {
17+
Self {
18+
register: self.register.clone_unchecked(),
19+
collection: self.collection.clone_unchecked(),
20+
}
2121
}
2222
}

linera-views-derive/src/snapshots/linera_views_derive__tests__generate_clonable_view_code-5.snap

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ where
1212
>: ClonableView,
1313
Self: linera_views::views::View,
1414
{
15-
fn clone_unchecked(&mut self) -> Result<Self, linera_views::ViewError> {
16-
Ok(Self {
17-
register: self.register.clone_unchecked()?,
18-
collection: self.collection.clone_unchecked()?,
19-
})
15+
fn clone_unchecked(&mut self) -> Self {
16+
Self {
17+
register: self.register.clone_unchecked(),
18+
collection: self.collection.clone_unchecked(),
19+
}
2020
}
2121
}

linera-views-derive/src/snapshots/linera_views_derive__tests__generate_clonable_view_code-6.snap

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@ where
1313
>: ClonableView,
1414
Self: linera_views::views::View,
1515
{
16-
fn clone_unchecked(&mut self) -> Result<Self, linera_views::ViewError> {
17-
Ok(Self {
18-
register: self.register.clone_unchecked()?,
19-
collection: self.collection.clone_unchecked()?,
20-
})
16+
fn clone_unchecked(&mut self) -> Self {
17+
Self {
18+
register: self.register.clone_unchecked(),
19+
collection: self.collection.clone_unchecked(),
20+
}
2121
}
2222
}

linera-views-derive/src/snapshots/linera_views_derive__tests__generate_clonable_view_code-7.snap

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ where
1212
>: ClonableView,
1313
Self: linera_views::views::View,
1414
{
15-
fn clone_unchecked(&mut self) -> Result<Self, linera_views::ViewError> {
16-
Ok(Self {
17-
register: self.register.clone_unchecked()?,
18-
collection: self.collection.clone_unchecked()?,
19-
})
15+
fn clone_unchecked(&mut self) -> Self {
16+
Self {
17+
register: self.register.clone_unchecked(),
18+
collection: self.collection.clone_unchecked(),
19+
}
2020
}
2121
}

0 commit comments

Comments
 (0)