import_of_legacy_library_into_null_safe 진단: null safe 라이브러리가 레거시 라이브러리를 import 하면 안 돼요

import_of_legacy_library_into_null_safe 진단: null safe 라이브러리가 레거시 라이브러리를 import 하면 안 돼요

null safe인 라이브러리가 null safe가 아닌(레거시) 라이브러리를 import 하면 Dart 분석기가 이 진단을 내보내요. null safety의 안전장치가 레거시 코드와 섞이면서 깨질 수 있기 때문이에요.

출처: import_of_legacy_library_into_null_safe

본문

설명

분석기는 null safe인 라이브러리가 null safe가 아닌 라이브러리를 import 하면 이 진단을 만들어요.

예시

a.dart 파일에 다음 내용이 있다고 할게요.

class A {}

다음 코드는 null safe인 라이브러리가 null safe가 아닌 라이브러리를 import 하기 때문에 이 진단을 만들어요.

import 'a.dart';

A? f() => null;

흔한 해결 방법

가져오는 라이브러리를 null safe로 마이그레이션할 수 있다면, 마이그레이션한 뒤 그 라이브러리의 언어 버전(language version)을 갱신하거나 제거해요.

가져오는 라이브러리를 마이그레이션할 수 없다면, 가져오는 쪽 라이브러리의 언어 버전을 null safety가 기본으로 켜지기 전인 2.12 이전으로 맞춰야 해요.

더 알아보기