Support building `cfg=c_bindings` with `no-std` 2022-01-bindings-no-std
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:24:46 +0000 (07:24 +0000)
This will be needed for JavaScript bindings eventually.

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

index b5480f7388a0fa9a0716b96d72188a6e1d56e916..9b4621e470fff039c4d76faaa29167e179e3c59b 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.