update objc2 crates#616
Conversation
|
oops i missed #508! there are no conflicts with main on here but feel free to close anyway. was luckily a very quick thing to do 😄 |
|
Sorry @httnn, it's always better to check for existing PRs before working on something. With that being said, I'll keep this one instead since it is more up to date. Thank you for your work! Keep in mind however that like #508, we won't merge this until the next version of winit is released. We recognize that most of our users also have winit in their dependency tree and we want to avoid having multiple versions of objc2 related crates. Thank you for your understanding. |
|
i thought i did, but apparently not carefully enough, sorry about that! is the reasoning that you just don't want to bloat the dependencies of projects that have both winit and accesskit as dependencies, or is there some technical compatibility issue? |
Nodes flagged is_spelling_error / is_grammar_error now surface through
the text-attribute pipeline so assistive technology can announce
misspelled and grammatically incorrect spans. Both flags were
previously write-only: providers could set them but no adapter read
them.
- consumer: treat the flags as inherited text attributes (exposing them
on Range/Position) and split text runs on them.
- AT-SPI: report the "invalid" attribute ("spelling" / "grammar").
- Windows: report the UIA AnnotationTypes attribute (AnnotationType_
SpellingError / GrammarError) as an array, using the reserved "mixed"
value when a flag varies across the range.
The consumer and AT-SPI paths are covered by tests; the Windows arm is
type-checked against the windows-msvc target but relies on CI for
runtime verification, since this was authored without a Windows host.
The macOS adapter is left untouched: its text-attribute path is about to
be reworked by the pending objc2 upgrade (AccessKit#616), so
the marked-misspelled arm is better added on top of that.
this pull request updates the objc2 ecosystem dependencies to their latest versions. the new versions include some useful features like being able to downcast
NSObjects more easily.most changes are due to renamed structs (
Id->Retained,WeakId->Weak,NSArray::from_vec->NSArray::from_retained_slice) and a slightly more streamlined way of defining new classes.an open question: do we need to try to handle errors when working with
CStrings or is unwrapping fine? i guess sinceCStrings are used only with class names unwrapping could be acceptable.i have tested these changes to work but might be nice if someone else could confirm this as well.