import/export 지시문에는 show 또는 hide 콤비네이터를 하나만 쓸 수 있어요

import/export 지시문에는 show 또는 hide 콤비네이터를 하나만 쓸 수 있어요

import나 export 지시문에 show 또는 hide 콤비네이터를 여러 개 붙이면 문제가 생겨요. 필요한 건 하나뿐인데 여러 개를 쓰면 오히려 예상치 못한 결과가 나올 수 있어요.

출처: multiple_combinators

본문

설명

import나 export 지시문에 콤비네이터가 둘 이상 포함되어 있을 때 analyzer가 이 진단을 만들어요.

예시

아래 코드는 두 번째 show 콤비네이터가 Listint를 숨기기 때문에 진단이 발생해요.

import 'dart:core' show Future, List, int show Future;

var x = Future.value(1);

아래 코드는 두 번째 hide 콤비네이터가 중복이라 진단이 발생해요.

import 'dart:math' hide Random, max, min hide min;

var x = pi;

아래 코드는 hide 콤비네이터가 중복이라 진단이 발생해요.

import 'dart:math' show Random, max hide min;

var x = max(0, 1);
var r = Random();

아래 코드는 show 콤비네이터가 이미 Randommax를 숨기므로 hide 콤비네이터가 중복이라 진단이 발생해요.

import 'dart:math' hide Random, max show min;

var x = min(0, 1);

해결 방법

보이고 싶은 이름을 나열하고 싶다면 show 콤비네이터 하나만 쓰면 돼요.

import 'dart:math' show min;

var x = min(0, 1);

숨기고 싶은 이름을 나열하고 싶다면 hide 콤비네이터 하나만 쓰면 돼요.

import 'dart:math' hide Random, max, min;

var x = pi;

더 알아보기