protocol/workspace: Remove type bounds that aren't required
It seems at least with Rust 1.82 (the version in `rust-toolchain.toml`) these bounds are inferred from the `D: WorkspaceHandler` bound, so they can be specified only there.
This commit is contained in:
parent
85254b47d6
commit
dc67db9a5d
3 changed files with 17 additions and 105 deletions
|
|
@ -7,8 +7,7 @@ use cosmic_protocols::workspace::v2::server::{
|
|||
use smithay::reexports::{
|
||||
wayland_protocols::ext::workspace::v1::server::ext_workspace_handle_v1::ExtWorkspaceHandleV1,
|
||||
wayland_server::{
|
||||
backend::ClientData, Client, DataInit, Dispatch, DisplayHandle, GlobalDispatch, New,
|
||||
Resource, Weak,
|
||||
Client, DataInit, Dispatch, DisplayHandle, GlobalDispatch, New, Resource, Weak,
|
||||
},
|
||||
};
|
||||
use std::sync::Mutex;
|
||||
|
|
@ -31,12 +30,7 @@ pub struct CosmicWorkspaceV2Data {
|
|||
|
||||
impl<D> GlobalDispatch<ZcosmicWorkspaceManagerV2, WorkspaceGlobalData, D> for WorkspaceState<D>
|
||||
where
|
||||
D: GlobalDispatch<ZcosmicWorkspaceManagerV2, WorkspaceGlobalData>
|
||||
+ Dispatch<ZcosmicWorkspaceManagerV2, ()>
|
||||
+ Dispatch<ZcosmicWorkspaceHandleV2, CosmicWorkspaceV2Data>
|
||||
+ WorkspaceHandler
|
||||
+ 'static,
|
||||
<D as WorkspaceHandler>::Client: ClientData + WorkspaceClientHandler + 'static,
|
||||
D: WorkspaceHandler,
|
||||
{
|
||||
fn bind(
|
||||
_state: &mut D,
|
||||
|
|
@ -56,12 +50,7 @@ where
|
|||
|
||||
impl<D> Dispatch<ZcosmicWorkspaceManagerV2, (), D> for WorkspaceState<D>
|
||||
where
|
||||
D: GlobalDispatch<ZcosmicWorkspaceManagerV2, WorkspaceGlobalData>
|
||||
+ Dispatch<ZcosmicWorkspaceManagerV2, ()>
|
||||
+ Dispatch<ZcosmicWorkspaceHandleV2, CosmicWorkspaceV2Data>
|
||||
+ WorkspaceHandler
|
||||
+ 'static,
|
||||
<D as WorkspaceHandler>::Client: ClientData + WorkspaceClientHandler + 'static,
|
||||
D: WorkspaceHandler,
|
||||
{
|
||||
fn request(
|
||||
state: &mut D,
|
||||
|
|
@ -117,12 +106,7 @@ where
|
|||
|
||||
impl<D> Dispatch<ZcosmicWorkspaceHandleV2, CosmicWorkspaceV2Data, D> for WorkspaceState<D>
|
||||
where
|
||||
D: GlobalDispatch<ZcosmicWorkspaceManagerV2, WorkspaceGlobalData>
|
||||
+ Dispatch<ZcosmicWorkspaceManagerV2, ()>
|
||||
+ Dispatch<ZcosmicWorkspaceHandleV2, CosmicWorkspaceV2Data>
|
||||
+ WorkspaceHandler
|
||||
+ 'static,
|
||||
<D as WorkspaceHandler>::Client: ClientData + WorkspaceClientHandler + 'static,
|
||||
D: WorkspaceHandler,
|
||||
{
|
||||
fn request(
|
||||
state: &mut D,
|
||||
|
|
|
|||
|
|
@ -3,8 +3,8 @@
|
|||
use cosmic_protocols::workspace::v2::server::zcosmic_workspace_handle_v2::ZcosmicWorkspaceHandleV2;
|
||||
|
||||
use smithay::reexports::wayland_server::{
|
||||
backend::{ClientData, ClientId},
|
||||
Client, DataInit, Dispatch, DisplayHandle, GlobalDispatch, New, Resource, Weak,
|
||||
backend::ClientId, Client, DataInit, Dispatch, DisplayHandle, GlobalDispatch, New, Resource,
|
||||
Weak,
|
||||
};
|
||||
|
||||
use std::sync::Mutex;
|
||||
|
|
@ -33,13 +33,7 @@ pub type WorkspaceData = Mutex<WorkspaceDataInner>;
|
|||
|
||||
impl<D> GlobalDispatch<ExtWorkspaceManagerV1, WorkspaceGlobalData, D> for WorkspaceState<D>
|
||||
where
|
||||
D: GlobalDispatch<ExtWorkspaceManagerV1, WorkspaceGlobalData>
|
||||
+ Dispatch<ExtWorkspaceManagerV1, ()>
|
||||
+ Dispatch<ExtWorkspaceGroupHandleV1, WorkspaceGroupData>
|
||||
+ Dispatch<ExtWorkspaceHandleV1, WorkspaceData>
|
||||
+ WorkspaceHandler
|
||||
+ 'static,
|
||||
<D as WorkspaceHandler>::Client: ClientData + WorkspaceClientHandler + 'static,
|
||||
D: WorkspaceHandler,
|
||||
{
|
||||
fn bind(
|
||||
state: &mut D,
|
||||
|
|
@ -65,13 +59,7 @@ where
|
|||
|
||||
impl<D> Dispatch<ExtWorkspaceManagerV1, (), D> for WorkspaceState<D>
|
||||
where
|
||||
D: GlobalDispatch<ExtWorkspaceManagerV1, WorkspaceGlobalData>
|
||||
+ Dispatch<ExtWorkspaceManagerV1, ()>
|
||||
+ Dispatch<ExtWorkspaceGroupHandleV1, WorkspaceGroupData>
|
||||
+ Dispatch<ExtWorkspaceHandleV1, WorkspaceData>
|
||||
+ WorkspaceHandler
|
||||
+ 'static,
|
||||
<D as WorkspaceHandler>::Client: ClientData + WorkspaceClientHandler + 'static,
|
||||
D: WorkspaceHandler,
|
||||
{
|
||||
fn request(
|
||||
state: &mut D,
|
||||
|
|
@ -116,13 +104,7 @@ where
|
|||
|
||||
impl<D> Dispatch<ExtWorkspaceGroupHandleV1, WorkspaceGroupData, D> for WorkspaceState<D>
|
||||
where
|
||||
D: GlobalDispatch<ExtWorkspaceManagerV1, WorkspaceGlobalData>
|
||||
+ Dispatch<ExtWorkspaceManagerV1, ()>
|
||||
+ Dispatch<ExtWorkspaceGroupHandleV1, WorkspaceGroupData>
|
||||
+ Dispatch<ExtWorkspaceHandleV1, WorkspaceData>
|
||||
+ WorkspaceHandler
|
||||
+ 'static,
|
||||
<D as WorkspaceHandler>::Client: ClientData + WorkspaceClientHandler + 'static,
|
||||
D: WorkspaceHandler,
|
||||
{
|
||||
fn request(
|
||||
state: &mut D,
|
||||
|
|
@ -177,13 +159,7 @@ where
|
|||
|
||||
impl<D> Dispatch<ExtWorkspaceHandleV1, WorkspaceData, D> for WorkspaceState<D>
|
||||
where
|
||||
D: GlobalDispatch<ExtWorkspaceManagerV1, WorkspaceGlobalData>
|
||||
+ Dispatch<ExtWorkspaceManagerV1, ()>
|
||||
+ Dispatch<ExtWorkspaceGroupHandleV1, WorkspaceGroupData>
|
||||
+ Dispatch<ExtWorkspaceHandleV1, WorkspaceData>
|
||||
+ WorkspaceHandler
|
||||
+ 'static,
|
||||
<D as WorkspaceHandler>::Client: ClientData + WorkspaceClientHandler + 'static,
|
||||
D: WorkspaceHandler,
|
||||
{
|
||||
fn request(
|
||||
state: &mut D,
|
||||
|
|
@ -289,13 +265,7 @@ pub(super) fn send_group_to_client<D>(
|
|||
group: &mut WorkspaceGroup,
|
||||
) -> bool
|
||||
where
|
||||
D: GlobalDispatch<ExtWorkspaceManagerV1, WorkspaceGlobalData>
|
||||
+ Dispatch<ExtWorkspaceManagerV1, ()>
|
||||
+ Dispatch<ExtWorkspaceGroupHandleV1, WorkspaceGroupData>
|
||||
+ Dispatch<ExtWorkspaceHandleV1, WorkspaceData>
|
||||
+ WorkspaceHandler
|
||||
+ 'static,
|
||||
<D as WorkspaceHandler>::Client: ClientData + WorkspaceClientHandler + 'static,
|
||||
D: WorkspaceHandler,
|
||||
{
|
||||
let (_, instance) = match group.ext_instances.iter_mut().find(|(m, _)| m == mngr) {
|
||||
Some(i) => i,
|
||||
|
|
@ -374,13 +344,7 @@ fn send_workspace_to_client<D>(
|
|||
workspace: &mut Workspace,
|
||||
) -> bool
|
||||
where
|
||||
D: GlobalDispatch<ExtWorkspaceManagerV1, WorkspaceGlobalData>
|
||||
+ Dispatch<ExtWorkspaceManagerV1, ()>
|
||||
+ Dispatch<ExtWorkspaceGroupHandleV1, WorkspaceGroupData>
|
||||
+ Dispatch<ExtWorkspaceHandleV1, WorkspaceData>
|
||||
+ WorkspaceHandler
|
||||
+ 'static,
|
||||
<D as WorkspaceHandler>::Client: ClientData + WorkspaceClientHandler + 'static,
|
||||
D: WorkspaceHandler,
|
||||
{
|
||||
let (_, instance) = match workspace.ext_instances.iter_mut().find(|(m, _)| m == mngr) {
|
||||
Some(i) => i,
|
||||
|
|
|
|||
|
|
@ -49,16 +49,7 @@ bitflags::bitflags! {
|
|||
#[derive(Debug)]
|
||||
pub struct WorkspaceState<D>
|
||||
where
|
||||
D: GlobalDispatch<ExtWorkspaceManagerV1, WorkspaceGlobalData>
|
||||
+ Dispatch<ExtWorkspaceManagerV1, ()>
|
||||
+ Dispatch<ExtWorkspaceGroupHandleV1, WorkspaceGroupData>
|
||||
+ Dispatch<ExtWorkspaceHandleV1, WorkspaceData>
|
||||
+ GlobalDispatch<ZcosmicWorkspaceManagerV2, WorkspaceGlobalData>
|
||||
+ Dispatch<ZcosmicWorkspaceManagerV2, ()>
|
||||
+ Dispatch<ZcosmicWorkspaceHandleV2, CosmicWorkspaceV2Data>
|
||||
+ WorkspaceHandler
|
||||
+ 'static,
|
||||
<D as WorkspaceHandler>::Client: ClientData + WorkspaceClientHandler + 'static,
|
||||
D: WorkspaceHandler,
|
||||
{
|
||||
dh: DisplayHandle,
|
||||
ext_global: GlobalId,
|
||||
|
|
@ -69,8 +60,7 @@ where
|
|||
}
|
||||
pub struct WorkspaceUpdateGuard<'a, D>(&'a mut WorkspaceState<D>)
|
||||
where
|
||||
D: WorkspaceHandler + 'static,
|
||||
<D as WorkspaceHandler>::Client: ClientData + WorkspaceClientHandler + 'static;
|
||||
D: WorkspaceHandler;
|
||||
|
||||
crate::utils::id_gen!(next_group_id, GROUP_ID, GROUP_IDS);
|
||||
crate::utils::id_gen!(next_workspace_id, WORKSPACE_ID, WORKSPACE_IDS);
|
||||
|
|
@ -189,16 +179,7 @@ pub trait WorkspaceClientHandler {
|
|||
|
||||
impl<D> WorkspaceState<D>
|
||||
where
|
||||
D: GlobalDispatch<ExtWorkspaceManagerV1, WorkspaceGlobalData>
|
||||
+ Dispatch<ExtWorkspaceManagerV1, ()>
|
||||
+ Dispatch<ExtWorkspaceGroupHandleV1, WorkspaceGroupData>
|
||||
+ Dispatch<ExtWorkspaceHandleV1, WorkspaceData>
|
||||
+ GlobalDispatch<ZcosmicWorkspaceManagerV2, WorkspaceGlobalData>
|
||||
+ Dispatch<ZcosmicWorkspaceManagerV2, ()>
|
||||
+ Dispatch<ZcosmicWorkspaceHandleV2, CosmicWorkspaceV2Data>
|
||||
+ WorkspaceHandler
|
||||
+ 'static,
|
||||
<D as WorkspaceHandler>::Client: ClientData + WorkspaceClientHandler + 'static,
|
||||
D: WorkspaceHandler,
|
||||
{
|
||||
pub fn new<F>(dh: &DisplayHandle, client_filter: F) -> WorkspaceState<D>
|
||||
where
|
||||
|
|
@ -366,15 +347,7 @@ where
|
|||
|
||||
impl<'a, D> WorkspaceUpdateGuard<'a, D>
|
||||
where
|
||||
D: Dispatch<ExtWorkspaceManagerV1, ()>
|
||||
+ Dispatch<ExtWorkspaceGroupHandleV1, WorkspaceGroupData>
|
||||
+ Dispatch<ExtWorkspaceHandleV1, WorkspaceData>
|
||||
+ GlobalDispatch<ZcosmicWorkspaceManagerV2, WorkspaceGlobalData>
|
||||
+ Dispatch<ZcosmicWorkspaceManagerV2, ()>
|
||||
+ Dispatch<ZcosmicWorkspaceHandleV2, CosmicWorkspaceV2Data>
|
||||
+ WorkspaceHandler
|
||||
+ 'static,
|
||||
<D as WorkspaceHandler>::Client: ClientData + WorkspaceClientHandler + 'static,
|
||||
D: WorkspaceHandler,
|
||||
{
|
||||
pub fn create_workspace_group(&mut self) -> WorkspaceGroupHandle {
|
||||
let id = next_group_id();
|
||||
|
|
@ -609,16 +582,7 @@ where
|
|||
|
||||
impl<'a, D> Drop for WorkspaceUpdateGuard<'a, D>
|
||||
where
|
||||
D: GlobalDispatch<ExtWorkspaceManagerV1, WorkspaceGlobalData>
|
||||
+ Dispatch<ExtWorkspaceManagerV1, ()>
|
||||
+ Dispatch<ExtWorkspaceGroupHandleV1, WorkspaceGroupData>
|
||||
+ Dispatch<ExtWorkspaceHandleV1, WorkspaceData>
|
||||
+ GlobalDispatch<ZcosmicWorkspaceManagerV2, WorkspaceGlobalData>
|
||||
+ Dispatch<ZcosmicWorkspaceManagerV2, ()>
|
||||
+ Dispatch<ZcosmicWorkspaceHandleV2, CosmicWorkspaceV2Data>
|
||||
+ WorkspaceHandler
|
||||
+ 'static,
|
||||
<D as WorkspaceHandler>::Client: ClientData + WorkspaceClientHandler + 'static,
|
||||
D: WorkspaceHandler,
|
||||
{
|
||||
fn drop(&mut self) {
|
||||
self.0.done();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue