본문으로 건너뛰기
토파즈6.0 · 출시 전
다운로드 →

문서 검색

명세 6.0

방향키로 결과를 고르고 Enter를 눌러 여세요.

API 이름, 진단 번호, 규칙 또는 프로젝트 주제를 입력하세요.

    진단 TPZ5004

    A call supplied too few, too many, or duplicate arguments for the callable shape.

    Diagnostic and cause

    링크

    Wrong argument count

    계열
    topaz
    단계
    check
    코드
    TPZ5004

    원인과 조건

    A call must supply every required parameter. Calling a one-parameter function with no arguments is rejected with TPZ5004 at the call expression.

    대응

    Compare the call with its declaration. Supply the required parameters once and use names accepted by that callable.

    Compiler phase: check/runtime.

    Compiler explanation: A call supplied too few, too many, or duplicate arguments for the callable shape.

    Message templates. The marker ⟨value⟩ stands for text computed for the reported program.

    • a protocol call ⟨value⟩.⟨value⟩(…) takes positional arguments only Source
    • newtype ⟨value⟩ constructor takes 1 argument (the ⟨value⟩ to wrap), found ⟨value⟩ Source
    • ⟨value⟩ takes ⟨value⟩ ⟨value⟩, found ⟨value⟩ Source
    • the pipeline inserts the piped value, but this function takes no parameters Source
    • this call needs ⟨value⟩⟨value⟩ ⟨value⟩, found ⟨value⟩ Source
    • named arguments must follow spread arguments Source
    • a spread argument cannot skip an unsatisfied fixed parameter Source
    • positional arguments may not follow named arguments Source
    • a protocol call ⟨value⟩(…) takes positional arguments only Source
    • spread arguments require a variadic parameter Source
    • this call needs ⟨value⟩ ⟨value⟩, found ⟨value⟩ Source
    • the left side of >> takes exactly one argument (§11) Source
    • the right side of >> takes exactly one argument (§11) Source
    • a pipeline stage takes the piped value as its only argument (§11) Source
    • this lambda takes ⟨value⟩ parameter(s), but a function taking ⟨value⟩ is expected Source
    • record ⟨value⟩ is missing field⟨value⟩ ⟨value⟩ Source
    • newtype ⟨value⟩ pattern takes 1 subpattern (the wrapped ⟨value⟩), found ⟨value⟩ Source
    • enum variant ⟨value⟩.⟨value⟩ takes ⟨value⟩, found ⟨value⟩ Source

    Observed for the candidate in Topaz 5.21.3. Execution

    • error[TPZ5004]: this call needs 1 argument, found 0

    A call must supply every required parameter. Calling a one-parameter function with no arguments is rejected with TPZ5004 at the call expression.

    규칙diagnostics.tpz5004.p5.rule

    A call must supply its required parameters

    A call must supply every required parameter. Calling a one-parameter function with no arguments is rejected with TPZ5004 at the call expression.

    Response

    링크

    Compare the call with its declaration. Supply the required parameters once and use names accepted by that callable.

    Reproduction and verification

    링크

    Rejected program

    링크
    example.tpzRejected program플레이그라운드 열기 →
    1. function identity(value: int) -> int { value }
    2. let result = identity()
    기대 출력0이 아닌 종료 코드
    표준 출력 없음.
    $ topaz check example.tpz · 대상 제품 5.21.3
    기대 결과

    기대 결과

    거절 단계 check. 종료 코드가 0이 아닙니다.

    Repaired program

    링크
    example.tpzRepaired program
    1. function identity(value: int) -> int { value }
    2. let result = identity(1)
    기대 출력종료 코드 0
    $ topaz check example.tpz · 대상 제품 5.21.3
    기대 결과

    기대 결과

    검사가 프로그램을 받아들입니다. 종료 코드 0.

    메뉴

    다운로드 →