libsyntax: add explicit modes where required to copy strs/vecs
This commit is contained in:
parent
5b9e110eab
commit
44f5537abf
6 changed files with 105 additions and 75 deletions
|
@ -23,19 +23,33 @@ use core::str;
|
|||
use core::vec;
|
||||
|
||||
fn topmost_expn_info(expn_info: @codemap::ExpnInfo) -> @codemap::ExpnInfo {
|
||||
let ExpandedFrom(CallInfo { call_site, _ }) = *expn_info;
|
||||
match call_site.expn_info {
|
||||
Some(next_expn_info) => {
|
||||
let ExpandedFrom(CallInfo {
|
||||
callee: NameAndSpan {name, _},
|
||||
_
|
||||
}) = *next_expn_info;
|
||||
// Don't recurse into file using "include!"
|
||||
if name == ~"include" { return expn_info; }
|
||||
// FIXME(#3874): this would be better written as:
|
||||
// let @ExpandedFrom(CallInfo {
|
||||
// call_site: ref call_site,
|
||||
// _
|
||||
// }) = expn_info;
|
||||
match *expn_info {
|
||||
ExpandedFrom(CallInfo { call_site: ref call_site, _}) => {
|
||||
match call_site.expn_info {
|
||||
Some(next_expn_info) => {
|
||||
// Don't recurse into file using "include!"
|
||||
match *next_expn_info {
|
||||
ExpandedFrom(
|
||||
CallInfo { callee: NameAndSpan {
|
||||
name: ref name,
|
||||
_
|
||||
},
|
||||
_
|
||||
}) => {
|
||||
if *name == ~"include" { return expn_info; }
|
||||
}
|
||||
}
|
||||
|
||||
topmost_expn_info(next_expn_info)
|
||||
},
|
||||
None => expn_info
|
||||
topmost_expn_info(next_expn_info)
|
||||
},
|
||||
None => expn_info
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue