Skip to content

Implement simple form of associative arrays

Michael Aaron Murphy requested to merge bblancha:master into master

Created by: bblancha

Problem: No map-like data structures yet exist in ion.

Solution: Allow simple associative arrays with string keys

Changes introduced by this pull request:

  • Create hashmap context in shell::variables to store named hashmaps
  • Create "Key" selector to represent string keys
  • Instances of "Select" objects must now be cloned; remove Copy trait (This was needed to support a select type based on string keys)

Drawbacks: Select objects no longer implement Copy

TODOs: Does not yet have an initializer syntax for associative arrays

Fixes: Addresses #246 (closed)

State: Needs review

Merge request reports