Skip to content

Old version of raw_window_handle causes an error #3007

Closed
@lylythechosenone

Description

@lylythechosenone

Description
Wgpu is still using raw_window_handle ^0.4 when 0.5.0 is now released. This means that users including raw_window_handle 0.5.0 will recieve the error

error[E0277]: the trait bound `T: raw_window_handle::HasRawWindowHandle` is not satisfied
    --> src/rendering/two_d/camera.rs:15:56
     |
15   |         let surface = unsafe { instance.create_surface(window) };
     |                                         -------------- ^^^^^^ the trait `raw_window_handle::HasRawWindowHandle` is not implemented for `T`
     |                                         |
     |                                         required by a bound introduced by this call
     |
note: required by a bound in `wgpu::Instance::create_surface`
    --> /home/lysan/.cargo/registry/src/github.com-1ecc6299db9ec823/wgpu-0.13.1/src/lib.rs:1757:37
     |
1757 |     pub unsafe fn create_surface<W: raw_window_handle::HasRawWindowHandle>(
     |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `wgpu::Instance::create_surface`
help: consider further restricting this bound
     |
13   |     pub async fn new<T: HasRawWindowHandle + raw_window_handle::HasRawWindowHandle>(window: &T, size: Vector2<u32>) -> Self {
     |                                            +++++++++++++++++++++++++++++++++++++++

due to the differing versions.

Repro steps
Try to create a surface with T which implements 0.5.0 HasRawWindowHandle, instead of ^0.4 HasRawWindowHandle.

Expected vs observed behavior
If the version was updated, it should just work, but right now, this error is observed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions