mirror of
https://github.com/fluencelabs/rust-libp2p
synced 2025-06-18 04:21:22 +00:00
swarm/src/lib: Remove Deref and DerefMut impls on Swarm (#1995)
Remove `Deref` and `DerefMut` implementations previously dereferencing to the `NetworkBehaviour` on `Swarm`. Instead one can access the `NetworkBehaviour` via `Swarm::behaviour` and `Swarm::behaviour_mut`. Methods on `Swarm` can now be accessed directly, e.g. via `my_swarm.local_peer_id()`. Reasoning: Accessing the `NetworkBehaviour` of a `Swarm` through `Deref` and `DerefMut` instead of a method call is an unnecessary complication, especially for newcomers. In addition, `Swarm` is not a smart-pointer and should thus not make use of `Deref` and `DerefMut`, see documentation from the standard library below. > Deref should only be implemented for smart pointers to avoid confusion. https://doc.rust-lang.org/std/ops/trait.Deref.html
This commit is contained in:
@ -118,7 +118,7 @@
|
||||
//!
|
||||
//! // Listen on a memory transport.
|
||||
//! let memory: Multiaddr = libp2p_core::multiaddr::Protocol::Memory(10).into();
|
||||
//! let addr = libp2p_swarm::Swarm::listen_on(&mut swarm, memory).unwrap();
|
||||
//! let addr = swarm.listen_on(memory).unwrap();
|
||||
//! println!("Listening on {:?}", addr);
|
||||
//! ```
|
||||
|
||||
|
Reference in New Issue
Block a user