Elixir 1.11.4 => 1.12.1でふえた関数、なくなった関数

# はじめに
- [Elixir](https://elixir-lang.org/) 楽しんでいますか:bangbang::bangbang::bangbang:
- この記事では`1.11.4` => `1.12.1`の差異をお伝えします

# [1.11.4](https://hexdocs.pm/elixir/1.11.4/Kernel.html) => [1.12.1](https://hexdocs.pm/elixir/1.12.1/Kernel.html)増えた関数

## [Code](https://hexdocs.pm/elixir/1.12.1/Code.html)

- [cursor_context/1](https://hexdocs.pm/elixir/1.12.1/Code.html#cursor_context/1)
- [cursor_context/2](https://hexdocs.pm/elixir/1.12.1/Code.html#cursor_context/2)
- [ensure_compiled!/1](https://hexdocs.pm/elixir/1.12.1/Code.html#ensure_compiled!/1)
- [ensure_loaded!/1](https://hexdocs.pm/elixir/1.12.1/Code.html#ensure_loaded!/1)

### 2021/06/06 04:40追記
- [ensure_loaded!/1](https://hexdocs.pm/elixir/1.12.1/Code.html#ensure_loaded!/1) は`1.12.0`で追加されたもののようですが、`since 1.12.0`は書いてありませんでした
- なにか事情なりルールがあって書く必要のないものなのかもしれませんが、書き忘れかもしれないのでワンチャンスねらって[プルリク](https://github.com/elixir-lang/elixir/pull/11039)出してみました
    - マージされました :tada::tada::tada:
    - 名乗るほどものでもない名を[Elixir](https://github.com/elixir-lang/elixir/commit/877ebd2e129fe2a469a363a8575edbb7400f3dda)に刻みました :rocket::rocket::rocket:  






## [Enum](https://hexdocs.pm/elixir/1.12.1/Enum.html)

- [count_until/2](https://hexdocs.pm/elixir/1.12.1/Enum.html#count_until/2)
- [count_until/3](https://hexdocs.pm/elixir/1.12.1/Enum.html#count_until/3)
- [product/1](https://hexdocs.pm/elixir/1.12.1/Enum.html#product/1)
- [zip_reduce/3](https://hexdocs.pm/elixir/1.12.1/Enum.html#zip_reduce/3)
- [zip_reduce/4](https://hexdocs.pm/elixir/1.12.1/Enum.html#zip_reduce/4)
- [zip_with/2](https://hexdocs.pm/elixir/1.12.1/Enum.html#zip_with/2)
- [zip_with/3](https://hexdocs.pm/elixir/1.12.1/Enum.html#zip_with/3)

## [Enumerable](https://hexdocs.pm/elixir/1.12.1/Enumerable.html)

- [count/1](https://hexdocs.pm/elixir/1.12.1/Enumerable.html#count/1)
- ~~[impl_for/1](https://hexdocs.pm/elixir/1.12.1/Enumerable.html#impl_for/1)~~
- ~~[impl_for!/1](https://hexdocs.pm/elixir/1.12.1/Enumerable.html#impl_for!/1)~~
- [member?/2](https://hexdocs.pm/elixir/1.12.1/Enumerable.html#member?/2)
- [reduce/3](https://hexdocs.pm/elixir/1.12.1/Enumerable.html#reduce/3)
- [slice/1](https://hexdocs.pm/elixir/1.12.1/Enumerable.html#slice/1)

### 2021/06/06 04:40追記
- `Enumerable.impl_for/1`と`Enumerable.impl_for!/1`は、ドキュメントにはないので取り消し線にしました
- それ以外のものは、`1.11.4`にもありました(目視確認)
- なんで差分として検出したのかはわかっていません
    - 私の書いたプログラムが間違っているのだとおもいます...

## [IO](https://hexdocs.pm/elixir/1.12.1/IO.html)

- [binstream/0](https://hexdocs.pm/elixir/1.12.1/IO.html#binstream/0)
- [binstream/1](https://hexdocs.pm/elixir/1.12.1/IO.html#binstream/1)
- [stream/0](https://hexdocs.pm/elixir/1.12.1/IO.html#stream/0)
- [stream/1](https://hexdocs.pm/elixir/1.12.1/IO.html#stream/1)

### 2021/06/06 04:40追記
- Link先には`since 1.12.0`とついていません
- `1.11.4`には、もともと引数の数が2個の関数が存在していました(目視確認)
- デフォルト引数が追加されている感じです
- こういう場合には、`since 1.12.0`とはかかないのですかね
    - 引数0や1で呼び出したら、古いElixirでは動かないとおもいます

## [List](https://hexdocs.pm/elixir/1.12.1/List.html)

- [first/2](https://hexdocs.pm/elixir/1.12.1/List.html#first/2)
- [last/2](https://hexdocs.pm/elixir/1.12.1/List.html#last/2)

### 2021/06/06 04:40追記
- Link先には`since 1.12.0`とついていませんがそれぞれコメントで第2引数をとるのは`1.12.0`からだと書いてありました
- https://github.com/elixir-lang/elixir/blob/v1.12.1/lib/elixir/lib/list.ex#L267
- https://github.com/elixir-lang/elixir/blob/v1.12.1/lib/elixir/lib/list.ex#L293

## [Module](https://hexdocs.pm/elixir/1.12.1/Module.html)

- [delete_definition/2](https://hexdocs.pm/elixir/1.12.1/Module.html#delete_definition/2)
- [get_definition/2](https://hexdocs.pm/elixir/1.12.1/Module.html#get_definition/2)
- [reserved_attributes/0](https://hexdocs.pm/elixir/1.12.1/Module.html#reserved_attributes/0)

## [System](https://hexdocs.pm/elixir/1.12.1/System.html)

- [shell/1](https://hexdocs.pm/elixir/1.12.1/System.html#shell/1)
- [shell/2](https://hexdocs.pm/elixir/1.12.1/System.html#shell/2)
- [trap_signal/2](https://hexdocs.pm/elixir/1.12.1/System.html#trap_signal/2)
- [trap_signal/3](https://hexdocs.pm/elixir/1.12.1/System.html#trap_signal/3)
- [untrap_signal/2](https://hexdocs.pm/elixir/1.12.1/System.html#untrap_signal/2)



# [1.11.4](https://hexdocs.pm/elixir/1.11.4/Kernel.html) => [1.12.1](https://hexdocs.pm/elixir/1.12.1/Kernel.html)なくなった関数

- 差分なし

# Wrapping up :lgtm::lgtm::lgtm::lgtm:
- Enjoy [Elixir](https://elixir-lang.org/) :bangbang::bangbang::bangbang:
- この記事は、手前味噌の「[Elixir 1.12で増えた関数を調べたい](https://qiita.com/torifukukaiou/items/7230861686ad5adf31f5)」と題して書いた記事で紹介したプログラムの実行結果です
- 名乗るほどものでもない名を[Elixir](https://github.com/elixir-lang/elixir/commit/877ebd2e129fe2a469a363a8575edbb7400f3dda)に刻みました

![スクリーンショット 2021-06-06 5.26.48.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131808/976dd0b0-6e84-7919-8358-2e5d6c57d939.png)

![スクリーンショット 2021-06-06 5.30.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131808/524e04a4-34e9-2a5f-cba8-a0e7c56c9767.png)