Skip to content

Generating pub type j_l = u8<_Iftrue, _Iffalse>; #2048

Open
@adetaylor

Description

@adetaylor

Input C/C++ Header

 namespace std {
        template <bool, typename _Iftrue, typename _Iffalse> struct a;
        }
        namespace {
        namespace {
        template <typename> struct b { template <typename> struct c; };
        struct d : b<d> {};
        struct e : b<e> {};
        struct f : b<f> {};
        struct g : b<g> {};
        struct h;
        template <typename... i> struct j {
          typedef std::a<d::c<i...>::k, d,
                         std::a<e::c<i...>::k, e,
                                std::a<f::c<i...>::k, f, std::a<g::c<i...>::k, g, h>>>>
              l;
        };
        } // namespace
        } // namespace

Bindgen Invocation

$ $ cargo run -- problem.hpp "--blocklist-item" "std::.*" "--no-layout-tests" "--no-derive-copy" "--no-derive-debug" "--no-derive-default" "--enable-cxx-namespaces" 

Actual Results

Generates (amongst other things):

pub type j_l = u8<_Iftrue, _Iffalse>;

Expected Results

A fully opaque j_l.

Note that _Iftrue and _Iffalse are on the blocklist as part of std. So maybe this is WAI? But it seems odd that we're getting a parameterized u8 at all.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions