有什么方法可以解决未使用的类型参数吗?

2024-01-02

Code:

trait Trait<T> {}

struct Struct<U>;

impl<T, U: Trait<T>> Struct<U> {}

Error:

error[E0207]: the type parameter `T` is not constrained by the impl trait, self type, or predicates
 --> src/main.rs:5:6
  |
5 | impl<T, U: Trait<T>> Struct<U> {}
  |      ^ unconstrained type parameter

看起来RFC 447 https://github.com/rust-lang/rfcs/pull/447禁止这种模式;有什么办法可以解决这个问题吗?我认为可以通过改变来解决T到关联的类型,但这会阻止我进行多重调度。


结构体中未使用的类型参数可以使用PhantomData https://doc.rust-lang.org/std/marker/struct.PhantomData.html:

struct Struct<U> {
    _marker: PhantomData<U>,
}

impl<U> Struct<U> {
    fn example<T>(&self)
    where
        U: Trait<T>,
    {
        // use `T` and `U`
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有什么方法可以解决未使用的类型参数吗? 的相关文章

随机推荐

  • SelectedIndexChange 未触发

    我在更新文本框的下拉列表时遇到问题 两者都保存在列表视图中 在更新面板中 而更新面板又位于项目模板中 Updated 我已经在同一项目的不同网页中使用相同的代码而没有上述容器 但是在将其与 lisview 和其他容器链接时遇到问题 我不确定
  • PrimeFaces Extensions CKEditor:尝试将编码设置为 UTF-8 失败

    为什么我使用这个编辑器 过去我使用 PrimeFacesp editor https www primefaces org showcase ui input editor xhtml然而 它已被弃用 并且缺乏用户迫切需要的功能 我无法使用
  • .serialize() 和 .serializeArray() 有什么区别?

    我正在尝试向控制器发送表单 jQuery 文档说 serializeArray 应该发送一个 json 数组 并且 serialize 应该创建一个查询字符串 然而 当我尝试它并使用 IE9 F12 模式检查时 在这两种情况下它看起来都像一
  • 如何从自定义车把助手访问请求对象

    我正在使用带有 Node js 和 Express 的车把 并且我有一个用于温度显示的自定义注册助手 我希望能够从页面 URL 访问查询参数 帮助器背后的概念是根据是否自动处理华氏度到摄氏度的转换 tempFormat F or tempF
  • 无法构建 gem 本机扩展(安装 Compass)

    当我尝试安装最新版本的指南针时 https rubygems org gems compass versions 1 0 0 alpha 17 https rubygems org gems compass versions 1 0 0 a
  • pySerial发送ASCII数据但接收设备没有响应

    我一直在尝试让 pySerial 向设备 体重秤和质量流量控制器 发送命令 两者都使用 ASCII 格式 并且都不响应发送的命令 不过 我可以使用终端轻松控制两者 我创建了一个虚拟端口来查看从 pySerial 发送到我的设备的内容 但它发
  • 按长度连接字符串 COBOL

    需要将 4 个字符串连接到 cobol 中的目标变量 Like 01 WS S1 X 10 VALUE HI 01 WS S2 X 10 VALUE HOW 01 WS S3 X 10 VALUE ARE 01 WS S4 X 10 VAL
  • TypeError:强制转换为 Unicode,需要字符串或缓冲区,未找到 NoneType

    目前正在为程序和一个组件编写一个函数 用于搜索 python 文件中是否正在使用单个变量 功能 def SINGLE CHAR VAR python filename file open python filename lines 0 SI
  • 将两个不同的列表导出到一个字符串中

    我有两个不同的列表 想要导出到 ASP NET 中的单个 CSV 文件中 string listToString1 string Join list1 ToArray string listToString2 string Join lis
  • VB6/VBScript 将文件编码更改为 ansi

    我正在寻找一种将 UTF 8 编码的文本文件转换为 ANSI 编码的方法 我怎样才能在 Visual Basic VB6 和 或 vbscript 中实现这一目标 如果您的文件并不是很大 例如 即使只有 40MB 也会非常慢 您可以在 VB
  • 使用networkx在两个节点之间绘制多条边

    我需要绘制一个在两个节点之间具有多个边 具有不同权重 的有向图 也就是说 我有节点 A 和 B 以及长度 2 的边 A B 和长度 3 的边 B A 我尝试过使用 G nx Digraph 和 G nx Multidigraph 当我绘制它
  • EJS:将变量传递给包含的文件

    我使用 EJS 作为我的前端开发堆栈的一部分 例如我正常的 index ejs 看起来像这样 我想要的是以某种方式传递一个包含 变量 值 gt 并希望在包含的文件中读取它 以有条件地显示 隐藏内容的某些部分 我找不到办法做到这一点 用EJS
  • 在 HTML5 视频上方添加文本

    需要在其顶部添加文本的帮助 因此文本覆盖 HTML 5 视频 而且我还需要添加表单输入和按钮 下面是我的 HTML5 视频代码
  • 使用 Kaminari gem 进行 Ajax 分页

    After a 最近的铁路广播 http railscasts com episodes 254 pagination with kaminari我正在使用雷宝石 https github com amatsuda kaminari in
  • 如何在 Dreamhost 上启用 gzip?

    我想压缩我的 Dreamhost 网站上的所有 css 和 js 我在网上找到了建议 但没有一个有效 有人有在 Dreamhost 站点上运行 gzip 的工作示例吗 2012 年我参与这个游戏有点晚了 但我认为这仍然有意义 mod gzi
  • 使用“tableView:sectionForSectionIndexTitle:atIndex:”滚动到 TableViewHeader 有帮助吗?

    我在 TableViewController 的标头中添加了一个搜索栏 并且还在 sectionIndexTitlesForTableView 数组中添加了 search 现在在右侧 我得到了字母表中的字母 顶部的搜索符号 要滚动到字母部分
  • 如何在 Android Studio (2.1.1) 中关闭 Java 中的自动缩进? (Windows 7的)

    如果我有一行包含 8 个空格 是的 空格 不是制表符 和一些文本 x 3 我的光标放置在分号后面 当我按 Enter 时 它将光标放置在 x 下方 换句话说 它缩进了 8 个位置 如果我然后按退格键 它将光标定位在分号之后 我希望退格键能让
  • 抓住键盘不允许改变焦点

    一旦我使用display grab keyboard 似乎没有其他窗口知道自己的焦点 随着键盘抓取运行 我可以选择其他窗口 甚至向它们发送按键事件 但如果此窗口是文本输入 则不会有闪烁的光标 我读过一些关于抓取键盘生成焦点事件的内容 但这并
  • 如何在 Delphi 7 图像上绘制数字

    我有一个要求在图像上绘制数字 这个数字会自动改变 我们如何在Delphi 7中动态创建图像 如果有人知道请推荐我 Yours Rakesh 您可以使用Canvas http docwiki embarcadero com VCL XE2 e
  • 有什么方法可以解决未使用的类型参数吗?

    Code trait Trait