diff --git a/.github/workflows/code-coverage-main.yml b/.github/workflows/code-coverage-main.yml index 8060378fb1..6fa8d3c368 100644 --- a/.github/workflows/code-coverage-main.yml +++ b/.github/workflows/code-coverage-main.yml @@ -27,6 +27,10 @@ jobs: - name: Install rust ${{ env.rust_release }} run: rustup update ${{ env.rust_release }} && rustup default ${{ env.rust_release }} + - name: Disable rust-lld (to fix linkme) + run: echo RUSTFLAGS=${RUSTFLAGS}\ -Zlinker-features=-lld >> $GITHUB_ENV + if: matrix.rust == 'nightly' + - uses: ./.github/actions/install-conjure with: os_arch: linux diff --git a/.github/workflows/code-coverage.yml b/.github/workflows/code-coverage.yml index d983307f0b..183c018ddc 100644 --- a/.github/workflows/code-coverage.yml +++ b/.github/workflows/code-coverage.yml @@ -40,6 +40,10 @@ jobs: - name: Install rust ${{ env.rust_release }} run: rustup update ${{ env.rust_release }} && rustup default ${{ env.rust_release }} + + - name: Disable rust-lld (to fix linkme) + run: echo RUSTFLAGS=${RUSTFLAGS}\ -Zlinker-features=-lld >> $GITHUB_ENV + if: matrix.rust == 'nightly' - uses: ./.github/actions/install-conjure with: diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index d59d163835..f9790ce01e 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -54,6 +54,10 @@ jobs: - name: Run sccache-cache uses: mozilla-actions/sccache-action@v0.0.3 + - name: Disable rust-lld (to fix linkme) + run: echo RUSTFLAGS=${RUSTFLAGS}\ -Zlinker-features=-lld >> $GITHUB_ENV + if: matrix.rust == 'nightly' + - run: rustup update ${{ matrix.rust_release }} && rustup default ${{ matrix.rust_release }} - run: cargo build -vv --workspace diff --git a/readme.md b/readme.md index dc829b0e75..70daa85d71 100644 --- a/readme.md +++ b/readme.md @@ -13,6 +13,20 @@ This repository hosts the following projects: This project is being produced by staff and students of University of St Andrews, and is licenced under the [MPL 2.0](./LICENCE). +## Rust Nightly Support + +The following compiler flags are required for Conjure-Oxide to work with +Nightly Rust: + +```sh +export RUSTFLAGS="-Zlinker-features=-lld" +cargo build <...> +``` + +This is because of current incompatibilities with linkme and the new default +linker ([link](https://github.com/dtolnay/linkme/issues/94)). + + ## Documentation API documentation can be found [here](https://conjure-cp.github.io/conjure-oxide/docs/).