tests/test-diff-hashes.t
author Yuya Nishihara <yuya@tcha.org>
Sun, 01 Sep 2019 18:06:31 +0900
changeset 42851 64e28b891796
parent 41784 251332dbf33d
permissions -rw-r--r--
rust-cpython: mark unsafe functions as such It wasn't trivial to fix leak_immutable() to be safe since we have to allow immutable operations (e.g. iter()) on the leaked reference. So let's mark it unsafe for now. Callers must take care of the returned object to guarantee the memory safety. I'll revisit this later. I think $leaked<T: 'static> could have a function that converts itself into $leaked<U: 'static> with a given FnOnce(&T) -> &U, where T is $inner_struct, and U is $iterator_type for example.

  $ hg init a
  $ cd a

  $ hg diff inexistent1 inexistent2
  inexistent1: * (glob)
  inexistent2: * (glob)

  $ echo bar > foo
  $ hg add foo
  $ hg ci -m 'add foo'

  $ echo foobar > foo
  $ hg ci -m 'change foo'

  $ hg --quiet diff -r 0 -r 1
  diff -r a99fb63adac3 -r 9b8568d3af2f foo
  --- a/foo	Thu Jan 01 00:00:00 1970 +0000
  +++ b/foo	Thu Jan 01 00:00:00 1970 +0000
  @@ -1,1 +1,1 @@
  -bar
  +foobar

  $ hg diff -r 0 -r 1
  diff -r a99fb63adac3 -r 9b8568d3af2f foo
  --- a/foo	Thu Jan 01 00:00:00 1970 +0000
  +++ b/foo	Thu Jan 01 00:00:00 1970 +0000
  @@ -1,1 +1,1 @@
  -bar
  +foobar

  $ hg --verbose diff -r 0 -r 1
  diff -r a99fb63adac3 -r 9b8568d3af2f foo
  --- a/foo	Thu Jan 01 00:00:00 1970 +0000
  +++ b/foo	Thu Jan 01 00:00:00 1970 +0000
  @@ -1,1 +1,1 @@
  -bar
  +foobar

  $ hg --debug diff -r 0 -r 1
  diff -r a99fb63adac3f31816a22f665bc3b7a7655b30f4 -r 9b8568d3af2f1749445eef03aede868a6f39f210 foo
  --- a/foo	Thu Jan 01 00:00:00 1970 +0000
  +++ b/foo	Thu Jan 01 00:00:00 1970 +0000
  @@ -1,1 +1,1 @@
  -bar
  +foobar

  $ cd ..