about summary refs log tree commit diff
path: root/src/rustllvm/RustWrapper.cpp
diff options
context:
space:
mode:
authorNiko Matsakis <niko@alum.mit.edu>2018-02-23 15:30:27 -0500
committerNiko Matsakis <niko@alum.mit.edu>2018-03-13 11:21:31 -0400
commit8c024fdafb6339c5375543ef400a33419d65a19b (patch)
tree840c16cb7e73048571ebd5edb6e9ac278c50c9b4 /src/rustllvm/RustWrapper.cpp
parent993c1488cc4b0826c3f1076393bf50eef09ba467 (diff)
downloadrust-8c024fdafb6339c5375543ef400a33419d65a19b.tar.gz
rust-8c024fdafb6339c5375543ef400a33419d65a19b.zip
in `Foo(X)` dep-nodes, allow X to be a `ty` not a `tt`
Before, the identifier `X` was also used when generating a pattern
to match against the dep-node. So `Foo(DefId)` would generate a match
pattern like:

    match foo {
        Foo(DefId) => ...
    }

This does not scale to more general types like `&'tcx
Ty<'tcx>`. Therefore, we now require *exactly one* argument (the macro
was internally tupling anyway, and no actual nodes use more than one
argument), and then we can generate a fixed pattern like:

    match foo {
        Foo(arg) => ...
    }

Huzzah. (Also, hygiene is nice.)
Diffstat (limited to 'src/rustllvm/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions