Skip to content

invalid remote in typespec: @for.t() for typespec inside defimpl #4874

@KronicDeth

Description

@KronicDeth

Environment

  • Elixir version (elixir -v): 1.3.0
  • Operating system: OSX 10.11.5
  1. git clone https://github.com/C-S-D/alembic
  2. git checkout 565ad837d4664075a88b37eb9f277e6d450904dd
  3. mix compile

Current behavior

Alembic fails to compile under Elixir 1.3.0. (It compiled and passed mix dialyze without errors under 1.2.6 [CircleCI Build]). It stops complication because it can't resolve @for.t in Alembic.Source's Poison.Encoder:

==> alembic
Compiling 20 files (.ex)

== Compilation error on file lib/alembic/source.ex ==
** (CompileError) lib/alembic/source.ex:261: invalid remote in typespec: @for.t()
    (elixir) lib/kernel/typespec.ex:981: Kernel.Typespec.compile_error/2
    (elixir) lib/kernel/typespec.ex:871: Kernel.Typespec.typespec/3
    (elixir) lib/kernel/typespec.ex:1009: anonymous fn/4 in Kernel.Typespec.fn_args/4
    (elixir) lib/enum.ex:1622: Enum."-reduce/3-lists^foldl/2-0-"/3
    (elixir) lib/kernel/typespec.ex:1009: Kernel.Typespec.fn_args/4
    (elixir) lib/kernel/typespec.ex:998: Kernel.Typespec.fn_args/5
    (elixir) lib/kernel/typespec.ex:461: Kernel.Typespec.translate_spec/7

Expected behavior

@for.t is expanded to Alembic.Source.t and compilation continues.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions