A nefarious little library to ""safely"" break the type system and perform type erasure in Crystal
-
Add the dependency to your
shard.yml
:dependencies: any: gitlab: rymiel/any
-
Run
shards install
require "any"
erased_string = Any.new "Hello, world!"
puts erased_string.value(String) # => Hello, world!
erased_string.value(Int32) # Throws at runtime!
- Fork it (https://gitlab.com/rymiel/any/-/forks/new)
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Merge Request
- Emilia Dreamer - creator and maintainer