2016-11-29 45 views
4

它是bug,或者一些合理的行为,即在强模式这段代码不健全的隐式转换预警泛型参数

Set<Set<int>> ssi() => ssd(); 
    Set<Set<dynamic>> ssd() => new Set.from(new Set.from(["string"])); 

工作正常,但是这

Set<int> si() => sd(); 
    Set<dynamic> sd() => new Set.from(["string"]); 

产生WARNING: Unsound implicit cast from Set<dynamic> to Set<int>

+0

也许分析仪的功率是不够的,执行这类操作的(deep参数类型分析)? – mezoni

+0

@mezoni如果是这样,没有更多的原因,它看起来像一个bug。 https://github.com/dart-lang/sdk/issues/27954 –

回答

0

添加

analyzer: 
    strong-mode: 
    implicit-casts: false 

.analysis_options结果

enter image description here

+0

如果最近没有发现我错过了更改,那么需要明确禁用这两个选项,如文档中所示。 –