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::{
|
use smithay::reexports::{
|
||||||
wayland_protocols::ext::workspace::v1::server::ext_workspace_handle_v1::ExtWorkspaceHandleV1,
|
wayland_protocols::ext::workspace::v1::server::ext_workspace_handle_v1::ExtWorkspaceHandleV1,
|
||||||
wayland_server::{
|
wayland_server::{
|
||||||
backend::ClientData, Client, DataInit, Dispatch, DisplayHandle, GlobalDispatch, New,
|
Client, DataInit, Dispatch, DisplayHandle, GlobalDispatch, New, Resource, Weak,
|
||||||
Resource, Weak,
|
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
use std::sync::Mutex;
|
use std::sync::Mutex;
|
||||||
|
|
@ -31,12 +30,7 @@ pub struct CosmicWorkspaceV2Data {
|
||||||
|
|
||||||
impl<D> GlobalDispatch<ZcosmicWorkspaceManagerV2, WorkspaceGlobalData, D> for WorkspaceState<D>
|
impl<D> GlobalDispatch<ZcosmicWorkspaceManagerV2, WorkspaceGlobalData, D> for WorkspaceState<D>
|
||||||
where
|
where
|
||||||
D: GlobalDispatch<ZcosmicWorkspaceManagerV2, WorkspaceGlobalData>
|
D: WorkspaceHandler,
|
||||||
+ Dispatch<ZcosmicWorkspaceManagerV2, ()>
|
|
||||||
+ Dispatch<ZcosmicWorkspaceHandleV2, CosmicWorkspaceV2Data>
|
|
||||||
+ WorkspaceHandler
|
|
||||||
+ 'static,
|
|
||||||
<D as WorkspaceHandler>::Client: ClientData + WorkspaceClientHandler + 'static,
|
|
||||||
{
|
{
|
||||||
fn bind(
|
fn bind(
|
||||||
_state: &mut D,
|
_state: &mut D,
|
||||||
|
|
@ -56,12 +50,7 @@ where
|
||||||
|
|
||||||
impl<D> Dispatch<ZcosmicWorkspaceManagerV2, (), D> for WorkspaceState<D>
|
impl<D> Dispatch<ZcosmicWorkspaceManagerV2, (), D> for WorkspaceState<D>
|
||||||
where
|
where
|
||||||
D: GlobalDispatch<ZcosmicWorkspaceManagerV2, WorkspaceGlobalData>
|
D: WorkspaceHandler,
|
||||||
+ Dispatch<ZcosmicWorkspaceManagerV2, ()>
|
|
||||||
+ Dispatch<ZcosmicWorkspaceHandleV2, CosmicWorkspaceV2Data>
|
|
||||||
+ WorkspaceHandler
|
|
||||||
+ 'static,
|
|
||||||
<D as WorkspaceHandler>::Client: ClientData + WorkspaceClientHandler + 'static,
|
|
||||||
{
|
{
|
||||||
fn request(
|
fn request(
|
||||||
state: &mut D,
|
state: &mut D,
|
||||||
|
|
@ -117,12 +106,7 @@ where
|
||||||
|
|
||||||
impl<D> Dispatch<ZcosmicWorkspaceHandleV2, CosmicWorkspaceV2Data, D> for WorkspaceState<D>
|
impl<D> Dispatch<ZcosmicWorkspaceHandleV2, CosmicWorkspaceV2Data, D> for WorkspaceState<D>
|
||||||
where
|
where
|
||||||
D: GlobalDispatch<ZcosmicWorkspaceManagerV2, WorkspaceGlobalData>
|
D: WorkspaceHandler,
|
||||||
+ Dispatch<ZcosmicWorkspaceManagerV2, ()>
|
|
||||||
+ Dispatch<ZcosmicWorkspaceHandleV2, CosmicWorkspaceV2Data>
|
|
||||||
+ WorkspaceHandler
|
|
||||||
+ 'static,
|
|
||||||
<D as WorkspaceHandler>::Client: ClientData + WorkspaceClientHandler + 'static,
|
|
||||||
{
|
{
|
||||||
fn request(
|
fn request(
|
||||||
state: &mut D,
|
state: &mut D,
|
||||||
|
|
|
||||||
|
|
@ -3,8 +3,8 @@
|
||||||
use cosmic_protocols::workspace::v2::server::zcosmic_workspace_handle_v2::ZcosmicWorkspaceHandleV2;
|
use cosmic_protocols::workspace::v2::server::zcosmic_workspace_handle_v2::ZcosmicWorkspaceHandleV2;
|
||||||
|
|
||||||
use smithay::reexports::wayland_server::{
|
use smithay::reexports::wayland_server::{
|
||||||
backend::{ClientData, ClientId},
|
backend::ClientId, Client, DataInit, Dispatch, DisplayHandle, GlobalDispatch, New, Resource,
|
||||||
Client, DataInit, Dispatch, DisplayHandle, GlobalDispatch, New, Resource, Weak,
|
Weak,
|
||||||
};
|
};
|
||||||
|
|
||||||
use std::sync::Mutex;
|
use std::sync::Mutex;
|
||||||
|
|
@ -33,13 +33,7 @@ pub type WorkspaceData = Mutex<WorkspaceDataInner>;
|
||||||
|
|
||||||
impl<D> GlobalDispatch<ExtWorkspaceManagerV1, WorkspaceGlobalData, D> for WorkspaceState<D>
|
impl<D> GlobalDispatch<ExtWorkspaceManagerV1, WorkspaceGlobalData, D> for WorkspaceState<D>
|
||||||
where
|
where
|
||||||
D: GlobalDispatch<ExtWorkspaceManagerV1, WorkspaceGlobalData>
|
D: WorkspaceHandler,
|
||||||
+ Dispatch<ExtWorkspaceManagerV1, ()>
|
|
||||||
+ Dispatch<ExtWorkspaceGroupHandleV1, WorkspaceGroupData>
|
|
||||||
+ Dispatch<ExtWorkspaceHandleV1, WorkspaceData>
|
|
||||||
+ WorkspaceHandler
|
|
||||||
+ 'static,
|
|
||||||
<D as WorkspaceHandler>::Client: ClientData + WorkspaceClientHandler + 'static,
|
|
||||||
{
|
{
|
||||||
fn bind(
|
fn bind(
|
||||||
state: &mut D,
|
state: &mut D,
|
||||||
|
|
@ -65,13 +59,7 @@ where
|
||||||
|
|
||||||
impl<D> Dispatch<ExtWorkspaceManagerV1, (), D> for WorkspaceState<D>
|
impl<D> Dispatch<ExtWorkspaceManagerV1, (), D> for WorkspaceState<D>
|
||||||
where
|
where
|
||||||
D: GlobalDispatch<ExtWorkspaceManagerV1, WorkspaceGlobalData>
|
D: WorkspaceHandler,
|
||||||
+ Dispatch<ExtWorkspaceManagerV1, ()>
|
|
||||||
+ Dispatch<ExtWorkspaceGroupHandleV1, WorkspaceGroupData>
|
|
||||||
+ Dispatch<ExtWorkspaceHandleV1, WorkspaceData>
|
|
||||||
+ WorkspaceHandler
|
|
||||||
+ 'static,
|
|
||||||
<D as WorkspaceHandler>::Client: ClientData + WorkspaceClientHandler + 'static,
|
|
||||||
{
|
{
|
||||||
fn request(
|
fn request(
|
||||||
state: &mut D,
|
state: &mut D,
|
||||||
|
|
@ -116,13 +104,7 @@ where
|
||||||
|
|
||||||
impl<D> Dispatch<ExtWorkspaceGroupHandleV1, WorkspaceGroupData, D> for WorkspaceState<D>
|
impl<D> Dispatch<ExtWorkspaceGroupHandleV1, WorkspaceGroupData, D> for WorkspaceState<D>
|
||||||
where
|
where
|
||||||
D: GlobalDispatch<ExtWorkspaceManagerV1, WorkspaceGlobalData>
|
D: WorkspaceHandler,
|
||||||
+ Dispatch<ExtWorkspaceManagerV1, ()>
|
|
||||||
+ Dispatch<ExtWorkspaceGroupHandleV1, WorkspaceGroupData>
|
|
||||||
+ Dispatch<ExtWorkspaceHandleV1, WorkspaceData>
|
|
||||||
+ WorkspaceHandler
|
|
||||||
+ 'static,
|
|
||||||
<D as WorkspaceHandler>::Client: ClientData + WorkspaceClientHandler + 'static,
|
|
||||||
{
|
{
|
||||||
fn request(
|
fn request(
|
||||||
state: &mut D,
|
state: &mut D,
|
||||||
|
|
@ -177,13 +159,7 @@ where
|
||||||
|
|
||||||
impl<D> Dispatch<ExtWorkspaceHandleV1, WorkspaceData, D> for WorkspaceState<D>
|
impl<D> Dispatch<ExtWorkspaceHandleV1, WorkspaceData, D> for WorkspaceState<D>
|
||||||
where
|
where
|
||||||
D: GlobalDispatch<ExtWorkspaceManagerV1, WorkspaceGlobalData>
|
D: WorkspaceHandler,
|
||||||
+ Dispatch<ExtWorkspaceManagerV1, ()>
|
|
||||||
+ Dispatch<ExtWorkspaceGroupHandleV1, WorkspaceGroupData>
|
|
||||||
+ Dispatch<ExtWorkspaceHandleV1, WorkspaceData>
|
|
||||||
+ WorkspaceHandler
|
|
||||||
+ 'static,
|
|
||||||
<D as WorkspaceHandler>::Client: ClientData + WorkspaceClientHandler + 'static,
|
|
||||||
{
|
{
|
||||||
fn request(
|
fn request(
|
||||||
state: &mut D,
|
state: &mut D,
|
||||||
|
|
@ -289,13 +265,7 @@ pub(super) fn send_group_to_client<D>(
|
||||||
group: &mut WorkspaceGroup,
|
group: &mut WorkspaceGroup,
|
||||||
) -> bool
|
) -> bool
|
||||||
where
|
where
|
||||||
D: GlobalDispatch<ExtWorkspaceManagerV1, WorkspaceGlobalData>
|
D: WorkspaceHandler,
|
||||||
+ Dispatch<ExtWorkspaceManagerV1, ()>
|
|
||||||
+ Dispatch<ExtWorkspaceGroupHandleV1, WorkspaceGroupData>
|
|
||||||
+ Dispatch<ExtWorkspaceHandleV1, WorkspaceData>
|
|
||||||
+ WorkspaceHandler
|
|
||||||
+ 'static,
|
|
||||||
<D as WorkspaceHandler>::Client: ClientData + WorkspaceClientHandler + 'static,
|
|
||||||
{
|
{
|
||||||
let (_, instance) = match group.ext_instances.iter_mut().find(|(m, _)| m == mngr) {
|
let (_, instance) = match group.ext_instances.iter_mut().find(|(m, _)| m == mngr) {
|
||||||
Some(i) => i,
|
Some(i) => i,
|
||||||
|
|
@ -374,13 +344,7 @@ fn send_workspace_to_client<D>(
|
||||||
workspace: &mut Workspace,
|
workspace: &mut Workspace,
|
||||||
) -> bool
|
) -> bool
|
||||||
where
|
where
|
||||||
D: GlobalDispatch<ExtWorkspaceManagerV1, WorkspaceGlobalData>
|
D: WorkspaceHandler,
|
||||||
+ Dispatch<ExtWorkspaceManagerV1, ()>
|
|
||||||
+ Dispatch<ExtWorkspaceGroupHandleV1, WorkspaceGroupData>
|
|
||||||
+ Dispatch<ExtWorkspaceHandleV1, WorkspaceData>
|
|
||||||
+ WorkspaceHandler
|
|
||||||
+ 'static,
|
|
||||||
<D as WorkspaceHandler>::Client: ClientData + WorkspaceClientHandler + 'static,
|
|
||||||
{
|
{
|
||||||
let (_, instance) = match workspace.ext_instances.iter_mut().find(|(m, _)| m == mngr) {
|
let (_, instance) = match workspace.ext_instances.iter_mut().find(|(m, _)| m == mngr) {
|
||||||
Some(i) => i,
|
Some(i) => i,
|
||||||
|
|
|
||||||
|
|
@ -49,16 +49,7 @@ bitflags::bitflags! {
|
||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
pub struct WorkspaceState<D>
|
pub struct WorkspaceState<D>
|
||||||
where
|
where
|
||||||
D: GlobalDispatch<ExtWorkspaceManagerV1, WorkspaceGlobalData>
|
D: WorkspaceHandler,
|
||||||
+ 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,
|
|
||||||
{
|
{
|
||||||
dh: DisplayHandle,
|
dh: DisplayHandle,
|
||||||
ext_global: GlobalId,
|
ext_global: GlobalId,
|
||||||
|
|
@ -69,8 +60,7 @@ where
|
||||||
}
|
}
|
||||||
pub struct WorkspaceUpdateGuard<'a, D>(&'a mut WorkspaceState<D>)
|
pub struct WorkspaceUpdateGuard<'a, D>(&'a mut WorkspaceState<D>)
|
||||||
where
|
where
|
||||||
D: WorkspaceHandler + 'static,
|
D: WorkspaceHandler;
|
||||||
<D as WorkspaceHandler>::Client: ClientData + WorkspaceClientHandler + 'static;
|
|
||||||
|
|
||||||
crate::utils::id_gen!(next_group_id, GROUP_ID, GROUP_IDS);
|
crate::utils::id_gen!(next_group_id, GROUP_ID, GROUP_IDS);
|
||||||
crate::utils::id_gen!(next_workspace_id, WORKSPACE_ID, WORKSPACE_IDS);
|
crate::utils::id_gen!(next_workspace_id, WORKSPACE_ID, WORKSPACE_IDS);
|
||||||
|
|
@ -189,16 +179,7 @@ pub trait WorkspaceClientHandler {
|
||||||
|
|
||||||
impl<D> WorkspaceState<D>
|
impl<D> WorkspaceState<D>
|
||||||
where
|
where
|
||||||
D: GlobalDispatch<ExtWorkspaceManagerV1, WorkspaceGlobalData>
|
D: WorkspaceHandler,
|
||||||
+ 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,
|
|
||||||
{
|
{
|
||||||
pub fn new<F>(dh: &DisplayHandle, client_filter: F) -> WorkspaceState<D>
|
pub fn new<F>(dh: &DisplayHandle, client_filter: F) -> WorkspaceState<D>
|
||||||
where
|
where
|
||||||
|
|
@ -366,15 +347,7 @@ where
|
||||||
|
|
||||||
impl<'a, D> WorkspaceUpdateGuard<'a, D>
|
impl<'a, D> WorkspaceUpdateGuard<'a, D>
|
||||||
where
|
where
|
||||||
D: Dispatch<ExtWorkspaceManagerV1, ()>
|
D: WorkspaceHandler,
|
||||||
+ Dispatch<ExtWorkspaceGroupHandleV1, WorkspaceGroupData>
|
|
||||||
+ Dispatch<ExtWorkspaceHandleV1, WorkspaceData>
|
|
||||||
+ GlobalDispatch<ZcosmicWorkspaceManagerV2, WorkspaceGlobalData>
|
|
||||||
+ Dispatch<ZcosmicWorkspaceManagerV2, ()>
|
|
||||||
+ Dispatch<ZcosmicWorkspaceHandleV2, CosmicWorkspaceV2Data>
|
|
||||||
+ WorkspaceHandler
|
|
||||||
+ 'static,
|
|
||||||
<D as WorkspaceHandler>::Client: ClientData + WorkspaceClientHandler + 'static,
|
|
||||||
{
|
{
|
||||||
pub fn create_workspace_group(&mut self) -> WorkspaceGroupHandle {
|
pub fn create_workspace_group(&mut self) -> WorkspaceGroupHandle {
|
||||||
let id = next_group_id();
|
let id = next_group_id();
|
||||||
|
|
@ -609,16 +582,7 @@ where
|
||||||
|
|
||||||
impl<'a, D> Drop for WorkspaceUpdateGuard<'a, D>
|
impl<'a, D> Drop for WorkspaceUpdateGuard<'a, D>
|
||||||
where
|
where
|
||||||
D: GlobalDispatch<ExtWorkspaceManagerV1, WorkspaceGlobalData>
|
D: WorkspaceHandler,
|
||||||
+ 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,
|
|
||||||
{
|
{
|
||||||
fn drop(&mut self) {
|
fn drop(&mut self) {
|
||||||
self.0.done();
|
self.0.done();
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue