Skip to content

Conversation

@spherel
Copy link
Member

@spherel spherel commented Feb 1, 2026

Description

This PR extends the selector scope for expressions. Previously, we are only allowed to set selectors for all read/write/lookup/zero expressions. In this PR, we change the definition of ConstraintSystem as

pub struct ConstraintSystem<E: ExtensionField> {
    ...
    pub expression_groups: BTreeMap<Option<SelectorType<E>>, ExpressionGroup<E>>,
    ...
    pub default_read_selector: Option<SelectorType<E>>,
    pub default_write_selector: Option<SelectorType<E>>,
    pub default_lookup_selector: Option<SelectorType<E>>,
    pub default_zero_selector: Option<SelectorType<E>>,
    ...
}

so that read (or write, lookup, zero) expressions can have different selectors.

@dreamATD dreamATD force-pushed the precompiles/selector-type-refactor branch from 7dfc795 to 1b0984f Compare February 1, 2026 22:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants