2016-11-29 44 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

如果最近沒有發現我錯過了更改,那麼需要明確禁用這兩個選項,如文檔中所示。 –