mirror of
https://gitee.com/openharmony/third_party_rust_syn
synced 2024-11-23 16:00:10 +00:00
95f242c525
It looks like the only outstanding issue aliasing issue in this repo (with raw pointer tagging) was this one move of a Box after saving a pointer to the allocation that the Box guards. This is UB according to the Stacked Borrows with raw pointer tagging in combination with the way rustc applies noalias to Box. As is often the case, the resolution here is to convert the Box down to a raw pointer before a pointer into the allocation is created.
138 lines
4.5 KiB
YAML
138 lines
4.5 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
pull_request:
|
|
schedule: [cron: "40 1 * * *"]
|
|
|
|
env:
|
|
RUSTFLAGS: '-Dwarnings'
|
|
|
|
jobs:
|
|
test:
|
|
name: Tests
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- uses: dtolnay/rust-toolchain@nightly
|
|
with:
|
|
components: rustc-dev
|
|
- run: cargo test --all-features --release --tests
|
|
|
|
build:
|
|
name: ${{matrix.name || format('Rust {0}', matrix.rust)}}
|
|
runs-on: ${{matrix.os || 'ubuntu'}}-latest
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
rust: [stable, beta, 1.31.0]
|
|
include:
|
|
- rust: nightly
|
|
components: rustc-dev
|
|
- rust: nightly
|
|
name: WebAssembly
|
|
target: wasm32-unknown-unknown
|
|
- rust: nightly
|
|
name: WASI
|
|
target: wasm32-wasi
|
|
- rust: nightly
|
|
name: Windows
|
|
os: windows
|
|
env:
|
|
target: ${{matrix.target && format('--target={0}', matrix.target)}}
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- uses: dtolnay/rust-toolchain@master
|
|
with:
|
|
toolchain: ${{matrix.rust}}
|
|
components: ${{matrix.components}}
|
|
- if: matrix.target
|
|
run: rustup target add ${{matrix.target}}
|
|
- run: cargo check ${{env.target}} --no-default-features
|
|
- run: cargo check ${{env.target}}
|
|
- run: cargo check ${{env.target}} --features full
|
|
- run: cargo check ${{env.target}} --features 'fold visit visit-mut'
|
|
- run: cargo check ${{env.target}} --features 'full fold visit visit-mut'
|
|
- run: cargo check ${{env.target}} --no-default-features --features derive
|
|
- run: cargo check ${{env.target}} --no-default-features --features 'derive parsing'
|
|
- run: cargo check ${{env.target}} --no-default-features --features 'derive printing'
|
|
- run: cargo check ${{env.target}} --no-default-features --features 'proc-macro parsing printing'
|
|
- run: cargo check ${{env.target}} --no-default-features --features full
|
|
- run: cargo check ${{env.target}} --no-default-features --features 'full parsing'
|
|
- run: cargo check ${{env.target}} --no-default-features --features 'full printing'
|
|
- run: cargo check ${{env.target}} --no-default-features --features 'full parsing printing'
|
|
- run: cargo check ${{env.target}} --no-default-features --features 'fold visit visit-mut parsing printing'
|
|
- run: cargo check ${{env.target}} --no-default-features --features 'full fold visit visit-mut parsing printing'
|
|
- if: matrix.components == 'rustc-dev'
|
|
run: cargo check --benches --all-features --release
|
|
|
|
examples:
|
|
name: Examples
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- uses: dtolnay/rust-toolchain@nightly
|
|
- run: cargo check --manifest-path examples/dump-syntax/Cargo.toml
|
|
- run: cargo check --manifest-path examples/heapsize/example/Cargo.toml
|
|
- run: cargo check --manifest-path examples/lazy-static/example/Cargo.toml
|
|
- run: cargo check --manifest-path examples/trace-var/example/Cargo.toml
|
|
|
|
docs:
|
|
name: Docs
|
|
runs-on: ubuntu-latest
|
|
env:
|
|
RUSTDOCFLAGS: --cfg=doc_cfg -Dbroken_intra_doc_links
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- uses: dtolnay/rust-toolchain@nightly
|
|
- run: cargo test --all-features --doc
|
|
- run: cargo doc --all-features
|
|
|
|
codegen:
|
|
name: Codegen
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- uses: dtolnay/rust-toolchain@stable
|
|
- run: cd codegen && cargo run
|
|
- run: git diff --exit-code
|
|
|
|
msrv:
|
|
name: Minimal versions
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- uses: dtolnay/rust-toolchain@nightly
|
|
- run: cargo update -Z minimal-versions
|
|
- run: cargo check --all-features
|
|
|
|
miri:
|
|
name: Miri
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- uses: dtolnay/rust-toolchain@miri
|
|
- run: cargo miri test --all-features
|
|
env:
|
|
MIRIFLAGS: '-Zmiri-tag-raw-pointers'
|
|
|
|
clippy:
|
|
name: Clippy
|
|
runs-on: ubuntu-latest
|
|
if: github.event_name != 'pull_request'
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- uses: dtolnay/rust-toolchain@nightly
|
|
with:
|
|
components: clippy,rustc-dev
|
|
- run: cargo clippy --all-features --tests --benches -- -Dclippy::all -Dclippy::pedantic
|
|
|
|
outdated:
|
|
name: Outdated
|
|
runs-on: ubuntu-latest
|
|
if: github.event_name != 'pull_request'
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- uses: dtolnay/install@cargo-outdated
|
|
- run: cargo outdated --exit-code 1
|