react-native icon indicating copy to clipboard operation
react-native copied to clipboard

Build failure in Fabric when implementing custom Shadow Node with Swift integration

Open tikhonNikita opened this issue 1 year ago • 3 comments

Description

I am creating a native view using Fabric, intended for the new architecture only. In my project, I want to use Swift to reuse existing views I have in SwiftUI. Everything works without issues, build works, SwiftUI works as well, when I add the Swift support:

s.source_files = "ios/**/*.{h,m,mm,swift}"

Additionally, I can add C++ and write my code in C++, adding cpp like this:

s.source_files = "ios/**/*.{h,m,mm,swift,cpp}"

Everything builds and works perfectly.

However, when I want to implement specific layout behavior by overriding the Shadow Node and copying some of the code from React-Codegen for modification, the application fails to build when using Swift. Without using Swift, the application also builds successfully.

Steps to reproduce

  1. Install dependencies with yarn
  2. Install pods with new architecture enabled (yarn pod in the reproducer repo)
  3. Try to build the application with yarn ios
  4. You can find the native views code in the modules/test-view

React Native Version

0.74.3

Affected Platforms

Build - MacOS

Areas

Fabric - The New Renderer, Codegen

Output of npx react-native info

System:
  OS: macOS 14.5
  CPU: (10) arm64 Apple M1 Max
  Memory: 1.15 GB / 32.00 GB
  Shell:
    version: "5.9"
    path: /bin/zsh
Binaries:
  Node:
    version: 20.10.0
    path: /opt/homebrew/opt/node@20/bin/node
  Yarn:
    version: 3.6.4
    path: /opt/homebrew/bin/yarn
  npm:
    version: 10.2.3
    path: /opt/homebrew/opt/node@20/bin/npm
  Watchman:
    version: 2023.12.04.00
    path: /opt/homebrew/bin/watchman
Managers:
  CocoaPods:
    version: 1.14.3
    path: /Users/nikitatihonov/.rvm/gems/ruby-2.7.6/bin/pod
SDKs:
  iOS SDK:
    Platforms:
      - DriverKit 23.5
      - iOS 17.5
      - macOS 14.5
      - tvOS 17.5
      - visionOS 1.2
      - watchOS 10.5
  Android SDK:
    API Levels:
      - "27"
      - "28"
      - "29"
      - "30"
      - "31"
      - "32"
      - "33"
      - "34"
    Build Tools:
      - 29.0.2
      - 29.0.3
      - 30.0.0
      - 30.0.2
      - 30.0.3
      - 31.0.0
      - 32.0.0
      - 32.1.0
      - 33.0.0
      - 33.0.1
      - 34.0.0
    System Images:
      - android-29 | Google Play ARM 64 v8a
      - android-32 | Google APIs ARM 64 v8a
      - android-32 | Google APIs Intel x86 Atom_64
      - android-32 | Google Play ARM 64 v8a
      - android-32 | Google Play Intel x86_64 Atom
      - android-33 | Android TV ARM 64 v8a
      - android-34 | Google TV ARM 64 v8a
    Android NDK: Not Found
IDEs:
  Android Studio: Hedgehog 2023.1.1 Hedgehog 2023.1.1
  Xcode:
    version: 15.4/15F31d
    path: /usr/bin/xcodebuild
Languages:
  Java:
    version: 17.0.10
    path: /usr/bin/javac
  Ruby:
    version: 2.7.6
    path: /Users/nikitatihonov/.rvm/rubies/ruby-2.7.6/bin/ruby
npmPackages:
  "@react-native-community/cli": Not Found
  react:
    installed: 18.2.0
    wanted: 18.2.0
  react-native:
    installed: 0.74.3
    wanted: 0.74.3
  react-native-macos: Not Found
npmGlobalPackages:
  "*react-native*": Not Found
Android:
  hermesEnabled: true
  newArchEnabled: false
iOS:
  hermesEnabled: true
  newArchEnabled: true

Stacktrace or Logs

SwiftEmitModule normal arm64 Emitting\ module\ for\ react_native_test_view (in target 'react-native-test-view' from project 'Pods')
    cd /Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods
    builtin-swiftTaskExecution -- /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift-frontend -frontend -emit-module -experimental-skip-non-inlinable-function-bodies-without-types /Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/modules/test-view/ios/SimpleLogger.swift -target arm64-apple-ios13.4-simulator -Xllvm -aarch64-use-tbi -enable-objc-interop -sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator17.5.sdk -I /Users/nikitatihonov/Library/Developer/Xcode/DerivedData/ReproducerApp-emunlzlvsruwxhdhmotshlxwksds/Build/Products/Debug-iphonesimulator/react-native-test-view -F /Users/nikitatihonov/Library/Developer/Xcode/DerivedData/ReproducerApp-emunlzlvsruwxhdhmotshlxwksds/Build/Products/Debug-iphonesimulator/react-native-test-view -F /Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/hermes-engine/destroot/Library/Frameworks/universal -F /Users/nikitatihonov/Library/Developer/Xcode/DerivedData/ReproducerApp-emunlzlvsruwxhdhmotshlxwksds/Build/Products/Debug-iphonesimulator/XCFrameworkIntermediates/hermes-engine/Pre-built -no-color-diagnostics -enable-testing -g -import-underlying-module -module-cache-path /Users/nikitatihonov/Library/Developer/Xcode/DerivedData/ModuleCache.noindex -swift-version 5 -enforce-exclusivity\=checked -Onone -D DEBUG -D COCOAPODS -serialize-debugging-options -const-gather-protocols-file /Users/nikitatihonov/Library/Developer/Xcode/DerivedData/ReproducerApp-emunlzlvsruwxhdhmotshlxwksds/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/react-native-test-view.build/Objects-normal/arm64/react-native-test-view_const_extract_protocols.json -enable-bare-slash-regex -empty-abi-descriptor -validate-clang-modules-once -clang-build-session-file /Users/nikitatihonov/Library/Developer/Xcode/DerivedData/ModuleCache.noindex/Session.modulevalidation -Xcc -working-directory -Xcc /Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods -resource-dir /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift -enable-anonymous-context-mangled-names -Xcc -fmodule-map-file\=/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/DoubleConversion.modulemap -Xcc -fmodule-map-file\=/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/RCTDeprecation/RCTDeprecation.modulemap -Xcc -fmodule-map-file\=/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/RCTFabric/React-RCTFabric.modulemap -Xcc -fmodule-map-file\=/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/RCTTypeSafety/RCTTypeSafety.modulemap -Xcc -fmodule-map-file\=/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/React/React-Core.modulemap -Xcc -fmodule-map-file\=/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/ReactCommon/ReactCommon.modulemap -Xcc -fmodule-map-file\=/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/React_Codegen/React-Codegen.modulemap -Xcc -fmodule-map-file\=/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/React_Fabric/React-Fabric.modulemap -Xcc -fmodule-map-file\=/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/React_NativeModulesApple/React-NativeModulesApple.modulemap -Xcc -fmodule-map-file\=/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/folly/RCT-Folly.modulemap -Xcc -fmodule-map-file\=/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/glog/glog.modulemap -Xcc -fmodule-map-file\=/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/jsi/React-jsi.modulemap -Xcc -fmodule-map-file\=/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/jsinspector_modern/React-jsinspector.modulemap -Xcc -fmodule-map-file\=/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/react_debug/React-debug.modulemap -Xcc -fmodule-map-file\=/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/react_featureflags/React-featureflags.modulemap -Xcc -fmodule-map-file\=/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/react_renderer_debug/React-rendererdebug.modulemap -Xcc -fmodule-map-file\=/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/react_renderer_graphics/React-graphics.modulemap -Xcc -fmodule-map-file\=/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/react_renderer_imagemanager/React-ImageManager.modulemap -Xcc -fmodule-map-file\=/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/react_utils/React-utils.modulemap -Xcc -fmodule-map-file\=/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/yoga/Yoga.modulemap -Xcc -fmodule-map-file\=/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/react_native_test_view/react-native-test-view.modulemap -Xcc -ivfsstatcache -Xcc /Users/nikitatihonov/Library/Developer/Xcode/DerivedData/SDKStatCaches.noindex/iphonesimulator17.5-21F77-c098706a9f71eba4e76ae92ab367209a.sdkstatcache -Xcc -I/Users/nikitatihonov/Library/Developer/Xcode/DerivedData/ReproducerApp-emunlzlvsruwxhdhmotshlxwksds/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/react-native-test-view.build/swift-overrides.hmap -Xcc -iquote -Xcc /Users/nikitatihonov/Library/Developer/Xcode/DerivedData/ReproducerApp-emunlzlvsruwxhdhmotshlxwksds/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/react-native-test-view.build/react-native-test-view-generated-files.hmap -Xcc -I/Users/nikitatihonov/Library/Developer/Xcode/DerivedData/ReproducerApp-emunlzlvsruwxhdhmotshlxwksds/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/react-native-test-view.build/react-native-test-view-own-target-headers.hmap -Xcc -I/Users/nikitatihonov/Library/Developer/Xcode/DerivedData/ReproducerApp-emunlzlvsruwxhdhmotshlxwksds/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/react-native-test-view.build/react-native-test-view-all-non-framework-target-headers.hmap -Xcc -ivfsoverlay -Xcc /Users/nikitatihonov/Library/Developer/Xcode/DerivedData/ReproducerApp-emunlzlvsruwxhdhmotshlxwksds/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/react-native-test-view.build/all-product-headers.yaml -Xcc -iquote -Xcc /Users/nikitatihonov/Library/Developer/Xcode/DerivedData/ReproducerApp-emunlzlvsruwxhdhmotshlxwksds/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/react-native-test-view.build/react-native-test-view-project-headers.hmap -Xcc -I/Users/nikitatihonov/Library/Developer/Xcode/DerivedData/ReproducerApp-emunlzlvsruwxhdhmotshlxwksds/Build/Products/Debug-iphonesimulator/react-native-test-view/include -Xcc -I/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Private -Xcc -I/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Private/react-native-test-view -Xcc -I/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public -Xcc -I/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion -Xcc -I/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/FBLazyVector -Xcc -I/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/RCT-Folly -Xcc -I/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/RCTRequired -Xcc -I/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/RCTTypeSafety -Xcc -I/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/React-Codegen -Xcc -I/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/React-Core -Xcc -I/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/React-Fabric -Xcc -I/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/React-FabricImage -Xcc -I/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/React-ImageManager -Xcc -I/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/React-NativeModulesApple -Xcc -I/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/React-RCTFabric -Xcc -I/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/React-RCTText -Xcc -I/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/React-callinvoker -Xcc -I/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/React-cxxreact -Xcc -I/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/React-debug -Xcc -I/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/React-featureflags -Xcc -I/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/React-graphics -Xcc -I/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/React-hermes -Xcc -I/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/React-jsi -Xcc -I/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/React-jsiexecutor -Xcc -I/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/React-jsinspector -Xcc -I/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/React-logger -Xcc -I/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/React-nativeconfig -Xcc -I/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/React-perflogger -Xcc -I/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/React-rendererdebug -Xcc -I/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/React-runtimeexecutor -Xcc -I/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/React-runtimescheduler -Xcc -I/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/React-utils -Xcc -I/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/ReactCommon -Xcc -I/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/Yoga -Xcc -I/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/fmt -Xcc -I/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/glog -Xcc -I/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/hermes-engine -Xcc -I/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/boost -Xcc -I/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Private/Yoga -Xcc -I/Users/nikitatihonov/Library/Developer/Xcode/DerivedData/ReproducerApp-emunlzlvsruwxhdhmotshlxwksds/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/react-native-test-view.build/DerivedSources-normal/arm64 -Xcc -I/Users/nikitatihonov/Library/Developer/Xcode/DerivedData/ReproducerApp-emunlzlvsruwxhdhmotshlxwksds/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/react-native-test-view.build/DerivedSources/arm64 -Xcc -I/Users/nikitatihonov/Library/Developer/Xcode/DerivedData/ReproducerApp-emunlzlvsruwxhdhmotshlxwksds/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/react-native-test-view.build/DerivedSources -Xcc -DPOD_CONFIGURATION_DEBUG\=1 -Xcc -DDEBUG\=1 -Xcc -DCOCOAPODS\=1 -module-name react_native_test_view -disable-clang-spi -target-sdk-version 17.5 -target-sdk-name iphonesimulator17.5 -external-plugin-path /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator17.5.sdk/usr/lib/swift/host/plugins\#/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator17.5.sdk/usr/bin/swift-plugin-server -external-plugin-path /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator17.5.sdk/usr/local/lib/swift/host/plugins\#/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator17.5.sdk/usr/bin/swift-plugin-server -external-plugin-path /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/lib/swift/host/plugins\#/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/swift-plugin-server -external-plugin-path /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/local/lib/swift/host/plugins\#/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/swift-plugin-server -plugin-path /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/host/plugins -plugin-path /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/local/lib/swift/host/plugins -emit-module-doc-path /Users/nikitatihonov/Library/Developer/Xcode/DerivedData/ReproducerApp-emunlzlvsruwxhdhmotshlxwksds/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/react-native-test-view.build/Objects-normal/arm64/react_native_test_view.swiftdoc -emit-module-source-info-path /Users/nikitatihonov/Library/Developer/Xcode/DerivedData/ReproducerApp-emunlzlvsruwxhdhmotshlxwksds/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/react-native-test-view.build/Objects-normal/arm64/react_native_test_view.swiftsourceinfo -emit-objc-header-path /Users/nikitatihonov/Library/Developer/Xcode/DerivedData/ReproducerApp-emunlzlvsruwxhdhmotshlxwksds/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/react-native-test-view.build/Objects-normal/arm64/react_native_test_view-Swift.h -serialize-diagnostics-path /Users/nikitatihonov/Library/Developer/Xcode/DerivedData/ReproducerApp-emunlzlvsruwxhdhmotshlxwksds/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/react-native-test-view.build/Objects-normal/arm64/react-native-test-view-master-emit-module.dia -emit-dependencies-path /Users/nikitatihonov/Library/Developer/Xcode/DerivedData/ReproducerApp-emunlzlvsruwxhdhmotshlxwksds/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/react-native-test-view.build/Objects-normal/arm64/react-native-test-view-master-emit-module.d -parse-as-library -o /Users/nikitatihonov/Library/Developer/Xcode/DerivedData/ReproducerApp-emunlzlvsruwxhdhmotshlxwksds/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/react-native-test-view.build/Objects-normal/arm64/react_native_test_view.swiftmodule -emit-abi-descriptor-path /Users/nikitatihonov/Library/Developer/Xcode/DerivedData/ReproducerApp-emunlzlvsruwxhdhmotshlxwksds/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/react-native-test-view.build/Objects-normal/arm64/react_native_test_view.abi.json

<module-includes>:1:9: note: in file included from <module-includes>:1:
#import "react-native-test-view-umbrella.h"
        ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/react_native_test_view/react-native-test-view-umbrella.h:13:9: note: in file included from /Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/react_native_test_view/react-native-test-view-umbrella.h:13:
#import "Calculator.h"
        ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/modules/test-view/ios/Calculator.h:11:1: error: unknown type name 'class'; did you mean 'Class'?
class Calculator {
^
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator17.5.sdk/usr/include/objc/objc.h:38:28: note: 'Class' declared here
typedef struct objc_class *Class;
                           ^
<module-includes>:1:9: note: in file included from <module-includes>:1:
#import "react-native-test-view-umbrella.h"
        ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/react_native_test_view/react-native-test-view-umbrella.h:13:9: note: in file included from /Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/react_native_test_view/react-native-test-view-umbrella.h:13:
#import "Calculator.h"
        ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/modules/test-view/ios/Calculator.h:11:17: error: expected ';' after top level declarator
class Calculator {
                ^
<module-includes>:1:9: note: in file included from <module-includes>:1:
#import "react-native-test-view-umbrella.h"
        ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/react_native_test_view/react-native-test-view-umbrella.h:15:9: note: in file included from /Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/react_native_test_view/react-native-test-view-umbrella.h:15:
#import "ComponentDescriptors.h"
        ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/build/generated/ios/react/renderer/components/RNTestViewViewSpec/ComponentDescriptors.h:13:10: note: in file included from /Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/build/generated/ios/react/renderer/components/RNTestViewViewSpec/ComponentDescriptors.h:13:
#include <react/renderer/components/RNTestViewViewSpec/ShadowNodes.h>
         ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/React-Codegen/react/renderer/components/RNTestViewViewSpec/ShadowNodes.h:13:10: note: in file included from /Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/React-Codegen/react/renderer/components/RNTestViewViewSpec/ShadowNodes.h:13:
#include <react/renderer/components/RNTestViewViewSpec/EventEmitters.h>
         ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/React-Codegen/react/renderer/components/RNTestViewViewSpec/EventEmitters.h:12:10: note: in file included from /Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/React-Codegen/react/renderer/components/RNTestViewViewSpec/EventEmitters.h:12:
#include <react/renderer/components/view/ViewEventEmitter.h>
         ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/React-Fabric/react/renderer/components/view/ViewEventEmitter.h:10:10: note: in file included from /Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/React-Fabric/react/renderer/components/view/ViewEventEmitter.h:10:
#include <react/renderer/components/view/HostPlatformViewEventEmitter.h>
         ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/React-Fabric/react/renderer/components/view/HostPlatformViewEventEmitter.h:10:10: note: in file included from /Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/React-Fabric/react/renderer/components/view/HostPlatformViewEventEmitter.h:10:
#include <react/renderer/components/view/BaseViewEventEmitter.h>
         ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/React-Fabric/react/renderer/components/view/BaseViewEventEmitter.h:10:10: error: 'memory' file not found
#include <memory>
         ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/RCT-Folly/folly/Conv.h:124:10: note: while building module 'DoubleConversion' imported from /Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/RCT-Folly/folly/Conv.h:124:
#include <double-conversion/double-conversion.h> // V8 JavaScript implementation
         ^
<module-includes>:1:9: note: in file included from <module-includes>:1:
#import "DoubleConversion-umbrella.h"
        ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/DoubleConversion-umbrella.h:13:9: note: in file included from /Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/DoubleConversion-umbrella.h:13:
#import "double-conversion/bignum-dtoa.h"
        ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/double-conversion/bignum-dtoa.h:31:10: note: in file included from /Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/double-conversion/bignum-dtoa.h:31:
#include "utils.h"
         ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/double-conversion/utils.h:139:1: error: unknown type name 'namespace'
namespace double_conversion {
^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/RCT-Folly/folly/Conv.h:124:10: note: while building module 'DoubleConversion' imported from /Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/RCT-Folly/folly/Conv.h:124:
#include <double-conversion/double-conversion.h> // V8 JavaScript implementation
         ^
<module-includes>:1:9: note: in file included from <module-includes>:1:
#import "DoubleConversion-umbrella.h"
        ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/DoubleConversion-umbrella.h:13:9: note: in file included from /Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/DoubleConversion-umbrella.h:13:
#import "double-conversion/bignum-dtoa.h"
        ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/double-conversion/bignum-dtoa.h:31:10: note: in file included from /Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/double-conversion/bignum-dtoa.h:31:
#include "utils.h"
         ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/double-conversion/utils.h:139:28: error: expected ';' after top level declarator
namespace double_conversion {
                           ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/RCT-Folly/folly/Conv.h:124:10: note: while building module 'DoubleConversion' imported from /Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/RCT-Folly/folly/Conv.h:124:
#include <double-conversion/double-conversion.h> // V8 JavaScript implementation
         ^
<module-includes>:1:9: note: in file included from <module-includes>:1:
#import "DoubleConversion-umbrella.h"
        ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/DoubleConversion-umbrella.h:13:9: note: in file included from /Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/DoubleConversion-umbrella.h:13:
#import "double-conversion/bignum-dtoa.h"
        ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/double-conversion/bignum-dtoa.h:33:1: error: unknown type name 'namespace'
namespace double_conversion {
^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/RCT-Folly/folly/Conv.h:124:10: note: while building module 'DoubleConversion' imported from /Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/RCT-Folly/folly/Conv.h:124:
#include <double-conversion/double-conversion.h> // V8 JavaScript implementation
         ^
<module-includes>:1:9: note: in file included from <module-includes>:1:
#import "DoubleConversion-umbrella.h"
        ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/DoubleConversion-umbrella.h:13:9: note: in file included from /Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/DoubleConversion-umbrella.h:13:
#import "double-conversion/bignum-dtoa.h"
        ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/double-conversion/bignum-dtoa.h:33:28: error: expected ';' after top level declarator
namespace double_conversion {
                           ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/RCT-Folly/folly/Conv.h:124:10: note: while building module 'DoubleConversion' imported from /Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/RCT-Folly/folly/Conv.h:124:
#include <double-conversion/double-conversion.h> // V8 JavaScript implementation
         ^
<module-includes>:1:9: note: in file included from <module-includes>:1:
#import "DoubleConversion-umbrella.h"
        ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/DoubleConversion-umbrella.h:14:9: note: in file included from /Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/DoubleConversion-umbrella.h:14:
#import "double-conversion/bignum.h"
        ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/double-conversion/bignum.h:33:1: error: unknown type name 'namespace'
namespace double_conversion {
^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/RCT-Folly/folly/Conv.h:124:10: note: while building module 'DoubleConversion' imported from /Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/RCT-Folly/folly/Conv.h:124:
#include <double-conversion/double-conversion.h> // V8 JavaScript implementation
         ^
<module-includes>:1:9: note: in file included from <module-includes>:1:
#import "DoubleConversion-umbrella.h"
        ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/DoubleConversion-umbrella.h:14:9: note: in file included from /Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/DoubleConversion-umbrella.h:14:
#import "double-conversion/bignum.h"
        ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/double-conversion/bignum.h:33:28: error: expected ';' after top level declarator
namespace double_conversion {
                           ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/RCT-Folly/folly/Conv.h:124:10: note: while building module 'DoubleConversion' imported from /Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/RCT-Folly/folly/Conv.h:124:
#include <double-conversion/double-conversion.h> // V8 JavaScript implementation
         ^
<module-includes>:1:9: note: in file included from <module-includes>:1:
#import "DoubleConversion-umbrella.h"
        ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/DoubleConversion-umbrella.h:15:9: note: in file included from /Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/DoubleConversion-umbrella.h:15:
#import "double-conversion/cached-powers.h"
        ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/double-conversion/cached-powers.h:31:10: note: in file included from /Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/double-conversion/cached-powers.h:31:
#include "diy-fp.h"
         ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/double-conversion/diy-fp.h:33:1: error: unknown type name 'namespace'
namespace double_conversion {
^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/RCT-Folly/folly/Conv.h:124:10: note: while building module 'DoubleConversion' imported from /Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/RCT-Folly/folly/Conv.h:124:
#include <double-conversion/double-conversion.h> // V8 JavaScript implementation
         ^
<module-includes>:1:9: note: in file included from <module-includes>:1:
#import "DoubleConversion-umbrella.h"
        ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/DoubleConversion-umbrella.h:15:9: note: in file included from /Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/DoubleConversion-umbrella.h:15:
#import "double-conversion/cached-powers.h"
        ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/double-conversion/cached-powers.h:31:10: note: in file included from /Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/double-conversion/cached-powers.h:31:
#include "diy-fp.h"
         ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/double-conversion/diy-fp.h:33:28: error: expected ';' after top level declarator
namespace double_conversion {
                           ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/RCT-Folly/folly/Conv.h:124:10: note: while building module 'DoubleConversion' imported from /Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/RCT-Folly/folly/Conv.h:124:
#include <double-conversion/double-conversion.h> // V8 JavaScript implementation
         ^
<module-includes>:1:9: note: in file included from <module-includes>:1:
#import "DoubleConversion-umbrella.h"
        ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/DoubleConversion-umbrella.h:15:9: note: in file included from /Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/DoubleConversion-umbrella.h:15:
#import "double-conversion/cached-powers.h"
        ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/double-conversion/cached-powers.h:33:1: error: unknown type name 'namespace'
namespace double_conversion {
^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/RCT-Folly/folly/Conv.h:124:10: note: while building module 'DoubleConversion' imported from /Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/RCT-Folly/folly/Conv.h:124:
#include <double-conversion/double-conversion.h> // V8 JavaScript implementation
         ^
<module-includes>:1:9: note: in file included from <module-includes>:1:
#import "DoubleConversion-umbrella.h"
        ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/DoubleConversion-umbrella.h:15:9: note: in file included from /Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/DoubleConversion-umbrella.h:15:
#import "double-conversion/cached-powers.h"
        ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/double-conversion/cached-powers.h:33:28: error: expected ';' after top level declarator
namespace double_conversion {
                           ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/RCT-Folly/folly/Conv.h:124:10: note: while building module 'DoubleConversion' imported from /Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/RCT-Folly/folly/Conv.h:124:
#include <double-conversion/double-conversion.h> // V8 JavaScript implementation
         ^
<module-includes>:1:9: note: in file included from <module-includes>:1:
#import "DoubleConversion-umbrella.h"
        ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/DoubleConversion-umbrella.h:17:9: note: in file included from /Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/DoubleConversion-umbrella.h:17:
#import "double-conversion/double-conversion.h"
        ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/double-conversion/double-conversion.h:33:1: error: unknown type name 'namespace'
namespace double_conversion {
^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/RCT-Folly/folly/Conv.h:124:10: note: while building module 'DoubleConversion' imported from /Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/RCT-Folly/folly/Conv.h:124:
#include <double-conversion/double-conversion.h> // V8 JavaScript implementation
         ^
<module-includes>:1:9: note: in file included from <module-includes>:1:
#import "DoubleConversion-umbrella.h"
        ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/DoubleConversion-umbrella.h:17:9: note: in file included from /Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/DoubleConversion-umbrella.h:17:
#import "double-conversion/double-conversion.h"
        ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/double-conversion/double-conversion.h:33:28: error: expected ';' after top level declarator
namespace double_conversion {
                           ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/RCT-Folly/folly/Conv.h:124:10: note: while building module 'DoubleConversion' imported from /Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/RCT-Folly/folly/Conv.h:124:
#include <double-conversion/double-conversion.h> // V8 JavaScript implementation
         ^
<module-includes>:1:9: note: in file included from <module-includes>:1:
#import "DoubleConversion-umbrella.h"
        ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/DoubleConversion-umbrella.h:18:9: note: in file included from /Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/DoubleConversion-umbrella.h:18:
#import "double-conversion/fast-dtoa.h"
        ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/double-conversion/fast-dtoa.h:33:1: error: unknown type name 'namespace'
namespace double_conversion {
^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/RCT-Folly/folly/Conv.h:124:10: note: while building module 'DoubleConversion' imported from /Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/RCT-Folly/folly/Conv.h:124:
#include <double-conversion/double-conversion.h> // V8 JavaScript implementation
         ^
<module-includes>:1:9: note: in file included from <module-includes>:1:
#import "DoubleConversion-umbrella.h"
        ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/DoubleConversion-umbrella.h:18:9: note: in file included from /Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/DoubleConversion-umbrella.h:18:
#import "double-conversion/fast-dtoa.h"
        ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/double-conversion/fast-dtoa.h:33:28: error: expected ';' after top level declarator
namespace double_conversion {
                           ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/RCT-Folly/folly/Conv.h:124:10: note: while building module 'DoubleConversion' imported from /Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/RCT-Folly/folly/Conv.h:124:
#include <double-conversion/double-conversion.h> // V8 JavaScript implementation
         ^
<module-includes>:1:9: note: in file included from <module-includes>:1:
#import "DoubleConversion-umbrella.h"
        ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/DoubleConversion-umbrella.h:19:9: note: in file included from /Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/DoubleConversion-umbrella.h:19:
#import "double-conversion/fixed-dtoa.h"
        ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/double-conversion/fixed-dtoa.h:33:1: error: unknown type name 'namespace'
namespace double_conversion {
^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/RCT-Folly/folly/Conv.h:124:10: note: while building module 'DoubleConversion' imported from /Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/RCT-Folly/folly/Conv.h:124:
#include <double-conversion/double-conversion.h> // V8 JavaScript implementation
         ^
<module-includes>:1:9: note: in file included from <module-includes>:1:
#import "DoubleConversion-umbrella.h"
        ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/DoubleConversion-umbrella.h:19:9: note: in file included from /Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/DoubleConversion-umbrella.h:19:
#import "double-conversion/fixed-dtoa.h"
        ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/double-conversion/fixed-dtoa.h:33:28: error: expected ';' after top level declarator
namespace double_conversion {
                           ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/RCT-Folly/folly/Conv.h:124:10: note: while building module 'DoubleConversion' imported from /Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/RCT-Folly/folly/Conv.h:124:
#include <double-conversion/double-conversion.h> // V8 JavaScript implementation
         ^
<module-includes>:1:9: note: in file included from <module-includes>:1:
#import "DoubleConversion-umbrella.h"
        ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/DoubleConversion-umbrella.h:20:9: note: in file included from /Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/DoubleConversion-umbrella.h:20:
#import "double-conversion/ieee.h"
        ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/double-conversion/ieee.h:33:1: error: unknown type name 'namespace'
namespace double_conversion {
^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/RCT-Folly/folly/Conv.h:124:10: note: while building module 'DoubleConversion' imported from /Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/RCT-Folly/folly/Conv.h:124:
#include <double-conversion/double-conversion.h> // V8 JavaScript implementation
         ^
<module-includes>:1:9: note: in file included from <module-includes>:1:
#import "DoubleConversion-umbrella.h"
        ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/DoubleConversion-umbrella.h:20:9: note: in file included from /Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/DoubleConversion-umbrella.h:20:
#import "double-conversion/ieee.h"
        ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/double-conversion/ieee.h:33:28: error: expected ';' after top level declarator
namespace double_conversion {
                           ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/RCT-Folly/folly/Conv.h:124:10: note: while building module 'DoubleConversion' imported from /Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/RCT-Folly/folly/Conv.h:124:
#include <double-conversion/double-conversion.h> // V8 JavaScript implementation
         ^
<module-includes>:1:9: note: in file included from <module-includes>:1:
#import "DoubleConversion-umbrella.h"
        ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/DoubleConversion-umbrella.h:21:9: note: in file included from /Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/DoubleConversion-umbrella.h:21:
#import "double-conversion/strtod.h"
        ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/DoubleConversion/double-conversion/strtod.h:33:1: error: unknown type name 'namespace'
namespace double_conversion {
^
<unknown>:0: error: too many errors emitted, stopping now
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/React-debug/react/debug/react_native_assert.h:52:10: note: while building module 'glog' imported from /Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/React-debug/react/debug/react_native_assert.h:52:
#include <glog/logging.h>
         ^
<module-includes>:1:9: note: in file included from <module-includes>:1:
#import "glog-umbrella.h"
        ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/glog/glog-umbrella.h:13:9: note: in file included from /Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/glog/glog-umbrella.h:13:
#import "glog/logging.h"
        ^
/Users/nikitatihonov/Learn/fabric-swift/ReproducerApp/ios/Pods/Headers/Public/glog/glog/logging.h:42:10: error: 'iosfwd' file not found
#include <iosfwd>
         ^
<unknown>:0: error: could not build Objective-C module 'react_native_test_view'

Reproducer

https://github.com/tikhonNikita/fabric-swift

Screenshots and Videos

No response

tikhonNikita avatar Jul 13 '24 13:07 tikhonNikita

@tikhonNikita hey, did you solve that issue? same here ...

nthtrung09it avatar Aug 07 '24 00:08 nthtrung09it

@nthtrung09it Hey! No, the issue is still reproducible. I had to use a temporal workaround to avoid modifying ShadowNode. But the problem is still there.

tikhonNikita avatar Aug 08 '24 09:08 tikhonNikita

@tikhonNikita The issue is that the Swift compiler does not understand C++ header files and tries to compile it as C files. You can read more about it here. You can see that when you remove h from source_files in react-native-test-view.podspec the repro builds. The more robust solution was provided here.

coado avatar Sep 17 '24 07:09 coado

Thank you @coado!I will try it

tikhonNikita avatar Sep 25 '24 07:09 tikhonNikita

The issue was resolved after applying the actions described here. Thanks @coado for the advice!

tikhonNikita avatar Oct 03 '24 13:10 tikhonNikita