enthought / enthought/traits

observe mini-language: consider allowing '*' in a non-terminal position

Open
#1,526 1 comment 0 reactions 0 assignees View on GitHub
component: core topic: traits listener rework type: enhancement
Dominant language
Python
Stars
462
Forks
90
PR merge metrics
No merged PRs in 30d

Description

#1496 introduced `"*"` to mean "any trait" into the observe mini-language; #1525 disallowed use of `"*"` in a non-terminal position, since with current meanings and semantics it's very hard to make it useful; see the discussion in the #1525 description, and the related issue #1503.

At some point, we may want to re-introduce a more useful meaning for an expression like "*:updated" - one that's more permissive of traits on the target object that don't have an `updated` trait. There's already partial machinery for this in the expression language, in the form of the `optional` argument to expression-producing functions like `trait`, `list_items`, etc.

xref: #1496, #1503, #1505, #1525

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.