deprecated_mixin

deprecated_mixin

클래스나 enum 선언의 with 절에 @Deprecated.mixin으로 표시된 mixin 클래스를 사용하면 이 진단이 나와요. 즉, 그 mixin을 섞어 쓰는 게 이제는 지양해야 할 동작이라는 뜻이죠. 언젠가 제거될 예정이니 지금부터 어떻게 고쳐야 할지 살펴볼게요.

출처: deprecated_mixin

본문

@Deprecated.mixin 어노테이션이 붙은 mixin 클래스를 클래스나 enum 선언의 with 절에서 사용하면 analyzer가 이 진단을 만들어요. 이 어노테이션은 해당 mixin을 사용하는 것이 deprecated이며 곧 제거될 것임을 나타내요. 이 변경은 아마 mixin 클래스 수정자(modifier)를 제거하는 방식으로 강제될 거예요.

예시

라이브러리 p@Deprecated.mixin으로 표시된 클래스를 정의한다고 해볼게요.

@Deprecated.mixin()
mixin class C {}

그러면 p가 아닌 다른 어떤 라이브러리에서든 다음 코드는 이 진단을 만들어내요.

import 'package:p/p.dart';

class D with C {}

일반적인 해결 방법

Deprecation.mixin 어노테이션에 있는 안내를 우선 따라주세요. 그게 없다면 with 절에서 mixin 클래스 이름을 제거하면 돼요.

class D {}

더 알아보기