sdk_version_constructor_tearoffs
sdk_version_constructor_tearoffs
Dart 분석기(analyzer)가 생성자 티어오프(tear-off)를 사용하는 코드에서 내보내는 진단이에요. 생성자 티어오프는 'constructor-tearoffs' 언어 기능이 필요하며 버전 2.15부터 지원되었어요. 그보다 오래된 SDK에서도 돌아가야 하는 코드라면 이 진단이 나타나요.
본문
생성자를 티어오프하려면 'constructor-tearoffs' 언어 기능이 필요합니다.
설명
analyzer는 SDK 제약 조건의 하한이 2.15보다 낮은 코드에서 생성자 티어오프를 발견하면 이 진단을 생성해요. 생성자 티어오프는 이전 버전에서는 지원되지 않았으므로, 이 코드는 이전 버전의 SDK에서는 실행되지 못해요.
예시
다음은 하한이 2.15보다 낮은 SDK 제약 조건을 정의하는 pubspec의 예시예요.
environment:
sdk: '>=2.9.0 <2.15.0'
그 pubspec을 가진 패키지에서는 다음과 같은 코드가 이 진단을 만들어 내요.
var setConstructor = Set.identity;
일반적인 해결 방법
이전 버전의 SDK를 지원할 필요가 없다면 SDK 제약 조건을 올려서 이 연산자를 사용할 수 있게 해 주세요.
environment:
sdk: '>=2.15.0 <2.16.0'
이전 버전의 SDK를 지원해야 한다면 생성자 티어오프를 사용하지 않도록 코드를 다시 써 주세요.
var setConstructor = () => Set.identity();