小编abh*_*jat的帖子

git push不会更新远程服务器上的文件

我在本地机器上设置了一个git存储库,在一个linode机器上设置了一个裸存储库.在进行git推送时没有错误,但我没有在远程服务器上看到该文件.我遵循的命令序列如下:

在远程:

abhijat@kangaroo:~$ mkdir dev
abhijat@kangaroo:~$ cd dev && git init --bare
Run Code Online (Sandbox Code Playgroud)

在本地机器上:

krypton:test abhijat$ git init
krypton:test abhijat$ vim app.py
krypton:test abhijat$ git init
Initialized empty Git repository in /Users/abhijat/dev/test/.git/
krypton:test abhijat$ git add .
krypton:test abhijat$ git status
# On branch master
#
# Initial commit
#
# Changes to be committed:
#   (use "git rm --cached <file>..." to unstage)
#
#   new file:   app.py
#
krypton:test abhijat$ git commit -m 'test first commit'
[master (root-commit) 3bee148] test …
Run Code Online (Sandbox Code Playgroud)

git push

4
推荐指数
1
解决办法
5071
查看次数

使用对另一个哈希图的引用克隆一个哈希图

我有一个哈希映射的引用(data在下面的代码中),我想将其克隆到一个新的、拥有的哈希映射中。克隆参考给了我一个新的参考,这不是我需要的。

我还尝试对data引用进行迭代 + 映射,并单独克隆键和值对,然后进行收集,但这也不起作用。这是一个最小的工作示例:

use core::cell::Cell;
use std::collections::HashMap;
use std::collections::HashSet;
use std::rc::Rc;

struct Dummy<K, V> {
    dirty: Rc<Cell<bool>>,
    data: Cell<Option<HashMap<K, HashSet<V>>>>,
}

impl<K, V> Dummy<K, V> {
    fn persist(&self, prefix: &str, data: &HashMap<K, HashSet<V>>) {
        self.dirty.set(true);
        self.data.set(Some(data.clone()));
    }
}
Run Code Online (Sandbox Code Playgroud)

这给出了以下错误:

error[E0308]: mismatched types
  --> src/lib.rs:14:28
   |
14 |         self.data.set(Some(data.clone()));
   |                            ^^^^^^^^^^^^ expected struct `std::collections::HashMap`, found reference
   |
   = note: expected type `std::collections::HashMap<K, std::collections::HashSet<V>>`
              found type `&std::collections::HashMap<K, std::collections::HashSet<V>>`
Run Code Online (Sandbox Code Playgroud)

固定链接到操场

这段代码的目的是通过Dummystruct观察hashmap的内容,用于单元测试。

我猜这个问题是因为给定泛型类型没有办法确定如何深度克隆键和值对象?

有没有办法在给定对现有哈希图的引用的情况下创建新的哈希图?

reference hashmap rust

2
推荐指数
1
解决办法
3633
查看次数

标签 统计

git ×1

hashmap ×1

push ×1

reference ×1

rust ×1