Giter Site home page Giter Site logo

Comments (7)

esteve avatar esteve commented on July 20, 2024

It's interesting that this only happens with rolling. As I see it, we have two options:

  • disable the dynamic message feature (dyn_msg) from the clippy check
  • disable the warning about u128 (via improper-ctypes) from the clippy check

I believe that disabling the check from clippy should be fine in our case, as we're not exposing this API.

@maspe36 what do you think?

from ros2_rust.

maspe36 avatar maspe36 commented on July 20, 2024

This is also happening with iron in my PR to add support for it. I'm trying to hunt down the root cause and depending on that it may indeed make sense to disable the warning or dynamic message feature from clippy.

The first build I found where this was failing the rolling build #974.

Current theory is that this is related to the version uptick in rosidl_generator_c from 3.3.1 to 4.1.1 as that is a major version change between builds #974 and #973. I'll keep digging

from ros2_rust.

maspe36 avatar maspe36 commented on July 20, 2024

Looks like this is cause by the new Runtime Interface Reflection feature (#215) in the rmw_implementation package.

However, the original type that is ultimately by translated by bindgen(?) to a u128 is defined here in the newly stabilized in Iron, rosidl_dynamic_typesupport package.

It seems like the dyn_msg feature is a custom feature we use and frankly I don't know much about cargo features. I think the best course would be to disable clippy lints for the auto generated bindgen code.

But... Isn't that what we're doing here? Safe to say I'm a bit lost

from ros2_rust.

esteve avatar esteve commented on July 20, 2024

@maspe36 adding #![allow(improper_ctypes)] should suppress that warning (see https://github.com/CCExtractor/rusty_ffmpeg/pull/13/files). I'll build locally with that change and see if it works.

from ros2_rust.

maspe36 avatar maspe36 commented on July 20, 2024

Nothing for us to do at this time, but there has been some movement upstream which will eventually trickle down to us
rust-lang/rust#54341

from ros2_rust.

dev-ardi avatar dev-ardi commented on July 20, 2024

u128 is already FFI safe: https://blog.rust-lang.org/2024/03/30/i128-layout-update.html

from ros2_rust.

maspe36 avatar maspe36 commented on July 20, 2024

Yup, this is now part of stable Rust as of May 2nd. To take advantage we will need to upgrade from 1.74 to 1.78.

Issue for this upgrade created here #398

from ros2_rust.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.