为什么即使没有声明actix_rt,也可以直接在代码中使用它?

时间:2019-10-13 04:43:33

标签: rust rust-actix

我只是在Cargo.toml中添加了actix_rt,并且没有在第一行使用use关键字声明它。然后,我可以在代码中使用它。我知道Rust的前奏中包含了一些经常使用的功能,但是我不知道3rd party库可以做一些事情。我可以创建这样的箱子吗?

任何人都可以告诉我原因或给我一些提示或参考链接吗?我会很感激的。

 <style>
    li{
        list-style: none;
       width: 50px;
       text-align: center;
    }
    li::before{
        content: ' ';
        position: relative;
        bottom: 2px;
        display: block;
        width: 5px;
        height: 50px;
        background-color: red;
        margin: 0 auto;
    }
    </style>
</head>
<body>
    <ul>
        <li>2011</li>
        <li>2012</li>
        <li>2013</li>
        <li>2014</li>
    </ul>
</body>
[dependencies]
actix-rt = "0.2.5"
actix-web = "1.0.8"

1 个答案:

答案 0 :(得分:2)

在Rust 2018版中,extern crate is no longer required。将板条箱作为依赖项可以将其作为模块进行访问。您无需执行任何操作即可像这样访问条板箱。

这与标准库前奏非常不同,前者隐式use extern crate隐含前奏中的所有项目。使用actix_rt::System::new("basic")或添加外部包装箱作为依赖项时,必须限定类型,功能和特性。在您的示例中,您必须使用System::new("basic")而不是简单地使用std::prelude::v1::Option。将此与Option<T>进行比较,后者可以用作//float=(-1) ^ s * 2 ^ (x - 127) * (1 + n * 2 ^ -23) // s xxxxxxxx nnnnnnnnnnnnnnnnnnnnnnn //FLT_MAX 3.402823466e+38F 2 ^ 128 0 11111110 11111111111111111111111 //FLT_MIN 1.175494351e-38F 2 ^ -126 0 00000001 00000000000000000000000 //FLT_TRUE_MIN 1.401298464e-45F 2 ^ -149 0 00000000 00000000000000000000001 //ONE 1f 2 ^ 0 0 01111111 00000000000000000000000 //INFINITY - 2 ^ 128+ 0 11111111 00000000000000000000000 union { float f; int i; }k,k2,k3; k.i = 0b01111111011111111111111111111111; // 2^128 FLT_MAX k2.i = 0b01110011000000000000000000000000; // 2^103 k3.f = k.f + k2.f; // 2^128+ INFINITY ,没有任何前缀。