[Bug] Issues with Enums and generated Dart code - nonexistent.

Describe the bug
Essentially, as I mentioned in the Discussion I opened (#914), I'm trying to integrate a Rust library with my Flutter application.
It sort of works. There are no Enum classes being generated, and it happens on both Arch and NixOS.
I've listed the output with debug logging, but there is an issue with stdbool.h. Not sure if related?
Codegen logs with RUST_LOG=debug environment variable
RUST_LOG=debug flutter_rust_bridge_codegen --rust-input native/src/api.rs --dart-output lib/bridge_generated.dart --dart-decl-output lib/bridge_definitions.dart --c-output ios/Runner/bridge_generated.h --extra-c-output-path macos/Runner --llvm-path /nix/store/znnj2g2pnvbjn701w7j9imxmydnkafrq-clang-11.1.0-lib/lib/libclang.so:
2023/04/18 19:49:02 [DEBUG] configs=[Opts { rust_input_path: "/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/native/src/api.rs", dart_output_path: "/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/lib/bridge_generated.dart", dart_decl_output_path: Some("/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/lib/bridge_definitions.dart"), c_output_path: ["/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/ios/Runner/bridge_generated.h", "macos/Runner/bridge_generated.h"], rust_crate_dir: "/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/native", rust_output_path: "/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/native/src/bridge_generated.rs", class_name: "MorphRs", dart_format_line_length: 80, dart_enums_style: false, skip_add_mod_to_lib: false, llvm_path: ["/nix/store/znnj2g2pnvbjn701w7j9imxmydnkafrq-clang-11.1.0-lib/lib/libclang.so"], llvm_compiler_opts: "", manifest_path: "/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/native/Cargo.toml", dart_root: Some("/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl"), build_runner: true, block_index: BlockIndex(0), skip_deps_check: false, wasm_enabled: false, inline_rust: false, bridge_in_method: true, extra_headers: "" }]
2023/04/18 19:49:02 [DEBUG] Trying to parse "/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/native/src/api.rs"
2023/04/18 19:49:02 [DEBUG] Trying to parse "/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/native/src/bridge_generated.rs"
2023/04/18 19:49:02 [WARN] Skipping unresolvable module io (tried /home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/native/src/io.rs, /home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/native/src/io/mod.rs, /home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/native/src/bridge_generated/io.rs, /home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/native/src/bridge_generated/io/mod.rs, )
2023/04/18 19:49:02 [INFO] Phase: Validate config(s)
2023/04/18 19:49:02 [INFO] Picked config: Opts { rust_input_path: "/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/native/src/api.rs", dart_output_path: "/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/lib/bridge_generated.dart", dart_decl_output_path: Some("/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/lib/bridge_definitions.dart"), c_output_path: ["/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/ios/Runner/bridge_generated.h", "macos/Runner/bridge_generated.h"], rust_crate_dir: "/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/native", rust_output_path: "/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/native/src/bridge_generated.rs", class_name: "MorphRs", dart_format_line_length: 80, dart_enums_style: false, skip_add_mod_to_lib: false, llvm_path: ["/nix/store/znnj2g2pnvbjn701w7j9imxmydnkafrq-clang-11.1.0-lib/lib/libclang.so"], llvm_compiler_opts: "", manifest_path: "/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/native/Cargo.toml", dart_root: Some("/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl"), build_runner: true, block_index: BlockIndex(0), skip_deps_check: false, wasm_enabled: false, inline_rust: false, bridge_in_method: true, extra_headers: "" }
2023/04/18 19:49:02 [INFO] Phase: Parse source code to AST, then to IR
2023/04/18 19:49:02 [DEBUG] Trying to parse "/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/native/src/api.rs"
2023/04/18 19:49:02 [DEBUG] Trying to parse "/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/native/src/bridge_generated.rs"
2023/04/18 19:49:02 [WARN] Skipping unresolvable module io (tried /home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/native/src/io.rs, /home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/native/src/io/mod.rs, /home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/native/src/bridge_generated/io.rs, /home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/native/src/bridge_generated/io/mod.rs, )
2023/04/18 19:49:02 [INFO] Phase: Transform IR
2023/04/18 19:49:02 [INFO] Phase: Generate Rust code
2023/04/18 19:49:02 [DEBUG] execute format_rust path=["/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/native/src/bridge_generated.rs"]
2023/04/18 19:49:02 [DEBUG] execute command: bin=rustfmt args="/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/native/src/bridge_generated.rs" current_dir=None cmd="rustfmt" "/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/native/src/bridge_generated.rs"
2023/04/18 19:49:02 [DEBUG] command="rustfmt" "/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/native/src/bridge_generated.rs" stdout= stderr=
2023/04/18 19:49:02 [INFO] Phase: Generate Dart code
2023/04/18 19:49:02 [DEBUG] Guessing toolchain the runner is run into
2023/04/18 19:49:02 [DEBUG] execute command: bin=sh args="-c \"flutter\" \"--version\"" current_dir=None cmd="sh" "-c" "\"flutter\" \"--version\""
Flutter 3.3.8 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 52b3dc25f6 (5 months ago) • 2022-11-09 12:09:26 +0800
Engine • revision 857bd6b74c
Tools • Dart 2.18.4 • DevTools 2.15.0
2023/04/18 19:49:02 [DEBUG] command="sh" "-c" "\"flutter\" \"--version\"" stdout= stderr=
2023/04/18 19:49:02 [DEBUG] Checking presence of ffi in dependencies at /home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl
2023/04/18 19:49:02 [DEBUG] Checking presence of ffi in dependencies at /home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl
2023/04/18 19:49:02 [DEBUG] Checking presence of ffigen in dev_dependencies at /home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl
2023/04/18 19:49:02 [DEBUG] Checking presence of ffigen in dev_dependencies at /home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl
2023/04/18 19:49:02 [INFO] Phase: Generating Dart bindings for Rust
2023/04/18 19:49:02 [DEBUG] execute cbindgen rust_crate_dir=/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/native c_output_path=/run/user/1000/.tmp4GvFOm.h
2023/04/18 19:49:02 [DEBUG] cbindgen config: Config {
    header: None,
    includes: [],
    sys_includes: [
        "stdbool.h",
        "stdint.h",
        "stdlib.h",
    ],
    after_includes: Some(
        "typedef struct _Dart_Handle* Dart_Handle;",
    ),
    trailer: None,
    include_guard: None,
    pragma_once: false,
    no_includes: true,
    autogen_warning: None,
    include_version: false,
    namespace: None,
    namespaces: None,
    using_namespaces: None,
    braces: SameLine,
    line_length: 100,
    tab_width: 2,
    line_endings: LF,
    language: C,
    cpp_compat: false,
    style: Both,
    sort_by: None,
    usize_is_size_t: false,
    parse: ParseConfig {
        parse_deps: false,
        include: None,
        exclude: [],
        expand: ParseExpandConfig {
            crates: [],
            all_features: false,
            default_features: true,
            features: None,
            profile: Debug,
        },
        clean: false,
        extra_bindings: [],
    },
    export: ExportConfig {
        include: [],
        exclude: [],
        rename: {},
        pre_body: {},
        body: {},
        prefix: None,
        item_types: [],
        renaming_overrides_prefixing: false,
        mangle: MangleConfig {
            rename_types: None,
            remove_underscores: false,
        },
    },
    macro_expansion: MacroExpansionConfig {
        bitflags: false,
    },
    layout: LayoutConfig {
        packed: None,
        aligned_n: None,
    },
    function: FunctionConfig {
        prefix: None,
        postfix: None,
        must_use: None,
        args: Auto,
        rename_args: None,
        swift_name_macro: None,
        sort_by: None,
        no_return: None,
    },
    structure: StructConfig {
        rename_fields: None,
        derive_constructor: false,
        derive_eq: false,
        derive_neq: false,
        derive_lt: false,
        derive_lte: false,
        derive_gt: false,
        derive_gte: false,
        derive_ostream: false,
        associated_constants_in_body: false,
        must_use: None,
    },
    enumeration: EnumConfig {
        rename_variants: None,
        rename_variant_name_fields: SnakeCase,
        add_sentinel: false,
        prefix_with_name: false,
        derive_helper_methods: false,
        derive_const_casts: false,
        derive_mut_casts: false,
        cast_assert_name: None,
        must_use: None,
        derive_tagged_enum_destructor: false,
        derive_tagged_enum_copy_constructor: false,
        derive_tagged_enum_copy_assignment: false,
        derive_ostream: false,
        enum_class: true,
        private_default_tagged_enum_constructor: false,
    },
    constant: ConstantConfig {
        allow_static_const: true,
        allow_constexpr: true,
        sort_by: None,
    },
    defines: {},
    documentation: true,
    documentation_style: Auto,
    documentation_length: Full,
    pointer: PtrConfig {
        non_null_attribute: None,
    },
    only_target_dependencies: false,
    cython: CythonConfig {
        header: None,
        cimports: {},
    },
}
2023/04/18 19:49:03 [DEBUG] Parsing crate morph-rs
2023/04/18 19:49:03 [INFO] Take morph-rs::EarbudsKind - opaque (Enum is not marked with a valid #[repr(prim)] or #[repr(C)].).
2023/04/18 19:49:03 [INFO] Take morph-rs::PduKind - opaque (Enum is not marked with a valid #[repr(prim)] or #[repr(C)].).
2023/04/18 19:49:03 [INFO] Take morph-rs::FeatureKind - opaque (Enum is not marked with a valid #[repr(prim)] or #[repr(C)].).
2023/04/18 19:49:03 [INFO] Take morph-rs::DartPort.
2023/04/18 19:49:03 [INFO] Take morph-rs::DartPostCObjectFnType.
2023/04/18 19:49:03 [INFO] Take morph-rs::store_dart_post_cobject.
2023/04/18 19:49:03 [INFO] Take morph-rs::get_dart_object.
2023/04/18 19:49:03 [INFO] Take morph-rs::drop_dart_object.
2023/04/18 19:49:03 [INFO] Take morph-rs::new_dart_opaque.
2023/04/18 19:49:03 [INFO] Take morph-rs::init_frb_dart_api_dl.
2023/04/18 19:49:03 [INFO] Take morph-rs::DartCObject - opaque (Struct is not marked #[repr(C)] or #[repr(transparent)].).
2023/04/18 19:49:03 [INFO] Take morph-rs::WireSyncReturn.
2023/04/18 19:49:03 [INFO] Take morph-rs::free_WireSyncReturn.
2023/04/18 19:49:03 [WARN] Can't find Dart_Handle. This usually means that this type was incompatible or not found.
2023/04/18 19:49:03 [WARN] Can't find Dart_Handle. This usually means that this type was incompatible or not found.
2023/04/18 19:49:03 [WARN] Missing `[defines]` entry for `target_family = "wasm"` in cbindgen config.
2023/04/18 19:49:03 [WARN] Missing `[defines]` entry for `target_family = "wasm"` in cbindgen config.
2023/04/18 19:49:03 [DEBUG] execute ffigen c_path=/run/user/1000/.tmp4GvFOm.h dart_path=/run/user/1000/.tmpliJK3q llvm_path=["/nix/store/znnj2g2pnvbjn701w7j9imxmydnkafrq-clang-11.1.0-lib/lib/libclang.so"]
2023/04/18 19:49:03 [DEBUG] ffigen config:
        output: '/run/user/1000/.tmpliJK3q'
        name: 'MorphRsWire'
        description: 'generated by flutter_rust_bridge'
        headers:
          entry-points:
            - '/run/user/1000/.tmp4GvFOm.h'
          include-directives:
            - '/run/user/1000/.tmp4GvFOm.h'
        comments: false
        preamble: |
          // ignore_for_file: camel_case_types, non_constant_identifier_names, avoid_positional_boolean_parameters, annotate_overrides, constant_identifier_names

        llvm-path:
           - '/nix/store/znnj2g2pnvbjn701w7j9imxmydnkafrq-clang-11.1.0-lib/lib/libclang.so'

2023/04/18 19:49:03 [DEBUG] ffigen config_file: NamedTempFile("/run/user/1000/.tmpnisPnU")
2023/04/18 19:49:03 [DEBUG] Guessing toolchain the runner is run into
2023/04/18 19:49:03 [DEBUG] execute command: bin=sh args="-c \"flutter\" \"pub\" \"run\" \"ffigen\" \"--config\" \"/run/user/1000/.tmpnisPnU\"" current_dir=Some("/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl") cmd=cd "/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl" && "sh" "-c" "\"flutter\" \"pub\" \"run\" \"ffigen\" \"--config\" \"/run/user/1000/.tmpnisPnU\""
Running in Directory: '/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl'
Using complete dylib path: /nix/store/znnj2g2pnvbjn701w7j9imxmydnkafrq-clang-11.1.0-lib/lib/libclang.so from llvm-path.
Input Headers: [/run/user/1000/.tmp4GvFOm.h]
[SEVERE] : Header /run/user/1000/.tmp4GvFOm.h: Total errors/warnings: 1.
[SEVERE] :     /run/user/1000/.tmp4GvFOm.h:1:10: fatal error: 'stdbool.h' file not found [Lexical or Preprocessor Issue]
[WARNING]: No definition found for declaration - (Cursor) spelling: _Dart_Handle, kind: 2, kindSpelling: StructDecl, type: 105, typeSpelling: struct _Dart_Handle, usr: c:@S@_Dart_Handle
[WARNING]: No definition found for declaration - (Cursor) spelling: _Dart_Handle, kind: 2, kindSpelling: StructDecl, type: 105, typeSpelling: struct _Dart_Handle, usr: c:@S@_Dart_Handle
[WARNING]: No definition found for declaration - (Cursor) spelling: DartCObject, kind: 2, kindSpelling: StructDecl, type: 105, typeSpelling: struct DartCObject, usr: c:@S@DartCObject
[WARNING]: No definition found for declaration - (Cursor) spelling: DartCObject, kind: 2, kindSpelling: StructDecl, type: 105, typeSpelling: struct DartCObject, usr: c:@S@DartCObject
[WARNING]: No definition found for declaration - (Cursor) spelling: _Dart_Handle, kind: 2, kindSpelling: StructDecl, type: 105, typeSpelling: struct _Dart_Handle, usr: c:@S@_Dart_Handle
[WARNING]: No definition found for declaration - (Cursor) spelling: _Dart_Handle, kind: 2, kindSpelling: StructDecl, type: 105, typeSpelling: struct _Dart_Handle, usr: c:@S@_Dart_Handle
[WARNING]: No definition found for declaration - (Cursor) spelling: _Dart_Handle, kind: 2, kindSpelling: StructDecl, type: 105, typeSpelling: struct _Dart_Handle, usr: c:@S@_Dart_Handle
[WARNING]: No definition found for declaration - (Cursor) spelling: _Dart_Handle, kind: 2, kindSpelling: StructDecl, type: 105, typeSpelling: struct _Dart_Handle, usr: c:@S@_Dart_Handle
[WARNING]: No definition found for declaration - (Cursor) spelling: DartCObject, kind: 2, kindSpelling: StructDecl, type: 105, typeSpelling: struct DartCObject, usr: c:@S@DartCObject
[WARNING]: Generated declaration '_Dart_Handle' start's with '_' and therefore will be private.
Finished, Bindings generated in /run/user/1000/.tmpliJK3q
2023/04/18 19:49:04 [DEBUG] command=cd "/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl" && "sh" "-c" "\"flutter\" \"pub\" \"run\" \"ffigen\" \"--config\" \"/run/user/1000/.tmpnisPnU\"" stdout= stderr=
the path is "/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/ios/Runner/bridge_generated.h"
the path is "macos/Runner/bridge_generated.h"
2023/04/18 19:49:04 [DEBUG] distinct_input_types=[]
2023/04/18 19:49:04 [DEBUG] distinct_output_types=[]
2023/04/18 19:49:04 [INFO] Phase: Running build_runner
2023/04/18 19:49:04 [INFO] Phase: Formatting Dart code
2023/04/18 19:49:04 [DEBUG] execute format_dart path=["/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/lib/bridge_generated.dart", "/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/lib/bridge_definitions.dart"] line_length=80
2023/04/18 19:49:04 [DEBUG] execute command: bin=sh args="-c \"dart\" \"format\" \"--line-length\" \"80\" \"/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/lib/bridge_generated.dart\" \"/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/lib/bridge_definitions.dart\"" current_dir=None cmd="sh" "-c" "\"dart\" \"format\" \"--line-length\" \"80\" \"/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/lib/bridge_generated.dart\" \"/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/lib/bridge_definitions.dart\""
Formatted /home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/lib/bridge_generated.dart
Formatted /home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/lib/bridge_definitions.dart
Formatted 2 files (2 changed) in 0.15 seconds.
2023/04/18 19:49:04 [DEBUG] command="sh" "-c" "\"dart\" \"format\" \"--line-length\" \"80\" \"/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/lib/bridge_generated.dart\" \"/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/lib/bridge_definitions.dart\"" stdout= stderr=
2023/04/18 19:49:04 [INFO] Success!
2023/04/18 19:49:04 [INFO] Now go and use it :)

To Reproduce

Clone the InfiniControl repo.
Checkout to the FFI branch
Checkout submodules.
Run the command I put on the issue.

Expected behavior
I expected, as a first attempt of integration, the Enums to be generated. I've tried using #[repr(C)], with no luck yet.
Generated binding code
lib/bridge_generated.dart:
// AUTO GENERATED FILE, DO NOT EDIT.
// Generated by `flutter_rust_bridge`@ 1.75.0.
// ignore_for_file: non_constant_identifier_names, unused_element, duplicate_ignore, directives_ordering, curly_braces_in_flow_control_structures, unnecessary_lambdas, slash_for_doc_comments, prefer_const_literals_to_create_immutables, implicit_dynamic_list_literal, duplicate_import, unused_import, unnecessary_import, prefer_single_quotes, prefer_const_constructors, use_super_parameters, always_use_package_imports, annotate_overrides, invalid_use_of_protected_member, constant_identifier_names, invalid_use_of_internal_member, prefer_is_empty, unnecessary_const

import "bridge_definitions.dart";
import 'dart:convert';
import 'dart:async';
import 'package:meta/meta.dart';
import 'package:flutter_rust_bridge/flutter_rust_bridge.dart';
import 'package:uuid/uuid.dart';

import 'dart:convert';
import 'dart:async';
import 'package:meta/meta.dart';
import 'package:flutter_rust_bridge/flutter_rust_bridge.dart';
import 'package:uuid/uuid.dart';

import 'dart:ffi' as ffi;

class MorphRsImpl implements MorphRs {
  final MorphRsPlatform _platform;
  factory MorphRsImpl(ExternalLibrary dylib) =>
      MorphRsImpl.raw(MorphRsPlatform(dylib));

  /// Only valid on web/WASM platforms.
  factory MorphRsImpl.wasm(FutureOr<WasmModule> module) =>
      MorphRsImpl(module as ExternalLibrary);
  MorphRsImpl.raw(this._platform);
  void dispose() {
    _platform.dispose();
  }
// Section: wire2api

}

// Section: api2wire

// Section: finalizer

class MorphRsPlatform extends FlutterRustBridgeBase<MorphRsWire> {
  MorphRsPlatform(ffi.DynamicLibrary dylib) : super(MorphRsWire(dylib));

// Section: api2wire

// Section: finalizer

// Section: api_fill_to_wire

}

// ignore_for_file: camel_case_types, non_constant_identifier_names, avoid_positional_boolean_parameters, annotate_overrides, constant_identifier_names

// AUTO GENERATED FILE, DO NOT EDIT.
//
// Generated by `package:ffigen`.

/// generated by flutter_rust_bridge
class MorphRsWire implements FlutterRustBridgeWireBase {
  @internal
  late final dartApi = DartApiDl(init_frb_dart_api_dl);

  /// Holds the symbol lookup function.
  final ffi.Pointer<T> Function<T extends ffi.NativeType>(String symbolName)
      _lookup;

  /// The symbols are looked up in [dynamicLibrary].
  MorphRsWire(ffi.DynamicLibrary dynamicLibrary)
      : _lookup = dynamicLibrary.lookup;

  /// The symbols are looked up with [lookup].
  MorphRsWire.fromLookup(
      ffi.Pointer<T> Function<T extends ffi.NativeType>(String symbolName)
          lookup)
      : _lookup = lookup;

  void store_dart_post_cobject(
    int ptr,
  ) {
    return _store_dart_post_cobject(
      ptr,
    );
  }

  late final _store_dart_post_cobjectPtr =
      _lookup<ffi.NativeFunction<ffi.Void Function(ffi.Int)>>(
          'store_dart_post_cobject');
  late final _store_dart_post_cobject =
      _store_dart_post_cobjectPtr.asFunction<void Function(int)>();

  Object get_dart_object(
    int ptr,
  ) {
    return _get_dart_object(
      ptr,
    );
  }

  late final _get_dart_objectPtr =
      _lookup<ffi.NativeFunction<ffi.Handle Function(ffi.Int)>>(
          'get_dart_object');
  late final _get_dart_object =
      _get_dart_objectPtr.asFunction<Object Function(int)>();

  void drop_dart_object(
    int ptr,
  ) {
    return _drop_dart_object(
      ptr,
    );
  }

  late final _drop_dart_objectPtr =
      _lookup<ffi.NativeFunction<ffi.Void Function(ffi.Int)>>(
          'drop_dart_object');
  late final _drop_dart_object =
      _drop_dart_objectPtr.asFunction<void Function(int)>();

  int new_dart_opaque(
    Object handle,
  ) {
    return _new_dart_opaque(
      handle,
    );
  }

  late final _new_dart_opaquePtr =
      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Handle)>>(
          'new_dart_opaque');
  late final _new_dart_opaque =
      _new_dart_opaquePtr.asFunction<int Function(Object)>();

  int init_frb_dart_api_dl(
    ffi.Pointer<ffi.Void> obj,
  ) {
    return _init_frb_dart_api_dl(
      obj,
    );
  }

  late final _init_frb_dart_api_dlPtr =
      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Pointer<ffi.Void>)>>(
          'init_frb_dart_api_dl');
  late final _init_frb_dart_api_dl = _init_frb_dart_api_dlPtr
      .asFunction<int Function(ffi.Pointer<ffi.Void>)>();

  void free_WireSyncReturn(
    WireSyncReturn ptr,
  ) {
    return _free_WireSyncReturn(
      ptr,
    );
  }

  late final _free_WireSyncReturnPtr =
      _lookup<ffi.NativeFunction<ffi.Void Function(WireSyncReturn)>>(
          'free_WireSyncReturn');
  late final _free_WireSyncReturn =
      _free_WireSyncReturnPtr.asFunction<void Function(WireSyncReturn)>();
}

class _Dart_Handle extends ffi.Opaque {}

lib/bridge_definitions.dart
// AUTO GENERATED FILE, DO NOT EDIT.
// Generated by `flutter_rust_bridge`@ 1.75.0.
// ignore_for_file: non_constant_identifier_names, unused_element, duplicate_ignore, directives_ordering, curly_braces_in_flow_control_structures, unnecessary_lambdas, slash_for_doc_comments, prefer_const_literals_to_create_immutables, implicit_dynamic_list_literal, duplicate_import, unused_import, unnecessary_import, prefer_single_quotes, prefer_const_constructors, use_super_parameters, always_use_package_imports, annotate_overrides, invalid_use_of_protected_member, constant_identifier_names, invalid_use_of_internal_member, prefer_is_empty, unnecessary_const

import 'dart:convert';
import 'dart:async';
import 'package:meta/meta.dart';
import 'package:flutter_rust_bridge/flutter_rust_bridge.dart';
import 'package:uuid/uuid.dart';

abstract class MorphRs {}

ios/Runner/bridge_generated.h:
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>
typedef struct _Dart_Handle* Dart_Handle;

typedef struct DartCObject DartCObject;

typedef int64_t DartPort;

typedef bool (*DartPostCObjectFnType)(DartPort port_id, void *message);

typedef struct DartCObject *WireSyncReturn;

void store_dart_post_cobject(DartPostCObjectFnType ptr);

Dart_Handle get_dart_object(uintptr_t ptr);

void drop_dart_object(uintptr_t ptr);

uintptr_t new_dart_opaque(Dart_Handle handle);

intptr_t init_frb_dart_api_dl(void *obj);

void free_WireSyncReturn(WireSyncReturn ptr);

static int64_t dummy_method_to_enforce_bundling(void) {
    int64_t dummy_var = 0;
    dummy_var ^= ((int64_t) (void*) free_WireSyncReturn);
    dummy_var ^= ((int64_t) (void*) store_dart_post_cobject);
    dummy_var ^= ((int64_t) (void*) get_dart_object);
    dummy_var ^= ((int64_t) (void*) drop_dart_object);
    dummy_var ^= ((int64_t) (void*) new_dart_opaque);
    return dummy_var;
}

macos/Runner/bridge_generated.h:
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>
typedef struct _Dart_Handle* Dart_Handle;

typedef struct DartCObject DartCObject;

typedef int64_t DartPort;

typedef bool (*DartPostCObjectFnType)(DartPort port_id, void *message);

typedef struct DartCObject *WireSyncReturn;

void store_dart_post_cobject(DartPostCObjectFnType ptr);

Dart_Handle get_dart_object(uintptr_t ptr);

void drop_dart_object(uintptr_t ptr);

uintptr_t new_dart_opaque(Dart_Handle handle);

intptr_t init_frb_dart_api_dl(void *obj);

void free_WireSyncReturn(WireSyncReturn ptr);

static int64_t dummy_method_to_enforce_bundling(void) {
    int64_t dummy_var = 0;
    dummy_var ^= ((int64_t) (void*) free_WireSyncReturn);
    dummy_var ^= ((int64_t) (void*) store_dart_post_cobject);
    dummy_var ^= ((int64_t) (void*) get_dart_object);
    dummy_var ^= ((int64_t) (void*) drop_dart_object);
    dummy_var ^= ((int64_t) (void*) new_dart_opaque);
    return dummy_var;
}

OS
NixOS - Nixpkgs stable.
Version of flutter_rust_bridge_codegen
1.75.0
Flutter info
[  +44 ms] executing: uname -m
[  +24 ms] Exit code 0 from: uname -m
[        ] x86_64
[   +3 ms] executing: [/nix/store/a6cjisqglgkfw6cw5rkm42qz34zz9gq8-flutter-3.3.8-unwrapped/] git -c log.showSignature=false --git-dir .git log -n 1 --pretty=format:%H
[   +4 ms] Exit code 0 from: git -c log.showSignature=false --git-dir .git log -n 1 --pretty=format:%H
[        ] 52b3dc25f6471c27b2144594abb11c741cb88f57
[        ] executing: [/nix/store/a6cjisqglgkfw6cw5rkm42qz34zz9gq8-flutter-3.3.8-unwrapped/] git --git-dir .git tag --points-at 52b3dc25f6471c27b2144594abb11c741cb88f57
[   +9 ms] Exit code 0 from: git --git-dir .git tag --points-at 52b3dc25f6471c27b2144594abb11c741cb88f57
[        ] 3.3.8
[  +39 ms] Unable to locate an Android SDK.
[   +2 ms] executing: [/nix/store/a6cjisqglgkfw6cw5rkm42qz34zz9gq8-flutter-3.3.8-unwrapped/] git --git-dir .git rev-parse --abbrev-ref HEAD
[   +3 ms] Exit code 0 from: git --git-dir .git rev-parse --abbrev-ref HEAD
[        ] stable
[  +34 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[   +1 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[  +24 ms] Artifact Instance of 'MaterialFonts' is not required, skipping update.
[        ] Artifact Instance of 'GradleWrapper' is not required, skipping update.
[        ] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[        ] Artifact Instance of 'FlutterSdk' is not required, skipping update.
[        ] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FontSubsetArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'PubDependencies' is not required, skipping update.
[  +39 ms] executing: [/nix/store/a6cjisqglgkfw6cw5rkm42qz34zz9gq8-flutter-3.3.8-unwrapped/] git --git-dir .git rev-parse --abbrev-ref HEAD
[   +3 ms] Exit code 0 from: git --git-dir .git rev-parse --abbrev-ref HEAD
[        ] stable
[        ] Skipping request to fetchTags - on well known channel stable.
[        ] executing: [/nix/store/a6cjisqglgkfw6cw5rkm42qz34zz9gq8-flutter-3.3.8-unwrapped/] git --git-dir .git tag --points-at HEAD
[   +9 ms] Exit code 0 from: git --git-dir .git tag --points-at HEAD
[        ] 3.3.8
[   +9 ms] executing: [/nix/store/a6cjisqglgkfw6cw5rkm42qz34zz9gq8-flutter-3.3.8-unwrapped/] git --git-dir .git rev-parse --abbrev-ref --symbolic @{upstream}
[   +4 ms] Exit code 0 from: git --git-dir .git rev-parse --abbrev-ref --symbolic @{upstream}
[        ] origin/stable
[        ] executing: [/nix/store/a6cjisqglgkfw6cw5rkm42qz34zz9gq8-flutter-3.3.8-unwrapped/] git --git-dir .git ls-remote --get-url origin
[   +3 ms] Exit code 0 from: git --git-dir .git ls-remote --get-url origin
[        ] https://github.com/flutter/flutter.git
[  +10 ms] executing: [/nix/store/a6cjisqglgkfw6cw5rkm42qz34zz9gq8-flutter-3.3.8-unwrapped/] git -c log.showSignature=false --git-dir .git log -n 1 --pretty=format:%ar
[   +4 ms] Exit code 0 from: git -c log.showSignature=false --git-dir .git log -n 1 --pretty=format:%ar
[        ] 5 months ago
[  +29 ms] [✓] Flutter (Channel stable, 3.3.8, on NixOS 22.11 (Raccoon) 6.2.11, locale en_GB.UTF-8)
[        ]     • Flutter version 3.3.8 on channel stable at /nix/store/a6cjisqglgkfw6cw5rkm42qz34zz9gq8-flutter-3.3.8-unwrapped
[        ]     • Upstream repository https://github.com/flutter/flutter.git
[        ]     • Framework revision 52b3dc25f6 (5 months ago), 2022-11-09 12:09:26 +0800
[        ]     • Engine revision 857bd6b74c
[        ]     • Dart version 2.18.4
[        ]     • DevTools version 2.15.0
[        ] [✗] Android toolchain - develop for Android devices
[        ]     ✗ ANDROID_HOME = /home/dzrodriguez/Android/Sdk
[        ]       but Android SDK not found at this location.
[        ] [✗] Chrome - develop for the web (Cannot find Chrome executable at /usr/local/bin/chrome)
[        ]     ! /usr/local/bin/chrome is not executable.
[  +59 ms] [✗] Linux toolchain - develop for Linux desktop
[        ]     • clang version 11.1.0
[        ]     ✗ CMake is required for Linux development.
[        ]       It is likely available from your distribution (e.g.: apt install cmake), or can be downloaded from https://cmake.org/download/
[        ]     ✗ ninja is required for Linux development.
[        ]       It is likely available from your distribution (e.g.: apt install ninja-build), or can be downloaded from https://github.com/ninja-build/ninja/releases
[        ]     ✗ pkg-config is required for Linux development.
[        ]       It is likely available from your distribution (e.g.: apt install pkg-config), or can be downloaded from https://www.freedesktop.org/wiki/Software/pkg-config/
[        ] [!] Android Studio (not installed)
[        ]     • Android Studio not found; download from https://developer.android.com/studio/index.html
[        ]       (or visit https://flutter.dev/docs/get-started/install/linux#android-setup for detailed instructions).
[        ] [✓] Connected device (1 available)
[        ]     • Linux (desktop) • linux • linux-x64 • NixOS 22.11 (Raccoon) 6.2.11
[+1193 ms] [✓] HTTP Host Availability
[        ]     • All required HTTP hosts are available
[        ] ! Doctor found issues in 4 categories.
[   +5 ms] "flutter doctor" took 1,418ms.
[  +29 ms] ensureAnalyticsSent: 26ms
[        ] Running shutdown hooks
[        ] Shutdown hooks complete
[        ] exiting with code 0

Version of clang++
clang version 11.1.0
Version of ffigen
7.2.4
Additional context
No response

I've just fixed the formatting in the issue. I used code tags, and I think it conflicted with the template. My apologies for the mess... I didn't realise until I checked just now.

Tried again, with specifying an include path to the C stdlib.
RUST_LOG=debug flutter_rust_bridge_codegen --rust-input native/src/api.rs --dart-output lib/bridge_generated.dart --dart-decl-output lib/bridge_definitions.dart --c-output ios/Runner/bridge_generated.h --extra-c-output-path macos/Runner --llvm-path /nix/store/znnj2g2pnvbjn701w7j9imxmydnkafrq-clang-11.1.0-lib/lib/libclang.so --llvm-compiler-opts="-ICPATH=/nix/store/byj91synm4j9i00vfqm9jmq4w4dmhys4-libcxx-11.1.0-dev/include/c++/v1":
2023/04/18 23:38:05 [DEBUG] configs=[Opts { rust_input_path: "/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/native/src/api.rs", dart_output_path: "/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/lib/bridge_generated.dart", dart_decl_output_path: Some("/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/lib/bridge_definitions.dart"), c_output_path: ["/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/ios/Runner/bridge_generated.h", "macos/Runner/bridge_generated.h"], rust_crate_dir: "/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/native", rust_output_path: "/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/native/src/bridge_generated.rs", class_name: "MorphRs", dart_format_line_length: 80, dart_enums_style: false, skip_add_mod_to_lib: false, llvm_path: ["/nix/store/znnj2g2pnvbjn701w7j9imxmydnkafrq-clang-11.1.0-lib/lib/libclang.so"], llvm_compiler_opts: "-ICPATH=/nix/store/byj91synm4j9i00vfqm9jmq4w4dmhys4-libcxx-11.1.0-dev/include/c++/v1", manifest_path: "/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/native/Cargo.toml", dart_root: Some("/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl"), build_runner: true, block_index: BlockIndex(0), skip_deps_check: false, wasm_enabled: false, inline_rust: false, bridge_in_method: true, extra_headers: "" }]
2023/04/18 23:38:05 [DEBUG] Trying to parse "/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/native/src/api.rs"
2023/04/18 23:38:05 [DEBUG] Trying to parse "/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/native/src/bridge_generated.rs"
2023/04/18 23:38:05 [WARN] Skipping unresolvable module io (tried /home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/native/src/io.rs, /home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/native/src/io/mod.rs, /home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/native/src/bridge_generated/io.rs, /home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/native/src/bridge_generated/io/mod.rs, )
2023/04/18 23:38:05 [INFO] Phase: Validate config(s)
2023/04/18 23:38:05 [INFO] Picked config: Opts { rust_input_path: "/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/native/src/api.rs", dart_output_path: "/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/lib/bridge_generated.dart", dart_decl_output_path: Some("/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/lib/bridge_definitions.dart"), c_output_path: ["/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/ios/Runner/bridge_generated.h", "macos/Runner/bridge_generated.h"], rust_crate_dir: "/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/native", rust_output_path: "/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/native/src/bridge_generated.rs", class_name: "MorphRs", dart_format_line_length: 80, dart_enums_style: false, skip_add_mod_to_lib: false, llvm_path: ["/nix/store/znnj2g2pnvbjn701w7j9imxmydnkafrq-clang-11.1.0-lib/lib/libclang.so"], llvm_compiler_opts: "-ICPATH=/nix/store/byj91synm4j9i00vfqm9jmq4w4dmhys4-libcxx-11.1.0-dev/include/c++/v1", manifest_path: "/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/native/Cargo.toml", dart_root: Some("/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl"), build_runner: true, block_index: BlockIndex(0), skip_deps_check: false, wasm_enabled: false, inline_rust: false, bridge_in_method: true, extra_headers: "" }
2023/04/18 23:38:05 [INFO] Phase: Parse source code to AST, then to IR
2023/04/18 23:38:05 [DEBUG] Trying to parse "/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/native/src/api.rs"
2023/04/18 23:38:05 [DEBUG] Trying to parse "/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/native/src/bridge_generated.rs"
2023/04/18 23:38:05 [WARN] Skipping unresolvable module io (tried /home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/native/src/io.rs, /home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/native/src/io/mod.rs, /home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/native/src/bridge_generated/io.rs, /home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/native/src/bridge_generated/io/mod.rs, )
2023/04/18 23:38:05 [INFO] Phase: Transform IR
2023/04/18 23:38:05 [INFO] Phase: Generate Rust code
2023/04/18 23:38:05 [DEBUG] execute format_rust path=["/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/native/src/bridge_generated.rs"]
2023/04/18 23:38:05 [DEBUG] execute command: bin=rustfmt args="/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/native/src/bridge_generated.rs" current_dir=None cmd="rustfmt" "/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/native/src/bridge_generated.rs"
2023/04/18 23:38:05 [DEBUG] command="rustfmt" "/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/native/src/bridge_generated.rs" stdout= stderr=
2023/04/18 23:38:05 [INFO] Phase: Generate Dart code
2023/04/18 23:38:05 [DEBUG] Guessing toolchain the runner is run into
2023/04/18 23:38:05 [DEBUG] execute command: bin=sh args="-c \"flutter\" \"--version\"" current_dir=None cmd="sh" "-c" "\"flutter\" \"--version\""
Flutter 3.3.8 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 52b3dc25f6 (5 months ago) • 2022-11-09 12:09:26 +0800
Engine • revision 857bd6b74c
Tools • Dart 2.18.4 • DevTools 2.15.0
2023/04/18 23:38:06 [DEBUG] command="sh" "-c" "\"flutter\" \"--version\"" stdout= stderr=
2023/04/18 23:38:06 [DEBUG] Checking presence of ffi in dependencies at /home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl
2023/04/18 23:38:06 [DEBUG] Checking presence of ffi in dependencies at /home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl
2023/04/18 23:38:06 [DEBUG] Checking presence of ffigen in dev_dependencies at /home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl
2023/04/18 23:38:06 [DEBUG] Checking presence of ffigen in dev_dependencies at /home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl
2023/04/18 23:38:06 [INFO] Phase: Generating Dart bindings for Rust
2023/04/18 23:38:06 [DEBUG] execute cbindgen rust_crate_dir=/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/native c_output_path=/run/user/1000/.tmpoNAQfO.h
2023/04/18 23:38:06 [DEBUG] cbindgen config: Config {
    header: None,
    includes: [],
    sys_includes: [
        "stdbool.h",
        "stdint.h",
        "stdlib.h",
    ],
    after_includes: Some(
        "typedef struct _Dart_Handle* Dart_Handle;",
    ),
    trailer: None,
    include_guard: None,
    pragma_once: false,
    no_includes: true,
    autogen_warning: None,
    include_version: false,
    namespace: None,
    namespaces: None,
    using_namespaces: None,
    braces: SameLine,
    line_length: 100,
    tab_width: 2,
    line_endings: LF,
    language: C,
    cpp_compat: false,
    style: Both,
    sort_by: None,
    usize_is_size_t: false,
    parse: ParseConfig {
        parse_deps: false,
        include: None,
        exclude: [],
        expand: ParseExpandConfig {
            crates: [],
            all_features: false,
            default_features: true,
            features: None,
            profile: Debug,
        },
        clean: false,
        extra_bindings: [],
    },
    export: ExportConfig {
        include: [],
        exclude: [],
        rename: {},
        pre_body: {},
        body: {},
        prefix: None,
        item_types: [],
        renaming_overrides_prefixing: false,
        mangle: MangleConfig {
            rename_types: None,
            remove_underscores: false,
        },
    },
    macro_expansion: MacroExpansionConfig {
        bitflags: false,
    },
    layout: LayoutConfig {
        packed: None,
        aligned_n: None,
    },
    function: FunctionConfig {
        prefix: None,
        postfix: None,
        must_use: None,
        args: Auto,
        rename_args: None,
        swift_name_macro: None,
        sort_by: None,
        no_return: None,
    },
    structure: StructConfig {
        rename_fields: None,
        derive_constructor: false,
        derive_eq: false,
        derive_neq: false,
        derive_lt: false,
        derive_lte: false,
        derive_gt: false,
        derive_gte: false,
        derive_ostream: false,
        associated_constants_in_body: false,
        must_use: None,
    },
    enumeration: EnumConfig {
        rename_variants: None,
        rename_variant_name_fields: SnakeCase,
        add_sentinel: false,
        prefix_with_name: false,
        derive_helper_methods: false,
        derive_const_casts: false,
        derive_mut_casts: false,
        cast_assert_name: None,
        must_use: None,
        derive_tagged_enum_destructor: false,
        derive_tagged_enum_copy_constructor: false,
        derive_tagged_enum_copy_assignment: false,
        derive_ostream: false,
        enum_class: true,
        private_default_tagged_enum_constructor: false,
    },
    constant: ConstantConfig {
        allow_static_const: true,
        allow_constexpr: true,
        sort_by: None,
    },
    defines: {},
    documentation: true,
    documentation_style: Auto,
    documentation_length: Full,
    pointer: PtrConfig {
        non_null_attribute: None,
    },
    only_target_dependencies: false,
    cython: CythonConfig {
        header: None,
        cimports: {},
    },
}
2023/04/18 23:38:06 [DEBUG] Parsing crate morph-rs
2023/04/18 23:38:06 [INFO] Take morph-rs::EarbudsKind.
2023/04/18 23:38:06 [INFO] Take morph-rs::PduKind.
2023/04/18 23:38:06 [INFO] Take morph-rs::FeatureKind.
2023/04/18 23:38:06 [INFO] Take morph-rs::DartPort.
2023/04/18 23:38:06 [INFO] Take morph-rs::DartPostCObjectFnType.
2023/04/18 23:38:06 [INFO] Take morph-rs::store_dart_post_cobject.
2023/04/18 23:38:06 [INFO] Take morph-rs::get_dart_object.
2023/04/18 23:38:06 [INFO] Take morph-rs::drop_dart_object.
2023/04/18 23:38:06 [INFO] Take morph-rs::new_dart_opaque.
2023/04/18 23:38:06 [INFO] Take morph-rs::init_frb_dart_api_dl.
2023/04/18 23:38:06 [INFO] Take morph-rs::DartCObject - opaque (Struct is not marked #[repr(C)] or #[repr(transparent)].).
2023/04/18 23:38:06 [INFO] Take morph-rs::WireSyncReturn.
2023/04/18 23:38:06 [INFO] Take morph-rs::free_WireSyncReturn.
2023/04/18 23:38:06 [WARN] Can't find Dart_Handle. This usually means that this type was incompatible or not found.
2023/04/18 23:38:06 [WARN] Can't find Dart_Handle. This usually means that this type was incompatible or not found.
2023/04/18 23:38:06 [WARN] Missing `[defines]` entry for `target_family = "wasm"` in cbindgen config.
2023/04/18 23:38:06 [WARN] Missing `[defines]` entry for `target_family = "wasm"` in cbindgen config.
2023/04/18 23:38:06 [DEBUG] execute ffigen c_path=/run/user/1000/.tmpoNAQfO.h dart_path=/run/user/1000/.tmpZwnHKC llvm_path=["/nix/store/znnj2g2pnvbjn701w7j9imxmydnkafrq-clang-11.1.0-lib/lib/libclang.so"]
2023/04/18 23:38:06 [DEBUG] ffigen config:
        output: '/run/user/1000/.tmpZwnHKC'
        name: 'MorphRsWire'
        description: 'generated by flutter_rust_bridge'
        headers:
          entry-points:
            - '/run/user/1000/.tmpoNAQfO.h'
          include-directives:
            - '/run/user/1000/.tmpoNAQfO.h'
        comments: false
        preamble: |
          // ignore_for_file: camel_case_types, non_constant_identifier_names, avoid_positional_boolean_parameters, annotate_overrides, constant_identifier_names

        llvm-path:
           - '/nix/store/znnj2g2pnvbjn701w7j9imxmydnkafrq-clang-11.1.0-lib/lib/libclang.so'

        compiler-opts:
            - '-ICPATH=/nix/store/byj91synm4j9i00vfqm9jmq4w4dmhys4-libcxx-11.1.0-dev/include/c++/v1'
2023/04/18 23:38:06 [DEBUG] ffigen config_file: NamedTempFile("/run/user/1000/.tmpBG97pe")
2023/04/18 23:38:06 [DEBUG] Guessing toolchain the runner is run into
2023/04/18 23:38:06 [DEBUG] execute command: bin=sh args="-c \"flutter\" \"pub\" \"run\" \"ffigen\" \"--config\" \"/run/user/1000/.tmpBG97pe\"" current_dir=Some("/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl") cmd=cd "/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl" && "sh" "-c" "\"flutter\" \"pub\" \"run\" \"ffigen\" \"--config\" \"/run/user/1000/.tmpBG97pe\""
Running in Directory: '/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl'
Using complete dylib path: /nix/store/znnj2g2pnvbjn701w7j9imxmydnkafrq-clang-11.1.0-lib/lib/libclang.so from llvm-path.
Input Headers: [/run/user/1000/.tmpoNAQfO.h]
[SEVERE] : Header /run/user/1000/.tmpoNAQfO.h: Total errors/warnings: 1.
[SEVERE] :     /nix/store/byj91synm4j9i00vfqm9jmq4w4dmhys4-libcxx-11.1.0-dev/include/c++/v1/stdbool.h:28:15: fatal error: 'stdbool.h' file not found [Lexical or Preprocessor Issue]
[WARNING]: No definition found for declaration - (Cursor) spelling: _Dart_Handle, kind: 2, kindSpelling: StructDecl, type: 105, typeSpelling: struct _Dart_Handle, usr: c:@S@_Dart_Handle
[WARNING]: No definition found for declaration - (Cursor) spelling: _Dart_Handle, kind: 2, kindSpelling: StructDecl, type: 105, typeSpelling: struct _Dart_Handle, usr: c:@S@_Dart_Handle
[WARNING]: No definition found for declaration - (Cursor) spelling: DartCObject, kind: 2, kindSpelling: StructDecl, type: 105, typeSpelling: struct DartCObject, usr: c:@S@DartCObject
[WARNING]: No definition found for declaration - (Cursor) spelling: DartCObject, kind: 2, kindSpelling: StructDecl, type: 105, typeSpelling: struct DartCObject, usr: c:@S@DartCObject
[WARNING]: No definition found for declaration - (Cursor) spelling: _Dart_Handle, kind: 2, kindSpelling: StructDecl, type: 105, typeSpelling: struct _Dart_Handle, usr: c:@S@_Dart_Handle
[WARNING]: No definition found for declaration - (Cursor) spelling: _Dart_Handle, kind: 2, kindSpelling: StructDecl, type: 105, typeSpelling: struct _Dart_Handle, usr: c:@S@_Dart_Handle
[WARNING]: No definition found for declaration - (Cursor) spelling: _Dart_Handle, kind: 2, kindSpelling: StructDecl, type: 105, typeSpelling: struct _Dart_Handle, usr: c:@S@_Dart_Handle
[WARNING]: No definition found for declaration - (Cursor) spelling: _Dart_Handle, kind: 2, kindSpelling: StructDecl, type: 105, typeSpelling: struct _Dart_Handle, usr: c:@S@_Dart_Handle
[WARNING]: No definition found for declaration - (Cursor) spelling: DartCObject, kind: 2, kindSpelling: StructDecl, type: 105, typeSpelling: struct DartCObject, usr: c:@S@DartCObject
[WARNING]: Generated declaration '_Dart_Handle' start's with '_' and therefore will be private.
Finished, Bindings generated in /run/user/1000/.tmpZwnHKC
2023/04/18 23:38:07 [DEBUG] command=cd "/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl" && "sh" "-c" "\"flutter\" \"pub\" \"run\" \"ffigen\" \"--config\" \"/run/user/1000/.tmpBG97pe\"" stdout= stderr=
the path is "/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/ios/Runner/bridge_generated.h"
the path is "macos/Runner/bridge_generated.h"
2023/04/18 23:38:07 [DEBUG] distinct_input_types=[]
2023/04/18 23:38:07 [DEBUG] distinct_output_types=[]
2023/04/18 23:38:07 [INFO] Phase: Running build_runner
2023/04/18 23:38:07 [INFO] Phase: Formatting Dart code
2023/04/18 23:38:07 [DEBUG] execute format_dart path=["/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/lib/bridge_generated.dart", "/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/lib/bridge_definitions.dart"] line_length=80
2023/04/18 23:38:07 [DEBUG] execute command: bin=sh args="-c \"dart\" \"format\" \"--line-length\" \"80\" \"/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/lib/bridge_generated.dart\" \"/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/lib/bridge_definitions.dart\"" current_dir=None cmd="sh" "-c" "\"dart\" \"format\" \"--line-length\" \"80\" \"/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/lib/bridge_generated.dart\" \"/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/lib/bridge_definitions.dart\""
Formatted /home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/lib/bridge_generated.dart
Formatted /home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/lib/bridge_definitions.dart
Formatted 2 files (2 changed) in 0.14 seconds.
2023/04/18 23:38:07 [DEBUG] command="sh" "-c" "\"dart\" \"format\" \"--line-length\" \"80\" \"/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/lib/bridge_generated.dart\" \"/home/dzr/projects/git.shymega.org.uk/open-morphs/MorphInfiniControl/lib/bridge_definitions.dart\"" stdout= stderr=
2023/04/18 23:38:07 [INFO] Success!
2023/04/18 23:38:07 [INFO] Now go and use it :)

I think it looks like it does detect the enums - could it be the Kind suffix that's a known bug I believe? Doing a grep shows the Enum definitions, but only on the Rust side.

So could you plz show the api.rs?

Here is api.rs. I've tried making it a public module in lib.rs, to no avail.

For contexts sake, the repository for the Flutter app is here, and the Rust backend is here.
It's linked in via submodules. I realised I didn't actually link those repositories in the original issue...

Hmm at first glance the enums are normal. Maybe we should make a minimal reproducible sample? Or reproduce it in the pure_dart example inside this repo

I'm not sure when I'll have time to do that, but I'll try next week, if I can.

Sure, take your time!

@fzyzcjy I note the build.rs in pure_dart/rust. Do I need that in my code? I'm not sure if you want me to put my enums in that pure_dart/rust/src folder, either.

So I've tried compiling my app on a Fedora machine, rather than NixOS. Still had to set $CPATH. No luck still. I also tried adding #[must_use] to the enums.
This log entry is of interest: 2023/04/23 23:08:44 [WARN] Parsing crate morph-rs: can't find mod bridge_generated_io.`.
I think this is something I can't debug on my own, and needs further investigation by someone more familiar with this code-gen tool... would you be able to devote some time to this, @fzyzcjy? I know it's a volunteer project :| I understand if you can't. But I  can see it's 'taking' the enums, just not generating the Dart or C headers.
Thanks.
Command output:
RUST_LOG=debug flutter_rust_bridge_codegen --rust-input native/src/lib.rs --dart-output lib/bridge_generated.dart --dart-decl-output lib/bridge_definitions.dart --c-output ios/Runner/bridge_generated.h --extra-c-output-path macos/Runner/bridge_generated.h --skip-add-mod-to-lib:
2023/04/23 23:08:04 [DEBUG] configs=[Opts { rust_input_path: "/home/dzr/MorphInfiniControl/native/src/lib.rs", dart_output_path: "/home/dzr/MorphInfiniControl/lib/bridge_generated.dart", dart_decl_output_path: Some("/home/dzr/MorphInfiniControl/lib/bridge_definitions.dart"), c_output_path: ["/home/dzr/MorphInfiniControl/ios/Runner/bridge_generated.h", "macos/Runner/bridge_generated.h/bridge_generated.h"], rust_crate_dir: "/home/dzr/MorphInfiniControl/native", rust_output_path: "/home/dzr/MorphInfiniControl/native/src/bridge_generated.rs", class_name: "MorphRs", dart_format_line_length: 80, dart_enums_style: false, skip_add_mod_to_lib: true, llvm_path: ["/opt/homebrew/opt/llvm", "/usr/local/opt/llvm", "/usr/lib/llvm-9", "/usr/lib/llvm-10", "/usr/lib/llvm-11", "/usr/lib/llvm-12", "/usr/lib/llvm-13", "/usr/lib/llvm-14", "/usr/lib/", "/usr/lib64/", "C:/Program Files/llvm", "C:/msys64/mingw64"], llvm_compiler_opts: "", manifest_path: "/home/dzr/MorphInfiniControl/native/Cargo.toml", dart_root: Some("/home/dzr/MorphInfiniControl"), build_runner: true, block_index: BlockIndex(0), skip_deps_check: false, wasm_enabled: false, inline_rust: false, bridge_in_method: true, extra_headers: "" }]
2023/04/23 23:08:05 [DEBUG] Trying to parse "/home/dzr/MorphInfiniControl/native/src/api.rs"
2023/04/23 23:08:05 [DEBUG] Trying to parse "/home/dzr/MorphInfiniControl/native/src/bridge_generated.rs"
2023/04/23 23:08:05 [WARN] Skipping unresolvable module io (tried /home/dzr/MorphInfiniControl/native/src/io.rs, /home/dzr/MorphInfiniControl/native/src/io/mod.rs, /home/dzr/MorphInfiniControl/native/src/bridge_generated/io.rs, /home/dzr/MorphInfiniControl/native/src/bridge_generated/io/mod.rs, )
2023/04/23 23:08:05 [WARN] Skipping unresolvable module bridge_generated_io (tried /home/dzr/MorphInfiniControl/native/src/bridge_generated_io.rs, /home/dzr/MorphInfiniControl/native/src/bridge_generated_io/mod.rs, /home/dzr/MorphInfiniControl/native/src/lib/bridge_generated_io.rs, /home/dzr/MorphInfiniControl/native/src/lib/bridge_generated_io/mod.rs, )
2023/04/23 23:08:05 [INFO] Phase: Validate config(s)
2023/04/23 23:08:05 [INFO] Picked config: Opts { rust_input_path: "/home/dzr/MorphInfiniControl/native/src/lib.rs", dart_output_path: "/home/dzr/MorphInfiniControl/lib/bridge_generated.dart", dart_decl_output_path: Some("/home/dzr/MorphInfiniControl/lib/bridge_definitions.dart"), c_output_path: ["/home/dzr/MorphInfiniControl/ios/Runner/bridge_generated.h", "macos/Runner/bridge_generated.h/bridge_generated.h"], rust_crate_dir: "/home/dzr/MorphInfiniControl/native", rust_output_path: "/home/dzr/MorphInfiniControl/native/src/bridge_generated.rs", class_name: "MorphRs", dart_format_line_length: 80, dart_enums_style: false, skip_add_mod_to_lib: true, llvm_path: ["/opt/homebrew/opt/llvm", "/usr/local/opt/llvm", "/usr/lib/llvm-9", "/usr/lib/llvm-10", "/usr/lib/llvm-11", "/usr/lib/llvm-12", "/usr/lib/llvm-13", "/usr/lib/llvm-14", "/usr/lib/", "/usr/lib64/", "C:/Program Files/llvm", "C:/msys64/mingw64"], llvm_compiler_opts: "", manifest_path: "/home/dzr/MorphInfiniControl/native/Cargo.toml", dart_root: Some("/home/dzr/MorphInfiniControl"), build_runner: true, block_index: BlockIndex(0), skip_deps_check: false, wasm_enabled: false, inline_rust: false, bridge_in_method: true, extra_headers: "" }
2023/04/23 23:08:05 [INFO] Phase: Parse source code to AST, then to IR
2023/04/23 23:08:05 [DEBUG] Trying to parse "/home/dzr/MorphInfiniControl/native/src/api.rs"
2023/04/23 23:08:05 [DEBUG] Trying to parse "/home/dzr/MorphInfiniControl/native/src/bridge_generated.rs"
2023/04/23 23:08:05 [WARN] Skipping unresolvable module io (tried /home/dzr/MorphInfiniControl/native/src/io.rs, /home/dzr/MorphInfiniControl/native/src/io/mod.rs, /home/dzr/MorphInfiniControl/native/src/bridge_generated/io.rs, /home/dzr/MorphInfiniControl/native/src/bridge_generated/io/mod.rs, )
2023/04/23 23:08:05 [WARN] Skipping unresolvable module bridge_generated_io (tried /home/dzr/MorphInfiniControl/native/src/bridge_generated_io.rs, /home/dzr/MorphInfiniControl/native/src/bridge_generated_io/mod.rs, /home/dzr/MorphInfiniControl/native/src/lib/bridge_generated_io.rs, /home/dzr/MorphInfiniControl/native/src/lib/bridge_generated_io/mod.rs, )
2023/04/23 23:08:05 [INFO] Phase: Transform IR
2023/04/23 23:08:05 [INFO] Phase: Generate Rust code
2023/04/23 23:08:05 [DEBUG] execute format_rust path=["/home/dzr/MorphInfiniControl/native/src/bridge_generated.rs"]
2023/04/23 23:08:05 [DEBUG] execute command: bin=rustfmt args="/home/dzr/MorphInfiniControl/native/src/bridge_generated.rs" current_dir=None cmd="rustfmt" "/home/dzr/MorphInfiniControl/native/src/bridge_generated.rs"
2023/04/23 23:08:05 [DEBUG] command="rustfmt" "/home/dzr/MorphInfiniControl/native/src/bridge_generated.rs" stdout= stderr=
2023/04/23 23:08:05 [INFO] Phase: Generate Dart code
2023/04/23 23:08:05 [DEBUG] Guessing toolchain the runner is run into
2023/04/23 23:08:05 [DEBUG] execute command: bin=sh args="-c \"flutter\" \"--version\"" current_dir=None cmd="sh" "-c" "\"flutter\" \"--version\""
Flutter 3.7.12 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 4d9e56e694 (6 days ago) • 2023-04-17 21:47:46 -0400
Engine • revision 1a65d409c7
Tools • Dart 2.19.6 • DevTools 2.20.1
2023/04/23 23:08:05 [DEBUG] command="sh" "-c" "\"flutter\" \"--version\"" stdout= stderr=
2023/04/23 23:08:05 [DEBUG] Checking presence of ffi in dependencies at /home/dzr/MorphInfiniControl
2023/04/23 23:08:05 [DEBUG] Checking presence of ffi in dependencies at /home/dzr/MorphInfiniControl
2023/04/23 23:08:05 [DEBUG] Checking presence of ffigen in dev_dependencies at /home/dzr/MorphInfiniControl
2023/04/23 23:08:05 [DEBUG] Checking presence of ffigen in dev_dependencies at /home/dzr/MorphInfiniControl
2023/04/23 23:08:05 [INFO] Phase: Generating Dart bindings for Rust
2023/04/23 23:08:05 [DEBUG] execute cbindgen rust_crate_dir=/home/dzr/MorphInfiniControl/native c_output_path=/tmp/.tmp39NCSD.h
2023/04/23 23:08:05 [DEBUG] cbindgen config: Config {
    header: None,
    includes: [],
    sys_includes: [
        "stdbool.h",
        "stdint.h",
        "stdlib.h",
    ],
    after_includes: Some(
        "typedef struct _Dart_Handle* Dart_Handle;",
    ),
    trailer: None,
    include_guard: None,
    pragma_once: false,
    no_includes: true,
    autogen_warning: None,
    include_version: false,
    namespace: None,
    namespaces: None,
    using_namespaces: None,
    braces: SameLine,
    line_length: 100,
    tab_width: 2,
    line_endings: LF,
    language: C,
    cpp_compat: false,
    style: Both,
    sort_by: None,
    usize_is_size_t: false,
    parse: ParseConfig {
        parse_deps: false,
        include: None,
        exclude: [],
        expand: ParseExpandConfig {
            crates: [],
            all_features: false,
            default_features: true,
            features: None,
            profile: Debug,
        },
        clean: false,
        extra_bindings: [],
    },
    export: ExportConfig {
        include: [],
        exclude: [],
        rename: {},
        pre_body: {},
        body: {},
        prefix: None,
        item_types: [],
        renaming_overrides_prefixing: false,
        mangle: MangleConfig {
            rename_types: None,
            remove_underscores: false,
        },
    },
    macro_expansion: MacroExpansionConfig {
        bitflags: false,
    },
    layout: LayoutConfig {
        packed: None,
        aligned_n: None,
    },
    function: FunctionConfig {
        prefix: None,
        postfix: None,
        must_use: None,
        args: Auto,
        rename_args: None,
        swift_name_macro: None,
        sort_by: None,
        no_return: None,
    },
    structure: StructConfig {
        rename_fields: None,
        derive_constructor: false,
        derive_eq: false,
        derive_neq: false,
        derive_lt: false,
        derive_lte: false,
        derive_gt: false,
        derive_gte: false,
        derive_ostream: false,
        associated_constants_in_body: false,
        must_use: None,
    },
    enumeration: EnumConfig {
        rename_variants: None,
        rename_variant_name_fields: SnakeCase,
        add_sentinel: false,
        prefix_with_name: false,
        derive_helper_methods: false,
        derive_const_casts: false,
        derive_mut_casts: false,
        cast_assert_name: None,
        must_use: None,
        derive_tagged_enum_destructor: false,
        derive_tagged_enum_copy_constructor: false,
        derive_tagged_enum_copy_assignment: false,
        derive_ostream: false,
        enum_class: true,
        private_default_tagged_enum_constructor: false,
    },
    constant: ConstantConfig {
        allow_static_const: true,
        allow_constexpr: true,
        sort_by: None,
    },
    defines: {},
    documentation: true,
    documentation_style: Auto,
    documentation_length: Full,
    pointer: PtrConfig {
        non_null_attribute: None,
    },
    only_target_dependencies: false,
    cython: CythonConfig {
        header: None,
        cimports: {},
    },
}
2023/04/23 23:08:05 [DEBUG] Parsing crate morph-rs
2023/04/23 23:08:05 [INFO] Take morph-rs::EarbudsModel.
2023/04/23 23:08:05 [INFO] Take morph-rs::PduType.
2023/04/23 23:08:05 [INFO] Take morph-rs::FeatureVariant.
2023/04/23 23:08:05 [INFO] Take morph-rs::DartPort.
2023/04/23 23:08:05 [INFO] Take morph-rs::DartPostCObjectFnType.
2023/04/23 23:08:05 [INFO] Take morph-rs::store_dart_post_cobject.
2023/04/23 23:08:05 [INFO] Take morph-rs::get_dart_object.
2023/04/23 23:08:05 [INFO] Take morph-rs::drop_dart_object.
2023/04/23 23:08:05 [INFO] Take morph-rs::new_dart_opaque.
2023/04/23 23:08:05 [INFO] Take morph-rs::init_frb_dart_api_dl.
2023/04/23 23:08:05 [INFO] Take morph-rs::DartCObject - opaque (Struct is not marked #[repr(C)] or #[repr(transparent)].).
2023/04/23 23:08:05 [INFO] Take morph-rs::WireSyncReturn.
2023/04/23 23:08:05 [INFO] Take morph-rs::free_WireSyncReturn.
2023/04/23 23:08:05 [WARN] Parsing crate `morph-rs`: can't find mod bridge_generated_io`.
2023/04/23 23:08:05 [WARN] Can't find Dart_Handle. This usually means that this type was incompatible or not found.
2023/04/23 23:08:05 [WARN] Can't find Dart_Handle. This usually means that this type was incompatible or not found.
2023/04/23 23:08:05 [WARN] Missing `[defines]` entry for `target_family = "wasm"` in cbindgen config.
2023/04/23 23:08:05 [WARN] Missing `[defines]` entry for `target_family = "wasm"` in cbindgen config.
2023/04/23 23:08:05 [DEBUG] execute ffigen c_path=/tmp/.tmp39NCSD.h dart_path=/tmp/.tmp8RSQju llvm_path=["/opt/homebrew/opt/llvm", "/usr/local/opt/llvm", "/usr/lib/llvm-9", "/usr/lib/llvm-10", "/usr/lib/llvm-11", "/usr/lib/llvm-12", "/usr/lib/llvm-13", "/usr/lib/llvm-14", "/usr/lib/", "/usr/lib64/", "C:/Program Files/llvm", "C:/msys64/mingw64"]
2023/04/23 23:08:05 [DEBUG] ffigen config:
        output: '/tmp/.tmp8RSQju'
        name: 'MorphRsWire'
        description: 'generated by flutter_rust_bridge'
        headers:
          entry-points:
            - '/tmp/.tmp39NCSD.h'
          include-directives:
            - '/tmp/.tmp39NCSD.h'
        comments: false
        preamble: |
          // ignore_for_file: camel_case_types, non_constant_identifier_names, avoid_positional_boolean_parameters, annotate_overrides, constant_identifier_names

        llvm-path:
           - '/opt/homebrew/opt/llvm'
           - '/usr/local/opt/llvm'
           - '/usr/lib/llvm-9'
           - '/usr/lib/llvm-10'
           - '/usr/lib/llvm-11'
           - '/usr/lib/llvm-12'
           - '/usr/lib/llvm-13'
           - '/usr/lib/llvm-14'
           - '/usr/lib/'
           - '/usr/lib64/'
           - 'C:/Program Files/llvm'
           - 'C:/msys64/mingw64'

2023/04/23 23:08:05 [DEBUG] ffigen config_file: NamedTempFile("/tmp/.tmpOVnImJ")
2023/04/23 23:08:05 [DEBUG] Guessing toolchain the runner is run into
2023/04/23 23:08:05 [DEBUG] execute command: bin=sh args="-c \"flutter\" \"pub\" \"run\" \"ffigen\" \"--config\" \"/tmp/.tmpOVnImJ\"" current_dir=Some("/home/dzr/MorphInfiniControl") cmd=cd "/home/dzr/MorphInfiniControl" && "sh" "-c" "\"flutter\" \"pub\" \"run\" \"ffigen\" \"--config\" \"/tmp/.tmpOVnImJ\""
Running in Directory: '/home/dzr/MorphInfiniControl'
Input Headers: [/tmp/.tmp39NCSD.h]
[WARNING]: No definition found for declaration - (Cursor) spelling: _Dart_Handle, kind: 2, kindSpelling: StructDecl, type: 105, typeSpelling: struct _Dart_Handle, usr: c:@S@_Dart_Handle
[WARNING]: No definition found for declaration - (Cursor) spelling: _Dart_Handle, kind: 2, kindSpelling: StructDecl, type: 105, typeSpelling: struct _Dart_Handle, usr: c:@S@_Dart_Handle
[WARNING]: No definition found for declaration - (Cursor) spelling: DartCObject, kind: 2, kindSpelling: StructDecl, type: 105, typeSpelling: struct DartCObject, usr: c:@S@DartCObject
[WARNING]: No definition found for declaration - (Cursor) spelling: DartCObject, kind: 2, kindSpelling: StructDecl, type: 105, typeSpelling: struct DartCObject, usr: c:@S@DartCObject
[WARNING]: No definition found for declaration - (Cursor) spelling: _Dart_Handle, kind: 2, kindSpelling: StructDecl, type: 105, typeSpelling: struct _Dart_Handle, usr: c:@S@_Dart_Handle
[WARNING]: No definition found for declaration - (Cursor) spelling: _Dart_Handle, kind: 2, kindSpelling: StructDecl, type: 105, typeSpelling: struct _Dart_Handle, usr: c:@S@_Dart_Handle
[WARNING]: No definition found for declaration - (Cursor) spelling: _Dart_Handle, kind: 2, kindSpelling: StructDecl, type: 105, typeSpelling: struct _Dart_Handle, usr: c:@S@_Dart_Handle
[WARNING]: No definition found for declaration - (Cursor) spelling: _Dart_Handle, kind: 2, kindSpelling: StructDecl, type: 105, typeSpelling: struct _Dart_Handle, usr: c:@S@_Dart_Handle
[WARNING]: No definition found for declaration - (Cursor) spelling: DartCObject, kind: 2, kindSpelling: StructDecl, type: 105, typeSpelling: struct DartCObject, usr: c:@S@DartCObject
[WARNING]: Generated declaration '_Dart_Handle' start's with '_' and therefore will be private.
Finished, Bindings generated in /tmp/.tmp8RSQju
2023/04/23 23:08:07 [DEBUG] command=cd "/home/dzr/MorphInfiniControl" && "sh" "-c" "\"flutter\" \"pub\" \"run\" \"ffigen\" \"--config\" \"/tmp/.tmpOVnImJ\"" stdout= stderr=
the path is "/home/dzr/MorphInfiniControl/ios/Runner/bridge_generated.h"
the path is "macos/Runner/bridge_generated.h/bridge_generated.h"
2023/04/23 23:08:07 [DEBUG] distinct_input_types=[]
2023/04/23 23:08:07 [DEBUG] distinct_output_types=[]
2023/04/23 23:08:07 [INFO] Phase: Running build_runner
2023/04/23 23:08:07 [INFO] Phase: Formatting Dart code
2023/04/23 23:08:07 [DEBUG] execute format_dart path=["/home/dzr/MorphInfiniControl/lib/bridge_generated.dart", "/home/dzr/MorphInfiniControl/lib/bridge_definitions.dart"] line_length=80
2023/04/23 23:08:07 [DEBUG] execute command: bin=sh args="-c \"dart\" \"format\" \"--line-length\" \"80\" \"/home/dzr/MorphInfiniControl/lib/bridge_generated.dart\" \"/home/dzr/MorphInfiniControl/lib/bridge_definitions.dart\"" current_dir=None cmd="sh" "-c" "\"dart\" \"format\" \"--line-length\" \"80\" \"/home/dzr/MorphInfiniControl/lib/bridge_generated.dart\" \"/home/dzr/MorphInfiniControl/lib/bridge_definitions.dart\""
Formatted /home/dzr/MorphInfiniControl/lib/bridge_generated.dart
Formatted /home/dzr/MorphInfiniControl/lib/bridge_definitions.dart
Formatted 2 files (2 changed) in 0.23 seconds.
2023/04/23 23:08:07 [DEBUG] command="sh" "-c" "\"dart\" \"format\" \"--line-length\" \"80\" \"/home/dzr/MorphInfiniControl/lib/bridge_generated.dart\" \"/home/dzr/MorphInfiniControl/lib/bridge_definitions.dart\"" stdout= stderr=
2023/04/23 23:08:07 [INFO] Success!
2023/04/23 23:08:07 [INFO] Now go and use it :)
``

I can give some suggestions of debugging :)
The general idea is that, we should firstly make a minimal reproducible sample, as minimal as possible. Then, maybe refer to https://cjycode.com/flutter_rust_bridge/contributing/design.html to see the phases and overall struct of code. I guess adding some println!s to the code can reveal the bug!

I haven't been able to look into this yet. Kinda leaning towards switching to Kotlin and using Rust FFI with that. It's a shame because Flutter UIs are really nice, but I'm doing this Morph project voluntarily, not as employment, so I can't spend too much time on it.

Still haven't had time. I think it's worth keeping this issue open, as there's clearly an issue with codegen.

I meant to prod the bot when it commented. I'm not sure where to start debugging.

I'm not sure where to start debugging.

Firstly try to create a mimnimal reproducible sample, and then some problems may be quite easy automatically

Hi, v2 has released and the related logic seems to be refactored and improved. If you still see problems in v2, feel free to reopen the issue!

Looking forward to it!


Convert package to standard JS modules

Fixes #246
Note: This is definitely a major breaking change!
There are ways to make this less of a breaking change and publish both CommonJS and JS modules, but this PR contains the simplest way to publish modules if you can ask your users to upgrade. It is of course important to acknowledge that importing standard JS modules into CommonJS is difficult and requires using dynamic import() or a bundler.
I split this into two main commits. The first simply exports the Chess function as-is. The second reorganizes some things to be a little more idiomatic for modules and puts constants in the top-level scope of the module. This means that KING, PAWN, etc can be imported like:
import {Chess, KING} from 'chess.js';

which solves a question previously in the code about how to best export public constants.
I also considered converting Chess to a real class, but am saving that for later if you're interested.

Thanks @justinfagnani!  Would it be helpful to publish this as 1.0.0-alpha?  I'd like to make a few API changes prior to 1.0.0 and I'm unsure if changing the API between 1.0.0-alpha and 1.0.0 is bad form.

I'll need to spend some time investigating the impacts of this change wrt the community. chess.js has been major version 0.x.x for 13 years (which is an eternity in JS years - the coding style is a dead giveaway), so I think the users are expecting a stable API even though it's major version 0.  Adhering to the principle of least surprise, does npm/yarn prevent minor version updates for caret deps if they're pre-1.0.0?  As long as the upgrade to 0.13.0 is explicit, I'm definitely in favor of merging this and cutting a new release.
I've been working on a private typescript rewrite on and off (honestly, mostly off) for the past year. The current typescript branch was a first attempt, but it's more of a false start, so please ignore. I should really push my latest, publish a roadmap, and seek some feedback/input/PR's before going too much further.

I haven't verified this, but pre-1.0.0 caret updates appear to be explicit (https://docs.npmjs.com/cli/v6/commands/npm-update#caret-dependencies-below-100). I'll try to confirm it with verdaccio this weekend.
Additionally, a basic roadmap for 1.0.0 has been published at #319

The version upgrade pre-1.0.0 is explicit (when crossing minor versions), so this upgrade should be safe. v0.13.0 has been published to npm. Thanks for the PR!

type: "module" has been removed from package.json in this commit https://github.com/jhlywa/chess.js/commit/37ac2aff7b5e945ee0d657016b1d5126d653ad01#diff-7ae45ad102eab3b6d7e7896acd08c427a9b25b346470d7bc6507b6481575d519
Please re-consider @jhlywa
(Ideally, you will want to adopt the exports field)

Ah, good catch @GabrielDelepine . Thank you
I'm unfamiliar with the exports field.  I'll need to read up a bit first before adding

Thanks for the quick fix @jhlywa
But be aware that the current JS published in NPM as commonJs instead of module!
I opened a PR to fix it https://github.com/jhlywa/chess.js/pull/374

I totally understand your decision. ESM is giving birth in pain due to some incompatibilities with CommonJS.
The exports field of package.json is the best way to go to have a dual CommonJS + ESM package but I totally understand if it's not on top of your todo list right now


Record data is missing

Have done this in the DNS:
naplansolutions.com.	IN	A	<IP_ADDRESS>
naplansolutions.com.	IN	AAAA	2400:6180:0:d0::e08:a001
_.naplansolutions.com.	IN	TXT	forward-domain=https://mathsbymayank.com/*
Am getting this error when I try put naplansolutions.com in the browser
The record data for "naplansolutions.com" is missing
Any suggestions?

Truly love your superfast response. It is there on the DNS
[image: image.png]
On Thu, Nov 30, 2023 at 6:30 AM Wildan M @.***> wrote:

I don't see a TXT record in this domain:
https://dns.google/query?name=_.naplansolutions.com&rr_type=TXT&ecs=
—
Reply to this email directly, view it on GitHub
https://github.com/willnode/forward-domain/issues/7#issuecomment-1832937960,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BAR2HO3DTJHROM4GGLN6EKLYG7LCPAVCNFSM6AAAAABAALUSKOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMZSHEZTOOJWGA
.
You are receiving this because you authored the thread.Message ID:
@.***>


add methods for deterministic entropy

This PR adds 2 methods, dbc_commit_deterministic and mpc_commit_deterministic, needed for the rgb_commit_deterministic method that I've added in rgb (see https://github.com/RGB-WG/rgb/pull/122)
Related:

https://github.com/RGB-WG/rgb-std/issues/99
https://github.com/LNP-BP/client_side_validation/issues/137
https://github.com/RGB-WG/rgb-std/issues/111#issuecomment-1872514299

I'm sorry, I didn't notice the mpc_entropy proprietary key, I now tried it and it works fine, good work, thank you. I'm going to close this PR


Update policy assignments and exemptions api-version to support selectors and overrides

ARM API Information (Control Plane)
MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Azure 1st Party Service can try out the Shift Left experience to initiate API design review from ADO code repo.  If you are interested, may request engineering support by filling in with the form https://aka.ms/ShiftLeftSupportForm.
Changelog
Add a changelog entry for this PR by answering the following questions:

What's the purpose of the update?

[ ] new service onboarding
[x] new API version
[ ] update existing version for new feature
[ ] update existing version to fix swagger quality issue in s360
[ ] Other, please clarify

When are you targeting to deploy the new service/feature to public regions? Please provide the date or, if the date is not yet available, the month. 2022-09-20
When do you expect to publish the swagger? Please provide date or, the date is not yet available, the month. 2022-10
By default, Azure SDKs of all languages (.NET/Python/Java/JavaScript for both management-plane SDK and data-plane SDK, Go for management-plane SDK only ) MUST be refreshed with/after swagger of new version is published. If you prefer NOT to refresh any specific SDK language upon swagger updates in the current PR, please leave details with justification here.

Contribution checklist (MS Employees Only):

[x] I commit to follow the Breaking Change Policy of "no breaking changes"
[x] I have reviewed the documentation for the workflow.
[x] Validation tools were run on swagger spec(s) and errors have all been fixed in this PR. How to fix?

If any further question about AME onboarding or validation tools, please view the FAQ.
ARM API Review Checklist

Applicability: :warning:
If your changes encompass only the following scenarios, you should SKIP this section, as these scenarios do not require ARM review.

Change to data plane APIs
Adding new properties
All removals

Otherwise your PR may be subject to ARM review requirements. Complete the following:

[x] Check this box if any of the following apply to the PR so that the label "ARMReview" and "WaitForARMFeedback" will be added by bot to kick off ARM API Review.  Missing to check this box in the following scenario may result in delays to the ARM manifest review and deployment.

Adding a new service
Adding new API(s)
Adding a new API version
-[x] To review changes efficiently, ensure you copy the existing version into the new directory structure for first commit and then push new changes, including version updates, in separate commits. You can use OpenAPIHub to initialize the PR for adding a new version. For more details refer to the wiki.

[x] Ensure you've reviewed following guidelines including ARM resource provider contract and REST guidelines. Estimated time (4 hours). This is required before you can request review from ARM API Review board.

[x] If you are blocked on ARM review and want to get the PR merged with urgency, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.

Breaking Change Review Checklist
If you have any breaking changes as defined in the Breaking Change Policy, request approval from the Breaking Change Review Board.
Action: to initiate an evaluation of the breaking change, create a new intake using the template for breaking changes. Additional details on the process and office hours are on the Breaking Change Wiki.
NOTE: To update API(s) in public preview for over 1 year (refer to Retirement of Previews)
Please follow the link to find more details on PR review process.

@ArcturusZhang Could you take a look at the PR? I don't think the failed checks are related to my changes. They seem complying about the existing files in the repo.

@leni-msft Could you take a look at the PR? I don't think the failed checks are related to my changes. They seem complying about the existing files in the repo.

@jianyexi please help check lint exception

@robga To fix Avocado error, please make sure all APIs are included in the new default tag

@robga To fix Avocado error, please make sure all APIs are included in the new default tag

@leni-msft  I think that is a false positive error. All the APIs have been included in the new tag package-policy-2022-06

@robga To fix Avocado error, please make sure all APIs are included in the new default tag

@leni-msft I think that is a false positive error. All the APIs have been included in the new tag package-policy-2022-06

@ruowan please help check

the lintDiff exception is because there are different '$.securityDefinitions.azure_auth.description' under swagger file in the default tag:
package-policy-2022-06
input-file:
- Microsoft.Authorization/stable/2020-09-01/dataPolicyManifests.json
- Microsoft.Authorization/stable/2021-06-01/policyDefinitions.json
- Microsoft.Authorization/stable/2021-06-01/policySetDefinitions.json
- Microsoft.Authorization/stable/2022-06-01/policyAssignments.json
- Microsoft.Authorization/preview/2022-07-01-preview/policyExemptions.json
- Microsoft.Authorization/preview/2022-08-01-preview/policyVariables.json
- Microsoft.Authorization/preview/2022-08-01-preview/policyVariableValues.json
# Needed when there is more than one input file
override-info:
  title: PolicyClient

the lintDiff exception is because there are different '$.securityDefinitions.azure_auth.description' under swagger file in the default tag: package-policy-2022-06
input-file:
- Microsoft.Authorization/stable/2020-09-01/dataPolicyManifests.json
- Microsoft.Authorization/stable/2021-06-01/policyDefinitions.json
- Microsoft.Authorization/stable/2021-06-01/policySetDefinitions.json
- Microsoft.Authorization/stable/2022-06-01/policyAssignments.json
- Microsoft.Authorization/preview/2022-07-01-preview/policyExemptions.json
- Microsoft.Authorization/preview/2022-08-01-preview/policyVariables.json
- Microsoft.Authorization/preview/2022-08-01-preview/policyVariableValues.json
# Needed when there is more than one input file
override-info:
  title: PolicyClient

@jianyexi  In the new tag package-policy-2022-06, I only added the following two new files:

Microsoft.Authorization/stable/2022-06-01/policyAssignments.json
Microsoft.Authorization/preview/2022-07-01-preview/policyExemptions.json

I fixed '$.securityDefinitions.azure_auth.description' error in these two new files. (Which is simply missing period at the end of the description) I don't want to touch the existing files because that will trigger more validation on them. I think the error in the existing files should be fixed by next time we update the API-Version for them. Also, I think the check should skip the errors from the file not changed in the PR.

Resolve conflict readme file
This path /providers/Microsoft.Management/managementGroups/{}/providers/Microsoft.Authorization/policyAssignments is defined in resource-manager/Microsoft.Authorization/stable/2022-06-01/policyAssignments.json but was missing in default tag. Is this expected?
Pls fix conflict model for lintDiff

'$.securityDefinitions.azure_auth.description' has incompatible values (---Azure Active Directory OAuth2 Flow,
---Azure Active Directory OAuth2 Flow.).".

@ruowan

I have resolved the conflict.

When you say "it was missing in the default tag", where is this "default tag"?

In the new tag package-policy-2022-06, I only added the following two new files:

Microsoft.Authorization/stable/2022-06-01/policyAssignments.json
Microsoft.Authorization/preview/2022-07-01-preview/policyExemptions.json

I fixed '$.securityDefinitions.azure_auth.description' error in these two new files. (Which is simply missing period at the end of the description) I don't want to touch the existing files because that will trigger more validation on them. I think the error in the existing files should be fixed by next time we update the API-Version for them. Also, I think the check should skip the errors from the file not changed in the PR.


Question: Using ExecuteScalar to get a list of int?

I am trying to get a list of indexes of the rows which satisfy a condition using ExecuteScalar. However the result is the first result, not a list of all the results.
 Ex.
var query = " SELECT InvoiceId FROM invoices where CustomerId = 4";

Is that possible or will I need to use db.Query(command)
Ex.
    public class intSql
    {
        public int value { set; get; }
    }
 query = " SELECT InvoiceId FROM invoices where CustomerId = 4";
 var res = conn.Query<intSql>(query);

I dont know if I need to create a new class just for a single int value

maybe you can get help in #159


Add the still image of the "scenery" from desktop view into the mobile view.

Submitted a PR for this