trait A<'self_>: 'self_ {
type I;
}
trait AMut
where
Self: for<'self_> A<'self_>,
for<'self_> <Self as A<'self_>>::I: 'static,
{
fn mutate_self(&mut self);
}
fn foo<X>(x: &mut X)
where
X: 'static + for<'a> A<'a> + AMut,
for<'a> <X as A<'a>>::I: 'static,
{
x.mutate_self();
}
操场
此错误与
error[E0280]: the requirement `for<'self_> <Self as A<'self_>>::I: 'static` is not satisfied
--> src/lib.rs:4:1
|
4 | trait AMut
| ^ ---- required by a bound in this
| _|
| |
5 | | where
6 | | Self: for<'self_> A<'self_>,
7 | | for<'self_> <Self as A<'self_>>::I: 'static,
| | ------- required by this bound in `AMut`
8 | | {
9 | | fn mutate_self(&mut self);
10 | | }
| |_^
error[E0280]: the requirement `for<'self_> <X as A<'self_>>::I: 'static` is not satisfied
--> src/lib.rs:14:34
|
4 | trait AMut
| ---- required by a bound in this
...
7 | for<'self_> <Self as A<'self_>>::I: 'static,
| ------- required by this bound in `AMut`
...
14 | X: 'static + for<'a> A<'a> + AMut,
| ^^^^
我本以为第15行的界限会满足第7行的界限。我错过了什么?
你试过这样吗?
trait A<'self_>: 'self_ {
type I;
}
trait AMut<'a>
where
Self: A<'a>,
<Self as A<'a>>::I: 'static,
{
fn mutate_self(&mut self);
}
fn foo<X>(x: &mut X)
where
X: 'static + for<'a> A<'a> + for<'a> AMut<'a>,
for<'a> <X as A<'a>>::I: 'static,
{
x.mutate_self();
}
我一直在尝试编写一个程序来实现任意域上的多项式,一种数学结构。我选择了Haskell作为编程语言,我使用了语言扩展。但是,我不明白为什么GHCi不能推导出的约束条件。 在我看来,保证是的实例,这意味着是的实例。所以调用就像调用一样,应该是合理的。此外,我已经编写了作为约束,并且的构造函数具有的形状,因此它还应该知道的类型是的实例。 显然,译员的想法不同。我哪里搞错了?
问题内容: 我试图了解Go的类型转换规则。假设我们有以下接口: 为了满足这些接口,我们有一个类型: 这两个功能正在使用接口: 要使用这些方法,我可以编写以下内容: 第一个功能按预期工作;一个实现所有需求,这是一个功能。 但是,对于第二个函数,Go不会编译尝试的调用,并报告以下内容: 不能在allWoof的参数中将狗([] woofRunner类型)用作[] woofer类型 使用类型转换也是不可能
我正在学习JavaScript及其库jQuery。我不知道为什么允许这种类型的声明(snake.x)而没有“let”或任何东西。这是我的代码
我正在使用Java,我正在尝试调查和学习健康市场科学的sqlBuilder源代码。您可以通过添加此maven依赖项来获取源代码。 文件BaseCreateQuery。类具有以下代码 我想知道这个类型(在第1行)是什么意思。这与Java中的泛型有关吗。我研究了Java中的泛型,但没有找到对这种类型的引用。TypeScript具有ThisType构造。这类似于Java中的这种类型吗?
问题内容: 当我运行下面的代码片段时,它会引发错误 a.test未定义(类型interface {}是没有方法的接口) 看来类型开关没有生效。 如果我将其更改为 没关系 问题答案: 这是规范(强调我的)定义的正常行为: TypeSwitchGuard可以包含一个简短的变量声明。使用该格式时,将在每个子句中隐式块的开头声明变量。 在大小写正好列出一种类型的子句中,变量具有该类型。 否则,变量具有Ty
本文向大家介绍Python的解释器种类以及相关特点?相关面试题,主要包含被问及Python的解释器种类以及相关特点?时的应答技巧和注意事项,需要的朋友参考一下 CPython 是官方版本的解释器:CPython。是使用C语言开发的,所以叫CPython。在命令行下运行python就是启动CPython解释器。CPython是使用最广的Python解释器。教程的所有代码也都在CPython下执行。