我试图在Linux上的Swift 2.2中退出带有错误代码的命令行实用程序.我在这个问题上尝试了解决方案,但仍然得到一个未解决的标识符.一个复制问题的简单测试脚本:
$> cat exit_test.swift
import Foundation
guard 0 == 1 else { exit(0) }
Run Code Online (Sandbox Code Playgroud)
我收到以下错误消息:
$> swift exit_test.swift
exit_test.swift:3:21: error: use of unresolved identifier 'exit'
guard 0 == 1 else { exit(0) }
Run Code Online (Sandbox Code Playgroud)
它似乎exit不再导入Foundation,但我不确定下一步要查看退出方式给出特定的错误代码.我在跑Swift 2.2-dev:
$> swift --version
Swift version 2.2-dev (LLVM 46be9ff861, Clang 4deb154edc, Swift 778f82939c)
Target: x86_64-unknown-linux-gnu
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用静态调度为板条箱 B 中的特性实现板条箱 A 的特性。我正在包装外来特征,但impl<T>在线路上遇到了问题:
extern crate a;
extern crate b;
pub trait C: a::A {}
impl<T: C> b::B for T {}
Run Code Online (Sandbox Code Playgroud)
我正在寻找的最终结果是使用静态调度b::B为 trait 的实现者实现C。
我收到以下错误:
extern crate a;
extern crate b;
pub trait C: a::A {}
impl<T: C> b::B for T {}
Run Code Online (Sandbox Code Playgroud)
我可以通过使用动态调度来解决这个问题impl b::B for dyn C——但想通过静态调度来实现这一点。
我已经试过了:
Vec,而是我自己的类型