about summary refs log tree commit diff
path: root/src/rustllvm/RustWrapper.cpp
diff options
context:
space:
mode:
authorFelix S. Klock II <pnkfelix@pnkfx.org>2015-10-09 18:02:37 +0200
committerFelix S. Klock II <pnkfelix@pnkfx.org>2015-10-09 18:04:18 +0200
commit098a7a07ee6d11cf6d2b9d18918f26be95ee2f66 (patch)
tree44fc606d968bf3dc9a16a8d3b724ff47cd336ea5 /src/rustllvm/RustWrapper.cpp
parentc298efdb1f5e9334c25dcc1ea98fcc35a0b4c05d (diff)
downloadrust-098a7a07ee6d11cf6d2b9d18918f26be95ee2f66.tar.gz
rust-098a7a07ee6d11cf6d2b9d18918f26be95ee2f66.zip
Major revision to the dropck_legal_cycles test.
1. Added big comment block explaining the test framework.

2. Added tests exericising Rc and Arc. This was inspired by a comment
   from eefriedman on PR #28861.

3. Made the cycle-detection not issue false-positives on acyclic dags.

   Doing this efficiently required revising the framework; instead of
   visiting all children (i.e. doing a traversal), now each test is
   responsible for supplying the path that will act as a witness to
   the cycle.

   Luckily for me, all of the pre-existing tests worked with a trivial
   path built from "always tke your first left", but new tests I added
   did require other input paths (i.e., "first turn right, then left".

   (The path representation is a bit-string and its branches are
    n-ary, not word phrases and binary branches as you might think
    from the outline above.)
Diffstat (limited to 'src/rustllvm/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions