Compilation error in the vulkano crate on nightly expected isize, found i32 · Issue #137662 · rust-lang/rust (original) (raw)

Compiling the vulkano crate fails with the latest nightly.

Error:

error[E0308]: mismatched types
   --> /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/vulkano-0.34.1/src/macros.rs:658:48
    |
658 |                   <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mi>l</mi><mi>a</mi><msub><mi>g</mi><mi>n</mi></msub><mi>a</mi><mi>m</mi><mi>e</mi><mo>=</mo><mi>a</mi><mi>s</mi><mi>h</mi><mo>:</mo><mo>:</mo><mi>v</mi><mi>k</mi><mo>:</mo><mo>:</mo></mrow><annotation encoding="application/x-tex">flag_name = ash::vk::</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8889em;vertical-align:-0.1944em;"></span><span class="mord mathnormal" style="margin-right:0.10764em;">f</span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mord mathnormal">a</span><span class="mord"><span class="mord mathnormal" style="margin-right:0.03588em;">g</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.1514em;"><span style="top:-2.55em;margin-left:-0.0359em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">n</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mord mathnormal">am</span><span class="mord mathnormal">e</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord mathnormal">a</span><span class="mord mathnormal">s</span><span class="mord mathnormal">h</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">::</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord mathnormal" style="margin-right:0.03588em;">v</span><span class="mord mathnormal" style="margin-right:0.03148em;">k</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">::</span></span></span></span>ty_ffi::$flag_name_ffi.as_raw(),
    |                                                  ^^^^^^^^^^^^^^^^^^^^^^^ expected `isize`, found `i32`
    |
   ::: /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/vulkano-0.34.1/src/acceleration_structure.rs:315:1
    |
315 | / vulkan_enum! {
316 | |     #[non_exhaustive]
317 | |
318 | |     /// The type of an acceleration structure.
...   |
330 | |     Generic = GENERIC,
331 | | }
    | |_- in this macro invocation
    |
    = note: this error originates in the macro `vulkan_enum` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
    --> /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/vulkano-0.34.1/src/macros.rs:658:48
     |
658  |                   <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mi>l</mi><mi>a</mi><msub><mi>g</mi><mi>n</mi></msub><mi>a</mi><mi>m</mi><mi>e</mi><mo>=</mo><mi>a</mi><mi>s</mi><mi>h</mi><mo>:</mo><mo>:</mo><mi>v</mi><mi>k</mi><mo>:</mo><mo>:</mo></mrow><annotation encoding="application/x-tex">flag_name = ash::vk::</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8889em;vertical-align:-0.1944em;"></span><span class="mord mathnormal" style="margin-right:0.10764em;">f</span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mord mathnormal">a</span><span class="mord"><span class="mord mathnormal" style="margin-right:0.03588em;">g</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.1514em;"><span style="top:-2.55em;margin-left:-0.0359em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">n</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mord mathnormal">am</span><span class="mord mathnormal">e</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord mathnormal">a</span><span class="mord mathnormal">s</span><span class="mord mathnormal">h</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">::</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord mathnormal" style="margin-right:0.03588em;">v</span><span class="mord mathnormal" style="margin-right:0.03148em;">k</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">::</span></span></span></span>ty_ffi::$flag_name_ffi.as_raw(),
     |                                                  ^^^^^^^^^^^^^^^^^^^^^^^ expected `isize`, found `i32`
     |
    ::: /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/vulkano-0.34.1/src/acceleration_structure.rs:1591:1
     |
1591 | / vulkan_enum! {
1592 | |     #[non_exhaustive]
1593 | |
1594 | |     /// What mode an acceleration structure copy command should operate in.
...    |
1618 | |     Deserialize = DESERIALIZE,
1619 | | }
     | |_- in this macro invocation
     |
     = note: this error originates in the macro `vulkan_enum` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
    --> /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/vulkano-0.34.1/src/macros.rs:658:48
     |
658  |                   <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mi>l</mi><mi>a</mi><msub><mi>g</mi><mi>n</mi></msub><mi>a</mi><mi>m</mi><mi>e</mi><mo>=</mo><mi>a</mi><mi>s</mi><mi>h</mi><mo>:</mo><mo>:</mo><mi>v</mi><mi>k</mi><mo>:</mo><mo>:</mo></mrow><annotation encoding="application/x-tex">flag_name = ash::vk::</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8889em;vertical-align:-0.1944em;"></span><span class="mord mathnormal" style="margin-right:0.10764em;">f</span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mord mathnormal">a</span><span class="mord"><span class="mord mathnormal" style="margin-right:0.03588em;">g</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.1514em;"><span style="top:-2.55em;margin-left:-0.0359em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">n</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mord mathnormal">am</span><span class="mord mathnormal">e</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord mathnormal">a</span><span class="mord mathnormal">s</span><span class="mord mathnormal">h</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">::</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord mathnormal" style="margin-right:0.03588em;">v</span><span class="mord mathnormal" style="margin-right:0.03148em;">k</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">::</span></span></span></span>ty_ffi::$flag_name_ffi.as_raw(),
     |                                                  ^^^^^^^^^^^^^^^^^^^^^^^ expected `isize`, found `i32`
     |
    ::: /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/vulkano-0.34.1/src/acceleration_structure.rs:1621:1
     |
1621 | / vulkan_enum! {
1622 | |     #[non_exhaustive]
1623 | |
1624 | |     /// Where the building of an acceleration structure will take place.
...    |
1634 | |     HostOrDevice = HOST_OR_DEVICE,
1635 | | }
     | |_- in this macro invocation
     |
     = note: this error originates in the macro `vulkan_enum` (in Nightly builds, run with -Z macro-backtrace for more info)

(... skipped more of the same ...)

This is using the version 0.34.1 of vulkano but I have verified this also fails in the master branch of https://github.com/vulkano-rs/vulkano/

The error was noticed because we build with nightly on our CI, and we depends on that crate

Version it worked on

Works on nightly-2025-02-24

rustc 1.87.0-nightly (f8a913b 2025-02-23)

Version with regression

Current nightly

rustc 1.87.0-nightly (85abb27 2025-02-25)

@rustbot modify labels: +regression-from-stable-to-nightly -regression-untriaged