summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Arnett <jonarnett90@gmail.com>2019-08-19 08:13:21 -0400
committerAndrea Leopardi <an.leopardi@gmail.com>2019-08-19 14:13:21 +0200
commite6f47dcabd15db32e48b889545908c00a9abb920 (patch)
treedbcc6f55eb6f083692eac3146802ab1e3cd35586
parent9504103f30dabfe48adcdb2c72286b66fc0985ac (diff)
downloadelixir-e6f47dcabd15db32e48b889545908c00a9abb920.tar.gz
Change List.Chars.to_charlist to return empty list when given nil (#9299)
-rw-r--r--lib/elixir/lib/list/chars.ex2
-rw-r--r--lib/elixir/test/elixir/list/chars_test.exs6
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