Skip to content

Commit f526099

Browse files
Fix flux to work with 2025-10-09 (#513)
Fixes to make flux work with 2025-10-09. This also updates the CI workflow to download the fixpoint dependency instead of building it from source. By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 and MIT licenses. --------- Co-authored-by: Ranjit Jhala <[email protected]>
1 parent cca61b5 commit f526099

File tree

2 files changed

+34
-32
lines changed

2 files changed

+34
-32
lines changed

.github/workflows/flux.yml

Lines changed: 16 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ on:
88
branches: [main]
99

1010
env:
11-
FIXPOINT_VERSION: "556104ba5508891c357b0bdf819ce706e93d9349"
12-
FLUX_VERSION: "e01e0cd595af33b32faf6c96b032574478c29d5c"
11+
FLUX_VERSION: "6b080b32801f923bfb590ac48e729de38f829f21"
12+
FIXPOINT_VERSION: "nightly-10-15-2025"
1313

1414
jobs:
1515
check-flux-on-core:
@@ -25,27 +25,22 @@ jobs:
2525
echo ~/.cargo/bin >> $GITHUB_PATH
2626
echo ~/.local/bin >> $GITHUB_PATH
2727
28-
- name: Cache fixpoint
29-
uses: actions/cache@v4
30-
id: cache-fixpoint
31-
with:
32-
path: ~/.local/bin/fixpoint
33-
key: fixpoint-bin-${{ runner.os }}-${{ env.FIXPOINT_VERSION }}
28+
- name: Download and install fixpoint
29+
run: |
30+
set -e
31+
NAME="fixpoint-x86_64-linux-gnu.tar.gz"
32+
URL="https://github.com/ucsd-progsys/liquid-fixpoint/releases/download/${FIXPOINT_VERSION}/${NAME}"
3433
35-
- name: Install Haskell
36-
if: steps.cache-fixpoint.outputs.cache-hit != 'true'
37-
uses: haskell-actions/[email protected]
38-
with:
39-
enable-stack: true
40-
stack-version: "2.15.7"
34+
echo "Downloading from $URL"
35+
curl -fsSL --retry 3 -o "$NAME" "$URL"
4136
42-
- name: Install fixpoint
43-
if: steps.cache-fixpoint.outputs.cache-hit != 'true'
44-
run: |
45-
git clone https://github.com/ucsd-progsys/liquid-fixpoint.git
46-
cd liquid-fixpoint
47-
git checkout $FIXPOINT_VERSION
48-
stack install --fast --flag liquid-fixpoint:-link-z3-as-a-library
37+
echo "Extracting archive"
38+
tar -xzf "$NAME"
39+
mkdir -p ~/.local/bin
40+
cp fixpoint ~/.local/bin/fixpoint
41+
42+
echo "Cleaning up"
43+
rm -f "$NAME"
4944
5045
- name: Install Z3
5146
uses: cda-tum/[email protected]

library/core/src/flux_info.rs

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
//! This file contains auxiliary definitions for Flux
22
3+
4+
use crate::hash;
5+
use crate::time;
6+
7+
38
/// List of properties tracked for the result of primitive bitwise operations.
49
/// See the following link for more information on how extensible properties for primitive operations work:
510
/// <https://flux-rs.github.io/flux/guide/specifications.html#extensible-properties-for-primitive-ops>
@@ -65,26 +70,28 @@
6570
ntail: usize{v: v <= 8}, // how many bytes in tail are valid
6671
_marker: PhantomData<S>,
6772
}
73+
74+
impl hash::Hasher for Hasher {
75+
fn write(self: &mut Self, msg: &[u8]) ensures self: Self; // mut-ref-unfolding
76+
}
6877
}
6978
7079
impl BuildHasherDefault {
7180
#[trusted(reason="https://github.com/flux-rs/flux/issues/1185")]
7281
fn new() -> Self;
7382
}
74-
}
7583
76-
impl Hasher for hash::sip::Hasher {
77-
fn write(self: &mut Self, msg: &[u8]) ensures self: Self; // mut-ref-unfolding
78-
}
79-
80-
impl Clone for hash::BuildHasherDefault {
81-
#[trusted(reason="https://github.com/flux-rs/flux/issues/1185")]
82-
fn clone(self: &Self) -> Self;
84+
impl clone::Clone for BuildHasherDefault {
85+
#[trusted(reason="https://github.com/flux-rs/flux/issues/1185")]
86+
fn clone(self: &Self) -> Self;
87+
}
8388
}
8489
85-
impl Debug for time::Duration {
86-
#[trusted(reason="modular arithmetic invariant inside nested fmt_decimal")]
87-
fn fmt(self: &Self, f: &mut fmt::Formatter) -> fmt::Result;
90+
mod time {
91+
impl fmt::Debug for Duration {
92+
#[trusted(reason="modular arithmetic invariant inside nested fmt_decimal")]
93+
fn fmt(self: &Self, f: &mut fmt::Formatter) -> fmt::Result;
94+
}
8895
}
8996
}]
9097
const _: () = {};

0 commit comments

Comments
 (0)