Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
506 commits
Select commit Hold shift + click to select a range
f5102ca
Add pre-typeck if match views
Y-Nak Jul 9, 2026
cf25fb1
Add pre-typeck bool unit-sum views
Y-Nak Jul 9, 2026
a8afd4a
Treat builtin pair patterns as products in hull
Y-Nak Jul 9, 2026
dd2f970
Specialize if statements through desugar match view
Y-Nak Jul 10, 2026
e8990dc
Specialize bool constructors through desugar view
Y-Nak Jul 10, 2026
f37d7ad
Route if expressions through desugar view
Y-Nak Jul 10, 2026
0c26e68
Record field initializer if and bool desugars
Y-Nak Jul 10, 2026
fda6232
Lower if expressions to mono match
Y-Nak Jul 10, 2026
d1d1d85
Centralize mono builtin constructor identity
Y-Nak Jul 10, 2026
78b7ff5
Clarify desugar plan boundaries
Y-Nak Jul 10, 2026
fc4a2cd
Add desugar origin diagnostics fixture
Y-Nak Jul 10, 2026
3892c1e
Add desugar incremental cache coverage
Y-Nak Jul 10, 2026
f07ffac
Document expression match lowering boundary
Y-Nak Jul 10, 2026
2077269
Support word ABI dispatch in std
Y-Nak Jul 10, 2026
4012b7d
Resolve defaults per tabled solver subgoal
Y-Nak Jul 10, 2026
3b8f9f9
Add pre-typecheck contract dispatch overlays
Y-Nak Jul 10, 2026
6397a31
Route contract runtimes through std dispatch
Y-Nak Jul 10, 2026
bc6b17a
Allow structured default instance heads
Y-Nak Jul 10, 2026
258bd8f
Complete compiler-owned contract ABI overlays
Y-Nak Jul 10, 2026
cea6331
Document Rust standard library divergence
Y-Nak Jul 10, 2026
5d5dc92
Avoid deriving Generic evidence for std ADTs
Y-Nak Jul 10, 2026
0c3e6ba
Deduplicate imported superclass clause sets
Y-Nak Jul 10, 2026
6d9f52a
Cache trait solver clauses by class
Y-Nak Jul 10, 2026
d70b5dc
Add Hull-to-Sonatina lowering backend
Y-Nak Jul 11, 2026
8fbcaab
Expose Sonatina IR emission in driver
Y-Nak Jul 11, 2026
b9b1950
Share EVM E2E harness and Yul cases
Y-Nak Jul 11, 2026
1d31e2e
Add Sonatina bytecode E2E coverage
Y-Nak Jul 11, 2026
99bfbfa
Run backend E2E tests in CI
Y-Nak Jul 11, 2026
0288151
Preserve leading function comments in HIR
Y-Nak Jul 11, 2026
d35ae15
Drive backend E2E tests from source directives
Y-Nak Jul 11, 2026
77c52f5
Align E2E runtime with the Osaka target
Y-Nak Jul 11, 2026
d37bdf8
Preserve comments for all HIR items
Y-Nak Jul 11, 2026
991c7e0
Exercise composite values in backend E2E tests
Y-Nak Jul 11, 2026
25ebf4d
Expose Sonatina IR in the playground
Y-Nak Jul 11, 2026
0ddb177
fix ci
Y-Nak Jul 11, 2026
eb70d8e
Add compiler performance profiles and benchmarks
Y-Nak Jul 11, 2026
f50dcab
Track module files and batch workspace updates
Y-Nak Jul 11, 2026
3806e4d
Share module instance facts across trait checks
Y-Nak Jul 11, 2026
32f4ead
Support real LSP workspaces and file URIs
Y-Nak Jul 12, 2026
608a975
Add qualified member completion
Y-Nak Jul 12, 2026
f274b70
Expand go-to-definition coverage
Y-Nak Jul 12, 2026
797e33f
Exercise native workspace indexing over stdio
Y-Nak Jul 12, 2026
7f814a3
Add rich semantic hover information
Y-Nak Jul 12, 2026
eea5e02
Resolve type-driven LSP queries per document
Y-Nak Jul 12, 2026
43b9741
Fix signature help across modules
Y-Nak Jul 12, 2026
f5f7d5a
Document expanded LSP workspace support
Y-Nak Jul 12, 2026
3be73b1
Preserve structured diagnostic suggestions
Y-Nak Jul 12, 2026
ba7907a
Support isolated multi-root LSP workspaces
Y-Nak Jul 12, 2026
bfff4cc
Expand references and rename across aliases
Y-Nak Jul 12, 2026
da6d57b
Add diagnostic quick fixes
Y-Nak Jul 12, 2026
0a966b6
Add deterministic document formatting
Y-Nak Jul 12, 2026
3159215
Add folding and selection range handlers
Y-Nak Jul 12, 2026
e26b94c
Expose expanded LSP features over native and WASM transports
Y-Nak Jul 12, 2026
70b00bc
Wire expanded LSP features into the playground
Y-Nak Jul 12, 2026
df3de4d
Classify unresolved name lookup contexts
Y-Nak Jul 12, 2026
66cee9d
Index safe auto-import candidates
Y-Nak Jul 12, 2026
e96aab7
Plan syntax-safe import edits
Y-Nak Jul 12, 2026
a7709ab
Offer missing imports through LSP code actions
Y-Nak Jul 12, 2026
3cc4d60
Reject stale playground code action edits
Y-Nak Jul 12, 2026
71a2028
Classify qualified name lookup failures
Y-Nak Jul 12, 2026
9403788
Index qualified auto-import candidates
Y-Nak Jul 12, 2026
8c2b43c
Plan safe plain module imports
Y-Nak Jul 12, 2026
47d5b4e
Offer qualified missing import quick fixes
Y-Nak Jul 12, 2026
93cbfe3
Sync std with upstream solcore
Y-Nak Jul 12, 2026
5968cb3
Require explicit std dispatch imports
Y-Nak Jul 12, 2026
dc105c0
Suggest imports for generated dispatch diagnostics
Y-Nak Jul 12, 2026
eb3118b
Offer wildcard imports for missing constructors
Y-Nak Jul 12, 2026
ae16bbb
Document upstream std ABI dispatch gap
Y-Nak Jul 12, 2026
a7140e4
Align E2E fixtures with reference ABI support
Y-Nak Jul 12, 2026
33ecd4e
Separate rigid and inference obligation variables
Y-Nak Jul 12, 2026
48c1d05
Fix specialization constants and ABI selectors
Y-Nak Jul 12, 2026
98b455a
Preserve Hull lowering semantics
Y-Nak Jul 12, 2026
63bcace
Make specialization symbols definition-aware
Y-Nak Jul 12, 2026
79cb8c9
Route source operators through resolved evidence
Y-Nak Jul 12, 2026
969f3ee
Preserve if-branch locals after lowering
Y-Nak Jul 12, 2026
2a23b80
Refresh Yul snapshots for resolved operator names
Y-Nak Jul 12, 2026
e41406f
Preserve shadowed match binder inputs
Y-Nak Jul 12, 2026
f7f7cda
Strengthen P0 regression coverage
Y-Nak Jul 13, 2026
908e181
Fix P0 diagnostic regression snapshots
Y-Nak Jul 13, 2026
a996eb0
Harden editor analysis against unsafe inputs
Y-Nak Jul 13, 2026
a326c37
Preserve public import and operator semantics
Y-Nak Jul 13, 2026
7061712
Harden specialization and backend lowering
Y-Nak Jul 13, 2026
52409dc
Strengthen audit regression coverage
Y-Nak Jul 13, 2026
123b06d
Preserve parser and name resolution diagnostics
Y-Nak Jul 13, 2026
76d9f51
Harden type inference coverage and solver answers
Y-Nak Jul 13, 2026
6bb427f
Add full frontend property and corpus gates
Y-Nak Jul 13, 2026
e498c33
Harden LSP document and workspace edits
Y-Nak Jul 13, 2026
38da82c
Harden specialization reachability and evaluation limits
Y-Nak Jul 13, 2026
0c76a36
Harden backend lowering edge cases
Y-Nak Jul 13, 2026
23ac52e
Exercise stateful and boundary EVM behavior
Y-Nak Jul 13, 2026
027a166
Build shipped artifacts in CI
Y-Nak Jul 13, 2026
aac0c49
Make driver outputs and limits explicit
Y-Nak Jul 13, 2026
ca3db2e
Preserve independent parser diagnostics
Y-Nak Jul 13, 2026
8953701
Separate module qualifiers from exact targets
Y-Nak Jul 13, 2026
2025f05
Avoid redundant inference and purity work
Y-Nak Jul 13, 2026
a077558
Preserve Salsa input identities across updates
Y-Nak Jul 13, 2026
6fd5e73
Harden editor client lifecycle and browser builds
Y-Nak Jul 13, 2026
fe75ce2
Add compile scaling pathology guard
Y-Nak Jul 13, 2026
f8dcfaa
Pin release inputs and platform gates
Y-Nak Jul 13, 2026
2dcf0ae
Expand Sonatina IR and optimization coverage
Y-Nak Jul 13, 2026
c43fc56
Bump rustc version
Y-Nak Jul 13, 2026
2b287ad
Update wasm-pack for Rust 1.97
Y-Nak Jul 13, 2026
9cb304c
Prevent LSP stack overflows on Windows
Y-Nak Jul 13, 2026
83c23dc
Guard all semantic LSP queries on Windows
Y-Nak Jul 13, 2026
0a040b6
Revert broad semantic LSP stack guards
Y-Nak Jul 13, 2026
e15899e
Resolve virtual file URLs on Windows
Y-Nak Jul 13, 2026
feda0fa
Render memory diagnostics consistently on Windows
Y-Nak Jul 14, 2026
631d408
Stop CI temporarily
Y-Nak Jul 14, 2026
a5cba9e
Move semantic tests to directory fixtures
Y-Nak Jul 14, 2026
91708ca
Document Haskell and Rust semantic differences
Y-Nak Jul 14, 2026
55fd721
Show ABI output in the playground
Y-Nak Jul 14, 2026
4c8f6d5
Reject overflowing HIR indices
Y-Nak Jul 14, 2026
26be8c0
Centralize frontend diagnostic handling
Y-Nak Jul 14, 2026
9f6b281
Share compiler orchestration across adapters
Y-Nak Jul 14, 2026
1797149
Fix type inference semantic parity
Y-Nak Jul 14, 2026
748713f
Stabilize tabled solver canonicalization
Y-Nak Jul 14, 2026
91b195f
Fix contract dispatch and ABI parity
Y-Nak Jul 14, 2026
b8d134b
Type check Yul keccak256
Y-Nak Jul 14, 2026
f048e7e
Refresh the semantic parity ledger
Y-Nak Jul 14, 2026
07f02e7
Add Standard JSON driver interface
Y-Nak Jul 15, 2026
a0e5e1b
Add AFL fuzz targets
Y-Nak Jul 15, 2026
b9e94f4
Add tofu benchmark suite
Y-Nak Jul 15, 2026
8f573d3
Instrument compiler pipeline stages
Y-Nak Jul 15, 2026
83ec576
Refine default compiler tracing
Y-Nak Jul 15, 2026
f036668
Bumpup sonatina version
Y-Nak Jul 15, 2026
d70af9b
Use matchcov for pattern coverage
Y-Nak Jul 17, 2026
38f4778
Use tablesolve for type class resolution
Y-Nak Jul 17, 2026
77749c3
Add new syntax migration tooling
Y-Nak Jul 23, 2026
81e8aa5
Implement the new Solcore surface syntax
Y-Nak Jul 23, 2026
3c5dd23
Migrate the Solcore source corpus to new syntax
Y-Nak Jul 23, 2026
4b498fd
Update editor and playground syntax support
Y-Nak Jul 23, 2026
ac5e5f7
Treat omitted returns as unit
Y-Nak Jul 23, 2026
9c00ca1
Guard nested generic arguments
Y-Nak Jul 23, 2026
1debb62
Migrate legacy dot constructors safely
Y-Nak Jul 23, 2026
a1b996b
Preserve canonical function prototypes
Y-Nak Jul 23, 2026
3a5a356
Accept tilde Solidity pragmas
Y-Nak Jul 23, 2026
de4ec5e
Refresh migrated Yul snapshot metadata
Y-Nak Jul 23, 2026
ce48ad6
Preserve incomplete signature recovery
Y-Nak Jul 23, 2026
c5a1e0e
Preserve named function returns
Y-Nak Jul 23, 2026
dc42e92
Fix special function hover signatures
Y-Nak Jul 23, 2026
2c04fb3
Respect receiver shadowing in import migration
Y-Nak Jul 23, 2026
2b05131
Harden embedded source migration detection
Y-Nak Jul 23, 2026
9cf5b56
Preserve struct field semantics
Y-Nak Jul 23, 2026
286ffea
Align inference tests with unit returns
Y-Nak Jul 23, 2026
97efdb8
Reserve boolean and fallback keywords
Y-Nak Jul 23, 2026
90bfa2f
Decode Rust escapes before syntax migration
Y-Nak Jul 23, 2026
b5d20a1
Give explicit conversions checked semantics
Y-Nak Jul 23, 2026
6000b4d
Respect value receivers over namespace aliases
Y-Nak Jul 23, 2026
d147be3
Reject unsupported storage field projections
Y-Nak Jul 23, 2026
7373bf9
Implement nominal user-defined value types
Y-Nak Jul 23, 2026
3d08ebe
Preserve fixed array lengths
Y-Nak Jul 23, 2026
603d3a2
Preserve contract kinds and prototypes
Y-Nak Jul 23, 2026
f2a7199
Preserve function declaration modifiers
Y-Nak Jul 23, 2026
3c88d28
Preserve function type qualifiers
Y-Nak Jul 23, 2026
c306b7c
Migrate mixed function declaration syntax
Y-Nak Jul 23, 2026
7831142
Preserve inline comments during syntax migration
Y-Nak Jul 24, 2026
192271b
Reject contract inheritance during syntax migration
Y-Nak Jul 24, 2026
b24ddd2
Harden recursive type syntax migration
Y-Nak Jul 24, 2026
0873df1
Make syntax migration batches failure-atomic
Y-Nak Jul 24, 2026
eedc1e7
Reject unsupported Solidity call options
Y-Nak Jul 24, 2026
e7373d5
Reject string imports during syntax migration
Y-Nak Jul 24, 2026
c5fb97a
Detect string imports in embedded sources
Y-Nak Jul 24, 2026
e3170e5
Preserve nested comptime let types
Y-Nak Jul 24, 2026
585a1f8
Migrate Classic let initializers
Y-Nak Jul 24, 2026
56aeda0
Handle comparisons in Classic expression headers
Y-Nak Jul 24, 2026
0cbc0cd
Migrate Classic contract type parameters
Y-Nak Jul 24, 2026
6c0a9b2
Reject unsupported named call arguments
Y-Nak Jul 24, 2026
457a888
Reject Classic operator import selectors
Y-Nak Jul 24, 2026
26cbb6d
Preserve Classic import hiding semantics
Y-Nak Jul 24, 2026
ef1f2ac
Preserve Classic expression annotation semantics
Y-Nak Jul 24, 2026
11c2e26
Reject deliberately omitted Solidity syntax
Y-Nak Jul 24, 2026
1f67bd4
Reject generic fallback declarations
Y-Nak Jul 24, 2026
a72a63c
Reject comptime tuple destructuring
Y-Nak Jul 24, 2026
df889d8
Restore annotation semantics in accepted corpus
Y-Nak Jul 24, 2026
58e3cc0
Restore annotation semantics in failing corpus
Y-Nak Jul 24, 2026
9ac3a4d
Detect Classic types in embedded let bindings
Y-Nak Jul 24, 2026
47c9bac
Harden typed let delimiter migration
Y-Nak Jul 24, 2026
064d38a
Clarify function-style conversion migration boundary
Y-Nak Jul 24, 2026
e8179ab
Respect named result bindings during migration
Y-Nak Jul 24, 2026
7a7ca17
Respect lexical constructor term scopes
Y-Nak Jul 24, 2026
f94cf08
Respect scoped constructor ownership
Y-Nak Jul 24, 2026
7de933c
Record intentional unit return divergences
Y-Nak Jul 24, 2026
f7d981c
Reject invalid Classic import selectors
Y-Nak Jul 24, 2026
d3accca
Resolve lowercase constructor patterns
Y-Nak Jul 24, 2026
428c588
Migrate constructors in field initializers
Y-Nak Jul 24, 2026
9f6dfba
Distinguish comparisons from type arguments
Y-Nak Jul 24, 2026
6b04bd7
Recognize dot constructors after comparisons
Y-Nak Jul 24, 2026
ac1cfe7
Disambiguate Classic bare import aliases
Y-Nak Jul 24, 2026
3a04c65
Restore parser fixture coverage
Y-Nak Jul 24, 2026
538a825
Restore inferred impl method signatures
Y-Nak Jul 24, 2026
6c3a493
Refresh migrated UI diagnostics
Y-Nak Jul 24, 2026
15af8ec
Resolve constructors through import surfaces
Y-Nak Jul 24, 2026
8b8890e
Keep namespace constructors qualified
Y-Nak Jul 24, 2026
54a1fea
Accept trailing import selectors
Y-Nak Jul 24, 2026
1462b6d
Fail closed on unresolved constructor imports
Y-Nak Jul 24, 2026
270a65f
Deduplicate lexical migration paths
Y-Nak Jul 24, 2026
b4b113b
Reject duplicate import selectors
Y-Nak Jul 24, 2026
7fe0aea
Validate Core import identifiers
Y-Nak Jul 24, 2026
c36e864
Reject invalid constructor providers
Y-Nak Jul 24, 2026
f51adde
Preserve standalone Yul walrus literals
Y-Nak Jul 24, 2026
643727d
Recognize Unicode identifiers during migration
Y-Nak Jul 24, 2026
5a9852a
Preserve duplicate function modifiers
Y-Nak Jul 24, 2026
1d1d7ac
Reject duplicate Classic generic binders
Y-Nak Jul 24, 2026
8e19a58
Ignore Rust format argument templates
Y-Nak Jul 24, 2026
8c47ec5
Preserve source line endings during migration
Y-Nak Jul 24, 2026
b7e8e15
Fail closed on source discovery errors
Y-Nak Jul 24, 2026
e724a5f
Preserve imported builtin constructors
Y-Nak Jul 24, 2026
9878dbc
Qualify all visible constructor variants
Y-Nak Jul 24, 2026
5aea236
Mark intentional unqualified constructor diagnostics
Y-Nak Jul 24, 2026
ae558c4
Reject parser-invalid provider surfaces
Y-Nak Jul 24, 2026
0b027b8
Validate provider pragma and trait heads
Y-Nak Jul 24, 2026
89fe84d
Validate provider container members
Y-Nak Jul 24, 2026
c4dc926
Collapse constructor aliases by origin
Y-Nak Jul 24, 2026
7af5507
Reject empty impl where clauses
Y-Nak Jul 24, 2026
ea07b9d
Respect constructor owner shadowing
Y-Nak Jul 24, 2026
0f0dd11
Fail closed on unresolved local constructors
Y-Nak Jul 24, 2026
b1c6d72
Respect constructor namespace precedence
Y-Nak Jul 24, 2026
d94c337
Compute constructor re-export closure
Y-Nak Jul 24, 2026
dad6880
Migrate split concat string sources
Y-Nak Jul 24, 2026
1eed3e2
Respect Unicode Rust macro boundaries
Y-Nak Jul 24, 2026
323affc
Keep nested concat token trees opaque
Y-Nak Jul 24, 2026
eb5c58a
Preserve Rust continuation whitespace
Y-Nak Jul 24, 2026
a1255a4
Normalize raw Rust string line endings
Y-Nak Jul 24, 2026
40e701f
Normalize cooked Rust string line endings
Y-Nak Jul 24, 2026
786fd48
Distinguish outer macros from unary not
Y-Nak Jul 24, 2026
bbd9953
Protect incomplete Rust macro token trees
Y-Nak Jul 24, 2026
49a5e6c
Respect locally shadowed concat macros
Y-Nak Jul 24, 2026
2905867
Distinguish raw Rust shadow keywords
Y-Nak Jul 24, 2026
c12197e
Protect macro-use concat imports
Y-Nak Jul 24, 2026
c0a942c
Recognize raw macro-use attributes
Y-Nak Jul 24, 2026
846aa39
Share concat shadowing across Rust files
Y-Nak Jul 24, 2026
5907019
Recognize adjacent Rust string literals
Y-Nak Jul 24, 2026
f73f70f
Ignore Rust shebang contents
Y-Nak Jul 24, 2026
ca08330
Match Rust pattern whitespace
Y-Nak Jul 24, 2026
88c5f64
Reject invalid Rust string literals
Y-Nak Jul 24, 2026
c4cbc4e
Validate prefixed Rust string sources
Y-Nak Jul 24, 2026
eeb1f83
Scan Rust concat sources in linear time
Y-Nak Jul 24, 2026
5b232f0
Clarify Rust concat migration help
Y-Nak Jul 24, 2026
03e31ad
Scan Rust attributes once for concat shadows
Y-Nak Jul 24, 2026
dcc664d
Scan Rust use shadows once
Y-Nak Jul 24, 2026
698ece9
Skip Rust literals while scanning use shadows
Y-Nak Jul 24, 2026
42af2e8
Track Rust attribute shadows in one pass
Y-Nak Jul 24, 2026
b5c4e98
Track Rust use shadows in one pass
Y-Nak Jul 24, 2026
74a1406
Isolate Rust attribute shadow state
Y-Nak Jul 24, 2026
d5ca81f
Bound Rust Unicode char escape scanning
Y-Nak Jul 24, 2026
4f984c7
Fix playground contract output example
Y-Nak Jul 25, 2026
c57aa36
Refresh stale Yul snapshot hashes
Y-Nak Jul 25, 2026
2256ff8
Update unsupported ABI error assertion
Y-Nak Jul 25, 2026
33a47d9
Bound expression parser stack usage
Y-Nak Jul 25, 2026
1a86291
Limit conversion inference dependencies
Y-Nak Jul 25, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
340 changes: 308 additions & 32 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,32 +1,308 @@
name: CI

on:
push:
pull_request:
workflow_dispatch:

jobs:
test:
name: Test / Fmt / Clippy
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Install Rust
uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt, clippy

- name: Rust cache
uses: Swatinem/rust-cache@v2

- name: Rustfmt
run: cargo fmt --all -- --check

- name: Clippy
run: cargo clippy --workspace --all-targets --all-features --locked -- -D warnings

- name: Test
run: cargo test --workspace --all-features --locked
# name: CI
#
# on:
# push:
# pull_request:
# workflow_dispatch:
#
# permissions:
# contents: read
#
# concurrency:
# group: ${{ github.workflow }}-${{ github.ref }}
# cancel-in-progress: true
#
# env:
# CARGO_TERM_COLOR: always
# RUST_BACKTRACE: 1
# RUST_VERSION: "1.97.0"
#
# jobs:
# fmt:
# name: Rustfmt
# runs-on: ubuntu-latest
# timeout-minutes: 10
#
# steps:
# - name: Checkout
# uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
#
# - name: Install Rust
# uses: dtolnay/rust-toolchain@4be7066ada62dd38de10e7b70166bc74ed198c30
# with:
# toolchain: ${{ env.RUST_VERSION }}
# components: rustfmt
#
# - name: Check repository release invariants
# shell: bash
# run: |
# while read -r action; do
# [[ "$action" == ./* ]] && continue
# revision="${action##*@}"
# if [[ ! "$revision" =~ ^[0-9a-f]{40}$ ]]; then
# echo "GitHub Action is not pinned to a full commit SHA: $action" >&2
# exit 1
# fi
# done < <(awk '/^[[:space:]]*uses:/ { print $2 }' .github/workflows/ci.yml)
# if git check-ignore --quiet --no-index crates/example/src/debug/mod.rs; then
# echo "Nested source directory named debug must not be ignored" >&2
# exit 1
# fi
# git check-ignore --quiet --no-index .claude/worktrees/example
# if grep --quiet '^serde-wasm-bindgen[[:space:]]*=' crates/lsp/Cargo.toml; then
# echo "solcore-lsp must not expose its removed dead dependency" >&2
# exit 1
# fi
#
# - name: Check formatting
# run: cargo fmt --all -- --check
#
# check:
# name: Check (${{ matrix.os }})
# runs-on: ${{ matrix.os }}
# timeout-minutes: 20
# strategy:
# fail-fast: false
# matrix:
# os:
# - ubuntu-latest
# - macos-latest
# - windows-latest
#
# steps:
# - name: Checkout
# uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
#
# - name: Install Rust
# uses: dtolnay/rust-toolchain@4be7066ada62dd38de10e7b70166bc74ed198c30
# with:
# toolchain: ${{ env.RUST_VERSION }}
#
# - name: Rust cache
# uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2
#
# - name: Check workspace
# run: cargo check --workspace --all-targets --all-features --locked
#
# clippy:
# name: Clippy
# runs-on: ubuntu-latest
# timeout-minutes: 20
#
# steps:
# - name: Checkout
# uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
#
# - name: Install Rust
# uses: dtolnay/rust-toolchain@4be7066ada62dd38de10e7b70166bc74ed198c30
# with:
# toolchain: ${{ env.RUST_VERSION }}
# components: clippy
#
# - name: Rust cache
# uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2
#
# - name: Lint workspace
# run: cargo clippy --workspace --all-targets --all-features --locked -- -D warnings
#
# wasm-build:
# name: Wasm build
# runs-on: ubuntu-latest
# timeout-minutes: 45
#
# steps:
# - name: Checkout
# uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
#
# - name: Install Rust
# uses: dtolnay/rust-toolchain@4be7066ada62dd38de10e7b70166bc74ed198c30
# with:
# toolchain: ${{ env.RUST_VERSION }}
# targets: wasm32-unknown-unknown
#
# - name: Rust cache
# uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2
#
# - name: Install Node
# uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
# with:
# node-version: "22"
# cache: npm
# cache-dependency-path: |
# playground/package-lock.json
# editors/vscode-solcore/package-lock.json
#
# - name: Install wasm-pack
# run: cargo install wasm-pack --version 0.15.0 --locked
#
# - name: Install playground dependencies
# working-directory: playground
# run: npm ci
#
# - name: Test playground language providers
# working-directory: playground
# run: npm run test:unit
#
# - name: Build release playground
# working-directory: playground
# run: npm run build
#
# - name: Validate VS Code extension package
# working-directory: editors/vscode-solcore
# run: |
# npm ci
# npm run test:unit
# node --check extension.js
# npm pack --dry-run
#
# test:
# name: Test
# runs-on: ubuntu-latest
# timeout-minutes: 30
#
# steps:
# - name: Checkout
# uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
#
# - name: Install Rust
# uses: dtolnay/rust-toolchain@4be7066ada62dd38de10e7b70166bc74ed198c30
# with:
# toolchain: ${{ env.RUST_VERSION }}
#
# - name: Rust cache
# uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2
#
# - name: Run tests
# run: cargo test --workspace --all-features --locked
#
# platform-test:
# name: Platform tests (${{ matrix.os }})
# runs-on: ${{ matrix.os }}
# timeout-minutes: 30
# strategy:
# fail-fast: false
# matrix:
# os:
# - macos-latest
# - windows-latest
#
# steps:
# - name: Checkout
# uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
#
# - name: Install Rust
# uses: dtolnay/rust-toolchain@4be7066ada62dd38de10e7b70166bc74ed198c30
# with:
# toolchain: ${{ env.RUST_VERSION }}
#
# - name: Rust cache
# uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2
#
# - name: Run path and editor integration tests
# run: >-
# cargo test --all-features --locked
# -p solcore-parser
# -p solcore-nameres
# -p solcore-vfs
# -p solcore-lsp
# -p solcore-driver
#
# performance:
# name: Performance pathology guard
# runs-on: ubuntu-latest
# timeout-minutes: 30
#
# steps:
# - name: Checkout
# uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
#
# - name: Install Rust
# uses: dtolnay/rust-toolchain@4be7066ada62dd38de10e7b70166bc74ed198c30
# with:
# toolchain: ${{ env.RUST_VERSION }}
#
# - name: Rust cache
# uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2
#
# - name: Run scaling workloads with generous ceilings
# run: scripts/check-compile-performance.sh
#
# e2e:
# name: E2E
# runs-on: ubuntu-latest
# timeout-minutes: 45
#
# env:
# E2E: "1"
# E2E_REQUIRED: "1"
# ANVIL_HARDFORK: "osaka"
# # Published in https://binaries.soliditylang.org/linux-amd64/list.json.
# SOLC_SHA256: fa8ac9a32d301ad023a36ee5a29f8e291fe3200c60244e43c142539e82a617f4
#
# steps:
# - name: Checkout
# uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
#
# - name: Install Rust
# uses: dtolnay/rust-toolchain@4be7066ada62dd38de10e7b70166bc74ed198c30
# with:
# toolchain: ${{ env.RUST_VERSION }}
#
# - name: Rust cache
# uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2
#
# - name: Install Foundry
# uses: foundry-rs/foundry-toolchain@b00af27efadbc7b4ca8b82abbd903b17cc874d2a # v1.9.0
# with:
# version: v1.7.1
#
# - name: Configure solc path
# run: echo "SOLC=$RUNNER_TEMP/solc" >> "$GITHUB_ENV"
#
# - name: Install solc
# run: |
# curl --fail --location --retry 3 \
# --output "$SOLC" \
# https://github.com/ethereum/solidity/releases/download/v0.8.35/solc-static-linux
# echo "$SOLC_SHA256 $SOLC" | sha256sum --check --strict
# chmod +x "$SOLC"
#
# - name: Show tool versions
# run: |
# "$SOLC" --version
# anvil --version
# cast --version
#
# - name: Compile Yul regression corpus with solc
# run: >-
# cargo test --profile e2e -p solcore-yul --test snapshots --locked
# solc_strict_assembly_compiles_snapshots_and_repros_when_present --
# --nocapture
#
# - name: Run E2E tests
# run: >-
# cargo test --profile e2e -p solcore-yul -p solcore-sonatina
# --test e2e --locked -- --nocapture --test-threads=1
#
# docs:
# name: Docs
# runs-on: ubuntu-latest
# timeout-minutes: 20
#
# env:
# RUSTDOCFLAGS: -D warnings
#
# steps:
# - name: Checkout
# uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
#
# - name: Install Rust
# uses: dtolnay/rust-toolchain@4be7066ada62dd38de10e7b70166bc74ed198c30
# with:
# toolchain: ${{ env.RUST_VERSION }}
#
# - name: Rust cache
# uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2
#
# - name: Build documentation
# run: cargo doc --workspace --all-features --no-deps --locked
7 changes: 5 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
# Generated by Cargo
# will have compiled files and executables
debug
target

# These are backup files generated by rustfmt
**/*.rs.bk

# Generated by Python migration tooling
__pycache__/
*.py[cod]

# MSVC Windows builds of rustc generate these, which store debugging information
*.pdb

Expand All @@ -24,3 +26,4 @@ target
# Added by cargo

/target
/.claude/
Loading