Support building `cfg=c_bindings` with `no-std` 2022-01-bindings-no-std-104
authorMatt Corallo <git@bluematt.me>
Tue, 4 Jan 2022 22:34:15 +0000 (22:34 +0000)
committerMatt Corallo <git@bluematt.me>
Wed, 5 Jan 2022 07:54:59 +0000 (07:54 +0000)
This will be needed for JavaScript bindings eventually.

.github/workflows/build.yml
lightning/src/util/logger.rs

index 20ca306b18dcd7e185a1cc629012a6ce1ec7da4c..96c629220d454e9cdf2e551a203152908aa82dc3 100644 (file)
@@ -109,11 +109,14 @@ jobs:
         run: RUSTFLAGS="-C link-dead-code" cargo test --verbose --color always
       - name: Test on no-std bullds Rust ${{ matrix.toolchain }}
         if: "matrix.build-no-std && !matrix.coverage"
+        shell: bash # Default on Winblows is powershell
         run: |
           cd lightning
           cargo test --verbose --color always --no-default-features --features no-std
           # check if there is a conflict between no-std and the default std feature
           cargo test --verbose --color always --features no-std
+          # check if there is a conflict between no-std and the c_bindings cfg
+          RUSTFLAGS="--cfg=c_bindings" cargo test --verbose --color always --no-default-features --features=no-std
           cd ..
       - name: Test on no-std builds Rust ${{ matrix.toolchain }} and full code-linking for coverage generation
         if: "matrix.build-no-std && matrix.coverage"
index f8fc1eda1080e6bf3ad3aed723ac553d6bf5daa3..ff576e26ddf4ca485d648c943ad3f36384b30653 100644 (file)
@@ -17,6 +17,9 @@
 use core::cmp;
 use core::fmt;
 
+#[cfg(c_bindings)]
+use prelude::*; // Needed for String
+
 static LOG_LEVEL_NAMES: [&'static str; 6] = ["GOSSIP", "TRACE", "DEBUG", "INFO", "WARN", "ERROR"];
 
 /// An enum representing the available verbosity levels of the logger.