diff options
author | Jonathan Arnett <jonarnett90@gmail.com> | 2019-08-19 08:13:21 -0400 |
---|---|---|
committer | Andrea Leopardi <an.leopardi@gmail.com> | 2019-08-19 14:13:21 +0200 |
commit | e6f47dcabd15db32e48b889545908c00a9abb920 (patch) | |
tree | dbcc6f55eb6f083692eac3146802ab1e3cd35586 | |
parent | 9504103f30dabfe48adcdb2c72286b66fc0985ac (diff) | |
download | elixir-e6f47dcabd15db32e48b889545908c00a9abb920.tar.gz |
Change List.Chars.to_charlist to return empty list when given nil (#9299)
-rw-r--r-- | lib/elixir/lib/list/chars.ex | 2 | ||||
-rw-r--r-- | lib/elixir/test/elixir/list/chars_test.exs | 6 |
2 files changed, 8 insertions, 0 deletions
diff --git a/lib/elixir/lib/list/chars.ex b/lib/elixir/lib/list/chars.ex index e9813a123..65ab3a906 100644 --- a/lib/elixir/lib/list/chars.ex +++ b/lib/elixir/lib/list/chars.ex @@ -24,6 +24,8 @@ defprotocol List.Chars do end defimpl List.Chars, for: Atom do + def to_charlist(nil), do: '' + def to_charlist(atom), do: Atom.to_charlist(atom) end diff --git a/lib/elixir/test/elixir/list/chars_test.exs b/lib/elixir/test/elixir/list/chars_test.exs index 9f878c709..50679ccef 100644 --- a/lib/elixir/test/elixir/list/chars_test.exs +++ b/lib/elixir/test/elixir/list/chars_test.exs @@ -6,6 +6,12 @@ defmodule List.Chars.AtomTest do test "basic" do assert to_charlist(:foo) == 'foo' end + + test "true false nil" do + assert to_charlist(false) == 'false' + assert to_charlist(true) == 'true' + assert to_charlist(nil) == '' + end end defmodule List.Chars.BitStringTest do |