You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Dart 3.3中Extension types无法使用?报错需启用inline-class特性

Dart 3.3 Extension Types 报错:需启用 'inline-class' 特性

我尝试使用Dart 3.3的新特性Extension Types,采用官方示例代码:

extension type IdNumber(int id) {
  // 包装int类型的 '<' 运算符
  operator <(IdNumber other) => id < other.id;
  // 不声明 '+' 运算符,因为ID号做加法没有实际意义
}

但在关键字type处收到错误提示:

This requires the 'inline-class' language feature to be enabled.

我的Flutter版本信息如下:

Flutter 3.19.0 • channel stable • https://github.com/flutter/flutter.git
Framework • revision bae5e49bc2 (6 days ago) • 2024-02-13 17:46:18 -0800
Engine • revision 04817c99c9
Tools • Dart 3.3.0 • DevTools 2.31.1

我已尝试在pubspec.yaml中添加以下配置,但问题仍未解决:

analyzer:
  enable-experiment:
    - inline-class

解决步骤

  1. 指定Dart语言版本
    在pubspec.yaml中添加或更新环境配置,确保SDK版本要求为3.3.0及以上:
environment:
  sdk: '>=3.3.0 <4.0.0'
  1. 使用专门的分析器配置文件
    在项目根目录创建analysis_options.yaml(若不存在),写入以下配置:
analyzer:
  language:
    enable-experiment:
      - inline-class

注:pubspec.yaml中的分析器配置有时无法被正确识别,优先使用analysis_options.yaml。

  1. 重启IDE
    修改配置后完全重启你的编辑器/IDE(如VS Code、Android Studio),确保配置生效。

  2. 确认Dart版本
    运行以下命令验证当前使用的Dart SDK版本:

dart --version

确保输出显示3.3.0或更高版本。


内容的提问来源于stack exchange,提问作者Vladyslav Ulianytskyi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 11:21:25