Skip to content

Accept chardata paths in Mix.Release.make_boot_script/4#15573

Open
lukaszsamson wants to merge 1 commit into
elixir-lang:mainfrom
lukaszsamson:ls-release-boot-path
Open

Accept chardata paths in Mix.Release.make_boot_script/4#15573
lukaszsamson wants to merge 1 commit into
elixir-lang:mainfrom
lukaszsamson:ls-release-boot-path

Conversation

@lukaszsamson

Copy link
Copy Markdown
Contributor

Found by re-running the type checker over stdlib function bodies with spec-derived argument domains (the spec-domain body check from #15559): the path argument is spec'd Path.t() (chardata), but the body applies <> and String.to_charlist/1 to it, so a charlist path — valid per the spec — raises ArgumentError. Normalize with IO.chardata_to_string/1 first, as the Path module functions do.

Assisted-By: Claude Fable 5

🤖 Generated with Claude Code

Found by re-running the type checker over function bodies with
spec-derived argument domains (elixir-lang#15559): the path argument is spec'd
Path.t() (chardata), but the body applies <> and String.to_charlist/1
to it, so a charlist path -- valid per the spec -- raised
ArgumentError. Normalize with IO.chardata_to_string/1 first, as the
Path module functions do.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant