Match的分支合并写法

match的分支支持很多高级写法的。

下面是比较常见的一种。亮点是多分支都解构出了同样的mod_keys.

    /// Returns associated keyboard modifiers.
    #[must_use]
    pub const fn mod_keys(self) -> ModKeys {
        match self {
            Input::Keyboard { mod_keys, .. }
            | Input::MouseButton { mod_keys, .. }
            | Input::MouseMotion { mod_keys }
            | Input::MouseWheel { mod_keys } => mod_keys,
            Input::GamepadButton(_) | Input::GamepadAxis(_) => ModKeys::empty(),
        }
    }