E203: Deprecated Assignment Syntax
E203: Deprecated Assignment Syntax
이 경고는 (x = value)처럼 할당 표현 주위에 괄호를 사용할 때 발생해요. Scala 3.7부터 이 문법은 할당이 아니라 요소가 하나인 이름 있는 튜플(named tuple)로 해석돼요.
본문
이 경고는 기존의 할당 해석에서 새로운 이름 있는 튜플 의미론으로 코드를 전환하도록 도와주는 마이그레이션 경고예요.
예시 (Example)
def example() =
var age: Int = 28
(age = 29)
에러 (Error)
-- [E203] Syntax Migration Warning: example.scala:3:2 --------------------------
3 | (age = 29)
| ^^^^^^^^^^
|Deprecated syntax: since 3.7 this is interpreted as a named tuple with one element,
|not as an assignment.
|
|To assign a value, use curly braces: `{age = 29}`.
|This can be rewritten automatically under -rewrite -source 3.6-migration.
해결 방법 (Solution)
할당에는 괄호 대신 중괄호를 사용해요.
def example() =
var age: Int = 28
{ age = 29 }
대안으로, -rewrite -source 3.6-migration을 붙여 컴파일하면 자동 재작성 기능으로 문법을 자동으로 갱신할 수 있어요.