type-constraints 相关问题

约束可以与泛型的类型参数相关联。约束声明在泛型类型的构造中传递给该参数的任何具体类型必须支持的项。

在haskell中表达式的类型注释中使用类别的班级约束无法正常工作。 我目前正在学习表达式和类型的Haskell Newbie。我最近了解到,在Haskell中指定类型时,可以使用类约束。为了实验,我很高兴...

ghci> a = 3 :: Num a => a ghci> :t a a :: Num a => a ghci> :i Num type Num :: * -> Constraint class Num a where (+) :: a -> a -> a (-) :: a -> a -> a (*) :: a -> a -> a negate :: a -> a abs :: a -> a signum :: a -> a fromInteger :: Integer -> a {-# MINIMAL (+), (*), abs, signum, fromInteger, (negate | (-)) #-} -- Defined in ‘GHC.Num’ instance Num Double -- Defined in ‘GHC.Float’ instance Num Float -- Defined in ‘GHC.Float’ instance Num Int -- Defined in ‘GHC.Num’ instance Num Integer -- Defined in ‘GHC.Num’ instance Num Word -- Defined in ‘GHC.Num’ ghci> :t (==) (==) :: Eq a => a -> a -> Bool ghci> a == 5 False

回答 1 投票 0

为什么保守函数表达式不是主表达式?

考虑以下代码片段(使用 clang19 编译): consteval bool IsEven(int n) { 返回 0 == n % 2; } 模板 需要 (IsEven(n)) // 好的 无效 f1() {} 模板 考虑以下代码片段(使用 clang19 编译): consteval bool IsEven(int n) { return 0 == n % 2; } template<int n> requires (IsEven(n)) // ok void f1() {} template<int n> requires IsEven(n) // error: Atomic constraint must be of type 'bool' // (found '<overloaded function type>') void f2() {} cppref 页面告诉我IsEven(n)不是主要表达式。我只是想知道: 为什么保守函数表达式 NOT 是主要表达式? 这与 consteval 或您收到的错误消息没有任何关系。主表达式只是表达式的语法类别,函数调用不属于该类别。

回答 1 投票 0

为什么类型参数的对象不能调用其排版的方法?

A型整数 函数 (A) Hi() { } func DoA[T A](t T) { t.Hi() // 这行编译错误~ } t 只能是 A 的实例,但 t.Hi() 给出编译错误: t.Hi undefined(类型T没有fie...

回答 2 投票 0

函数值参数类型不匹配

以下代码在 myFunctions.Add fn 处生成编译时错误: 类型 IInterface = 接口端 让 myFunctions = ResizeArray 单位> () 让我们添加<'T when 'T :>

回答 1 投票 0

为什么字节切片不满足任意切片的泛型类型约束?

我有以下带有两个通用函数的代码。它们都执行将切片附加到自身并返回结果的简单操作。然而,调用更简单、更直接的

回答 1 投票 0

实现自定义 Microsoft.Extensions.Logging.ILogger 接口时,如何修复 .NET Standard 2.0 中的“notnull 类型约束不可用”?

我正在实现 Microsoft.Extensions.Logging.ILogger 的自定义 SQL Server 实现。 NuGet 包声明它与 .NET Standard 2.0 兼容,因此我向我的

回答 1 投票 0

将返回类型限制为 this 的子类型

我有以下界面: 内部接口 ITyped 其中 EnumType : struct, Enum { 公共 EnumType 类型 { 获取; } //!!!此方法必须始终返回...的子类型*

回答 0 投票 0

使用约束类型写入 GADT 记录

SO是一场狗屎秀。感谢您的搭车。

回答 1 投票 0

在 F# 类型上动态实现静态定义的接口,并在该类型上静态定义函数

我有一个如下所示的用例: 输入事件 = |事件A |事件B 类型 IState = 抽象成员HandleEvent:Event -> IState 输入示例状态 = {

回答 1 投票 0

类型的类型约束为平台字长(与 usize 相同)

我想要 32 位系统上 4 字节的类型和 64 位系统上 8 字节的类型。这是因为我正在将此通用值转换为 usize,无论

回答 1 投票 0

如何在 TypeScript 中输入泛型函数?

给定以下类型和组件: 接口 Widget { 类型:字符串; } 接口 TextField 扩展 Widget { type: 'TextField';文本值:字符串; } 接口 Checkbox 扩展 Widget { type: '

回答 1 投票 0

如何指定具有多参数单射性的类型族?

我有一个类型类 A ,它具有非单射关联类型 Context A 类 a 其中 类型上下文 a A 的许多实例可以具有相同的上下文。 A 的某些实例也是 ...

回答 1 投票 0

如何向联合术语中已使用的接口添加方法?

我在 Go 1.21 中使用泛型。我想扩展一些通用代码。 如果我将下面的 foo() 添加到 Under11AgeGroups 接口中,那么只有 9 岁以下和 11 岁以下的人必须实现此功能,我...

回答 1 投票 0

如何向联合术语中使用的接口添加方法?

我在 Go 1.21 中使用泛型。我想扩展一些通用代码。 如果我将下面的 foo() 添加到 Under11AgeGroups 接口中,那么只有 9 岁以下和 11 岁以下的人必须实现此功能,我...

回答 1 投票 0

Idris 依赖记录,对类型构造函数参数具有接口约束

是否可以对 idris 中依赖记录的类型构造函数的参数进行接口约束? 假设我有一个界面 Show : Type -> Type。现在我需要限制...

回答 2 投票 0

将 2 个泛型类型合并为一个泛型函数调用

如果标题不太具有描述性,我很抱歉,我很难想出一个。 我有一个抽象基类,其属性之一是泛型类型。 公共抽象类 AdapterBase<...

回答 1 投票 0

C# 在 where 类型约束上使用反射的递归

我正在尝试通过类进行递归,但我不知道如何使用类型约束来调用它。 我的问题主要是我不知道如何调用递归并在

回答 2 投票 0

返回类型为泛型的函数不能返回 Null

如果我有一个类型,比如说 int,我可以通过在其末尾添加一个问号来使其可为空。例如,以下代码可以编译: 整数? x = 空; 而下面的代码,带有任务...

回答 1 投票 0

Typescript:类型展开特定通用类型的属性

我想实现一种类型,它提取所有属性的内部类型作为模型,但不影响其他属性;是这样的: 我的类型<{ a: number, b: Model...

回答 2 投票 0

是否可以在一个通用类型上有多个类型常量?

在dart中,你可以做类偏好 来定义一个类型约束。但是有没有一种方法可以定义多个约束?我试过用类Preference 但是......不,Dart类型的参数只能有一个约束。

回答 1 投票 0

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.