Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
123 commits
Select commit Hold shift + click to select a range
30beba6
Fix domain function name garbling when running over prusti-server
trktby Jun 3, 2024
ec4035e
Use new VerificationResult type
trktby Jun 8, 2024
4e6cc8a
Change prusti-server workflow
trktby Jun 12, 2024
0849d35
Port `show_ide_info` and `skip_verification` flags
trktby Jun 13, 2024
5270e09
Port `verify_only_defpath` and `report_viper_messages` flags
trktby Jun 13, 2024
39bfc55
Add support for block level messaging and bump version
trktby Jun 14, 2024
99c3b2c
Attempt to fix the only defpath flag and fix not emitting fake error
trktby Jun 18, 2024
e607cc0
Port call finder
trktby Jun 18, 2024
d472c60
Attempt porting QUERY_METHOD_SIGNATURE flag
trktby Jun 18, 2024
1443c24
Improve contract span emission
trktby Jul 5, 2024
cd45907
Accept defpaths argument as a single string
trktby Jul 12, 2024
9f58eef
WIP: Restructure how verification requests are handled
trktby Jul 12, 2024
1de40ff
Optimize selective encoding for the non-selective case, config bug fix
trktby Jul 12, 2024
aaecb18
Use cfg_if instead of if(cfg!()) (#49)
zgrannan May 13, 2024
bc26f7b
Impure Generics (#45)
zgrannan May 14, 2024
ca5edb3
Support cycles in encoders (#47)
Aurel300 May 14, 2024
f8527cc
VIR span manager, backtranslate postcondition errors
Aurel300 Jun 18, 2024
c513772
add spans to statements, backtranslate precondition errors
Aurel300 Jun 18, 2024
e977267
fix VIR translation errors
Aurel300 Jun 22, 2024
0408617
cast tuple components in pure contexts
Aurel300 Jun 22, 2024
9a99465
update Viper toolchain, to avoid error filtering (see Silicon#735)
Aurel300 Jul 8, 2024
f3cf4ef
small generic fixes
Aurel300 Jul 8, 2024
f53725a
handle assertion failures, add precondition precision
Aurel300 Jul 8, 2024
846c447
Post-rebase fixes
trktby Jul 15, 2024
14025ce
Port quantifier features skelleton from PR
trktby Jul 16, 2024
70b9855
Fix typo
trktby Jul 18, 2024
d195424
Fix viper program passing and factor out cache
trktby Jul 18, 2024
0b30959
Fix the JVM being attempted to be instantiated multiple times
trktby Jul 19, 2024
62d2a08
Fix `GlobalRef` drop warning, change `Backend` verify signature
trktby Jul 19, 2024
9daeac6
Refactor some cache and closure handling
trktby Jul 19, 2024
c8a7399
Clean up some imports, minor other fixes
trktby Jul 19, 2024
1b64b36
Add back stopwatch calls
trktby Jul 20, 2024
a9e5021
Translate and emit quantifier messages
trktby Jul 22, 2024
b5722f3
Parse pos_id as usize instead of u64 in quant messages
trktby Jul 25, 2024
2f8c64f
More server refactoring
trktby Jul 25, 2024
f06740f
Fix flag to use actual vectors
trktby Aug 1, 2024
9b2bf78
Move IDE related functionality to an own top-level crate
trktby Aug 1, 2024
47591c4
Move contract span collection and fix selective encoding
trktby Aug 1, 2024
ee1747c
Emit entire procedure span rather than just signature in CompilerInfo
trktby Aug 2, 2024
174aef5
Add viper method name backtranslation
trktby Aug 2, 2024
b8c37ed
Revert contract spans having multiple call spans
trktby Aug 2, 2024
1ebf520
Report results per method, backtranslate block labels
trktby Aug 8, 2024
3e78249
Merge branch 'assistant-features/request-processing-restructure' into…
trktby Aug 12, 2024
81230b2
Fix error hashes colliding
trktby Aug 15, 2024
1063d9d
Filter entity messages encoded methods rather than starting with "m_"
trktby Aug 15, 2024
110e633
Fix single files not being recognized as primary package
trktby Aug 15, 2024
35fc6a1
Fix procedure identifiers not being avalable on the server process
trktby Aug 15, 2024
b708b7c
Revert "small generic fixes"
trktby Aug 20, 2024
fd951ed
Add type parameters to pure make_generic method for consistency
erdmannc Jun 5, 2024
19de80e
improve support for closures/quantifiers
Aurel300 Aug 21, 2024
da102cc
Filter some block statements for range map
trktby Aug 21, 2024
e5a323b
Adapt for passing through `BlockFailureMessage`s
trktby Aug 29, 2024
ef98dc6
Remove most `program_name` variables from calls
trktby Aug 30, 2024
a614769
Do some simplifying and add comments
trktby Aug 30, 2024
ef1bee7
Merge
zgrannan Oct 4, 2025
16e8051
WIP
zgrannan Oct 5, 2025
8bd3586
WIP
zgrannan Oct 6, 2025
8162db1
Compiles
zgrannan Oct 6, 2025
cbbafd4
WIP
zgrannan Oct 6, 2025
4706787
merge
zgrannan Oct 6, 2025
5628d69
WIP
zgrannan Oct 6, 2025
f28d75c
remove unused
zgrannan Oct 6, 2025
26ee35d
remove unused
zgrannan Oct 6, 2025
8baee7b
remove unused
zgrannan Oct 6, 2025
f17e161
remove unused
zgrannan Oct 6, 2025
a518504
fmt
zgrannan Oct 6, 2025
3a1f5af
WIP
zgrannan Oct 7, 2025
39870ff
Fix compiler warnings
zgrannan Oct 7, 2025
775869d
clippy
zgrannan Oct 7, 2025
fa7e054
small cleanup
zgrannan Oct 7, 2025
66b0622
fixes
zgrannan Oct 7, 2025
ac5d2c4
deploy artifact
zgrannan Oct 7, 2025
20ca058
Update deploy version
zgrannan Oct 7, 2025
5125675
recursive submodules
zgrannan Oct 7, 2025
fc1d11a
WIP
zgrannan Oct 7, 2025
5075dee
fix arch
zgrannan Oct 7, 2025
57f8aca
dont pass in arch
zgrannan Oct 7, 2025
409ae19
fixes
zgrannan Oct 7, 2025
f907a17
try recent java version
zgrannan Oct 7, 2025
4e38dd3
update versions
zgrannan Oct 7, 2025
8c63a51
CI updates
zgrannan Oct 7, 2025
f8f3523
Update
zgrannan Oct 7, 2025
5cd069a
WIP
zgrannan Oct 7, 2025
2ecfe01
Update Rust toolchain
zgrannan Oct 8, 2025
65a4099
Update PCG and rust toolchain
zgrannan Oct 8, 2025
5436ca5
Update PCG
zgrannan Oct 8, 2025
636179b
fix prusti launch tests
zgrannan Oct 8, 2025
c4f93f4
Update
zgrannan Oct 8, 2025
760064e
try fix windows CI
zgrannan Oct 8, 2025
a9c7dfd
Fix tests?
zgrannan Oct 8, 2025
635f27d
remove invalid program test
zgrannan Oct 9, 2025
04a8e96
try fix windows CI
zgrannan Oct 9, 2025
68e8f4b
Fix doctest
zgrannan Oct 9, 2025
c14657e
Update PCG for windows CI fixes
zgrannan Oct 10, 2025
16f59bf
Windows CI fix
zgrannan Oct 10, 2025
d1ded62
Remove ubuntu 20.04
zgrannan Oct 10, 2025
c575a6a
Remove ubuntu 20.04
zgrannan Oct 10, 2025
42bab3e
update submodule
zgrannan Oct 13, 2025
363ade6
Revert "update submodule"
zgrannan Oct 13, 2025
2c294ed
windows aarch64
zgrannan Oct 13, 2025
90556e0
switch to vendored deps
zgrannan Oct 13, 2025
38e2be2
Update PCG
zgrannan Oct 14, 2025
4b57540
update CI, fmt
zgrannan Oct 15, 2025
ba64dea
15 -> 16
zgrannan Oct 15, 2025
f59cebd
fix clippy issues
zgrannan Oct 15, 2025
7ced18c
try fix
zgrannan Oct 15, 2025
4b07baa
WIP
zgrannan Oct 16, 2025
650e905
WIP
zgrannan Oct 23, 2025
570c83b
better error
zgrannan Oct 23, 2025
5fc1fc0
remove fakeerror
zgrannan Oct 23, 2025
003ecbd
Revert "remove fakeerror"
zgrannan Oct 23, 2025
46252bb
Add more to loader path
zgrannan Oct 23, 2025
df8477d
refactor
zgrannan Oct 23, 2025
e66e1cf
remove rustc_hash dependency
zgrannan Oct 23, 2025
13bfbd5
WIP
zgrannan Oct 23, 2025
ae9740b
Revert "WIP"
zgrannan Oct 23, 2025
557cdcd
Fix tests (#105)
Aurel300 Oct 22, 2025
3e982cb
clippy, cargo fmt
zgrannan Oct 24, 2025
e991228
Fix tests
zgrannan Oct 24, 2025
c5c5f49
Only build artifacts on master
zgrannan Oct 24, 2025
eff727b
Try new workflow
zgrannan Oct 24, 2025
016b919
fix a typo
zgrannan Oct 24, 2025
745906b
remove stuff specific to my branch
zgrannan Oct 27, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 6 additions & 3 deletions .github/workflows/benchmarks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,14 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out the repo
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
submodules: recursive
- name: Set up Java
uses: actions/setup-java@v1
uses: actions/setup-java@v4
with:
java-version: '15'
distribution: 'temurin'
java-version: '16'
- name: Set up the environment
run: python x.py setup
- name: Cache cargo
Expand Down
9 changes: 6 additions & 3 deletions .github/workflows/coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,15 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out the repo
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
submodules: recursive

- name: Set up Java
uses: actions/setup-java@v1
uses: actions/setup-java@v4
with:
java-version: '15'
distribution: 'temurin'
java-version: '16'

- name: Set up the environment
run: python x.py setup
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/crates-io.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,9 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out the repo
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
submodules: recursive
- name: Publish crates.io
uses: katyo/publish-crates@v2
with:
Expand Down
109 changes: 33 additions & 76 deletions .github/workflows/deploy.yml
Comment thread
zgrannan marked this conversation as resolved.
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: Deploy

on:
push:
branches: 'master'
branches: ['master']
paths-ignore: 'docs/**'

env:
Expand All @@ -14,22 +14,33 @@ jobs:
build:
strategy:
matrix:
os: [ubuntu-20.04, ubuntu-22.04, windows-latest, macos-latest]
include:
- os: ubuntu-22.04
label: ubuntu-22.04-x64
- os: windows-latest
label: windows-latest-x64
- os: windows-11-arm
label: windows-latest-arm64
- os: macos-latest
label: macos-latest-arm64
fail-fast: false
runs-on: ${{ matrix.os }}
steps:
- name: Check out the repo
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
submodules: recursive

- name: Set up Python 3
uses: actions/setup-python@v2
uses: actions/setup-python@v5
with:
python-version: '3.x'

- name: Set up Java
uses: actions/setup-java@v1
uses: actions/setup-java@v4
with:
java-version: '15'
distribution: 'temurin'
java-version: '23'

- name: Set up the environment
run: python x.py setup
Expand All @@ -47,53 +58,9 @@ jobs:
run: python x.py test-package prusti_artifact

- name: Upload Prusti artifact
uses: actions/upload-artifact@v3
with:
name: prusti-release-${{ matrix.os }}
if-no-files-found: error
path: prusti_artifact/**

# Build in release mode (but don't test) for macOS ARM
# See: https://stackoverflow.com/a/66875783/2491528
# Blocked by: requires jni-rs version >=0.21 to avoid linking to the JVM at compilation time
build_macos_arm:
runs-on: macos-latest
if: false
steps:
- name: Check out the repo
uses: actions/checkout@v2

- name: Set up Python 3
uses: actions/setup-python@v2
with:
python-version: '3.x'

- name: Set up Java
uses: actions/setup-java@v1
with:
java-version: '15'

- name: Set up the environment
run: python x.py setup

- name: Install the ARM toolchain
run: rustup target add aarch64-apple-darwin

- name: Build with cargo --release for arm64
run: |
export SDKROOT=$(xcrun -sdk macosx --show-sdk-path)
export MACOSX_DEPLOYMENT_TARGET=$(xcrun -sdk macosx --show-sdk-platform-version)
python x.py build --release --target=aarch64-apple-darwin -p prusti-launch
python x.py build --release --target=aarch64-apple-darwin -p prusti-server
python x.py build --release --target=aarch64-apple-darwin -p prusti-contracts-build

- name: Package Prusti artifact
run: python x.py package release prusti_artifact

- name: Upload Prusti artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: prusti-release-macos-arm
name: prusti-release-${{ matrix.label }}
if-no-files-found: error
path: prusti_artifact/**

Expand All @@ -103,15 +70,15 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Download all Prusti artifacts
uses: actions/download-artifact@v2
uses: actions/download-artifact@v4

- name: Zip Prusti artifacts
shell: bash
run: |
for os in ubuntu-20.04 ubuntu-22.04 windows-latest macos-latest
for artifact in ubuntu-22.04-x64 windows-latest-x64 windows-latest-arm64 macos-latest-arm64
do
echo "Package Prusti artifact for $os"
cd prusti-release-$os
echo "Package Prusti artifact for $artifact"
cd prusti-release-$artifact
zip -r prusti.zip *
cd ..
done
Expand All @@ -130,44 +97,34 @@ jobs:
release_name: Nightly Release ${{ env.TAG_NAME }}
keep_num: 2

- name: Upload release asset for Ubuntu 20.04 using a backward compatible asset name
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./prusti-release-ubuntu-20.04/prusti.zip
asset_name: prusti-release-ubuntu.zip
asset_content_type: application/zip

- name: Upload release asset for Ubuntu 20.04
- name: Upload release asset for Ubuntu 22.04
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./prusti-release-ubuntu-20.04/prusti.zip
asset_name: prusti-release-ubuntu-20.04.zip
asset_path: ./prusti-release-ubuntu-22.04-x64/prusti.zip
asset_name: prusti-release-ubuntu-22.04.zip
asset_content_type: application/zip

- name: Upload release asset for Ubuntu 22.04
- name: Upload release asset for Windows x64
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./prusti-release-ubuntu-22.04/prusti.zip
asset_name: prusti-release-ubuntu-22.04.zip
asset_path: ./prusti-release-windows-latest-x64/prusti.zip
asset_name: prusti-release-windows-x64.zip
asset_content_type: application/zip

- name: Upload release asset for Windows
- name: Upload release asset for Windows ARM64
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./prusti-release-windows-latest/prusti.zip
asset_name: prusti-release-windows.zip
asset_path: ./prusti-release-windows-latest-arm64/prusti.zip
asset_name: prusti-release-windows-arm64.zip
asset_content_type: application/zip

- name: Upload release asset for MacOS
Expand All @@ -176,6 +133,6 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./prusti-release-macos-latest/prusti.zip
asset_path: ./prusti-release-macos-latest-arm64/prusti.zip
asset_name: prusti-release-macos.zip
asset_content_type: application/zip
4 changes: 2 additions & 2 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
uses: actions/checkout@v4

- name: Check for broken links
uses: lycheeverse/lychee-action@v1.5.1
Expand All @@ -33,7 +33,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
path: "repo"

Expand Down
9 changes: 6 additions & 3 deletions .github/workflows/rustdoc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,14 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out the repo
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
submodules: recursive
- name: Set up Java
uses: actions/setup-java@v1
uses: actions/setup-java@v4
with:
java-version: '15'
distribution: 'temurin'
java-version: '16'
- name: Set up the environment
run: python x.py setup
- name: Generate documentation.
Expand Down
26 changes: 15 additions & 11 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,10 @@ jobs:
with:
submodules: recursive
- name: Set up Java
uses: actions/setup-java@v1
uses: actions/setup-java@v4
with:
java-version: '15'
distribution: 'temurin'
java-version: '16'
- name: Set up the environment
run: python x.py setup
- name: Cache cargo
Expand Down Expand Up @@ -63,9 +64,10 @@ jobs:
with:
submodules: recursive
- name: Set up Java
uses: actions/setup-java@v1
uses: actions/setup-java@v4
with:
java-version: '15'
distribution: 'temurin'
java-version: '16'
- name: Set up the environment
run: python x.py setup
- name: Cache cargo
Expand All @@ -86,9 +88,10 @@ jobs:
with:
submodules: recursive
- name: Set up Java
uses: actions/setup-java@v1
uses: actions/setup-java@v4
with:
java-version: '15'
distribution: 'temurin'
java-version: '16'
- name: Set up the environment
run: python x.py setup
- name: Cache cargo
Expand Down Expand Up @@ -125,7 +128,7 @@ jobs:
# - name: Set up Java
# uses: actions/setup-java@v1
# with:
# java-version: '15'
# java-version: '16'
# - name: Set up the environment
# run: python x.py setup
# - name: Cache cargo
Expand Down Expand Up @@ -153,13 +156,14 @@ jobs:
with:
submodules: recursive
- name: Set up Python 3
uses: actions/setup-python@v2
uses: actions/setup-python@v5
with:
python-version: '3.x'
- name: Set up Java
uses: actions/setup-java@v1
uses: actions/setup-java@v4
with:
java-version: '15'
distribution: 'temurin'
java-version: '16'
- name: Set up the environment
run: python x.py setup
- name: Cache cargo
Expand Down Expand Up @@ -208,7 +212,7 @@ jobs:
# - name: Set up Java
# uses: actions/setup-java@v1
# with:
# java-version: '15'
# java-version: '16'
# - name: Set up the environment
# run: python x.py setup
# - name: Cache cargo
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/update-deps.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,9 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out the repo
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
submodules: recursive

- name: Cache cargo
uses: Swatinem/rust-cache@v2
Expand Down
2 changes: 1 addition & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
[submodule "pcg"]
path = pcg
url = git@github.com:viperproject/pcg.git
url = git@github.com:prusti/pcg.git
Loading
Loading