@@ -710,8 +710,8 @@ pub fn new_mark(m:Mrk, tail:SyntaxContext) -> SyntaxContext {
710
710
711
711
// Extend a syntax context with a given mark and table
712
712
// FIXME #8215 : currently pub to allow testing
713
- pub fn new_mark_internal ( m : Mrk , tail : SyntaxContext , table : & mut SCTable )
714
- -> SyntaxContext {
713
+ pub fn new_mark_internal ( m : Mrk , tail : SyntaxContext , table : & SCTable )
714
+ -> SyntaxContext {
715
715
let key = ( tail, m) ;
716
716
// FIXME #5074 : can't use more natural style because we're missing
717
717
// flow-sensitivity. Results in two lookups on a hash table hit.
@@ -743,8 +743,11 @@ pub fn new_rename(id:Ident, to:Name, tail:SyntaxContext) -> SyntaxContext {
743
743
744
744
// Extend a syntax context with a given rename and sctable
745
745
// FIXME #8215 : currently pub to allow testing
746
- pub fn new_rename_internal ( id : Ident , to : Name , tail : SyntaxContext , table : & mut SCTable )
747
- -> SyntaxContext {
746
+ pub fn new_rename_internal ( id : Ident ,
747
+ to : Name ,
748
+ tail : SyntaxContext ,
749
+ table : & SCTable )
750
+ -> SyntaxContext {
748
751
let key = ( tail, id, to) ;
749
752
// FIXME #5074
750
753
//let try_lookup = table.rename_memo.find(&key);
@@ -779,11 +782,11 @@ pub fn new_sctable_internal() -> SCTable {
779
782
}
780
783
781
784
// fetch the SCTable from TLS, create one if it doesn't yet exist.
782
- pub fn get_sctable ( ) -> @mut SCTable {
783
- local_data_key ! ( sctable_key: @@mut SCTable )
785
+ pub fn get_sctable ( ) -> @SCTable {
786
+ local_data_key ! ( sctable_key: @@SCTable )
784
787
match local_data:: get ( sctable_key, |k| k. map ( |k| * k) ) {
785
788
None => {
786
- let new_table = @@mut new_sctable_internal ( ) ;
789
+ let new_table = @@new_sctable_internal ( ) ;
787
790
local_data:: set ( sctable_key, new_table) ;
788
791
* new_table
789
792
} ,
@@ -835,7 +838,7 @@ pub fn get_resolve_table() -> @RefCell<ResolveTable> {
835
838
// adding memoization to possibly resolve 500+ seconds in resolve for librustc (!)
836
839
// FIXME #8215 : currently pub to allow testing
837
840
pub fn resolve_internal ( id : Ident ,
838
- table : & mut SCTable ,
841
+ table : & SCTable ,
839
842
resolve_table : & mut ResolveTable ) -> Name {
840
843
let key = ( id. name , id. ctxt ) ;
841
844
match resolve_table. contains_key ( & key) {
@@ -1024,7 +1027,7 @@ mod test {
1024
1027
1025
1028
// unfold a vector of TestSC values into a SCTable,
1026
1029
// returning the resulting index
1027
- fn unfold_test_sc ( tscs : ~[ TestSC ] , tail : SyntaxContext , table : & mut SCTable )
1030
+ fn unfold_test_sc ( tscs : ~[ TestSC ] , tail : SyntaxContext , table : & SCTable )
1028
1031
-> SyntaxContext {
1029
1032
tscs. rev_iter ( ) . fold ( tail, |tail : SyntaxContext , tsc : & TestSC |
1030
1033
{ match * tsc {
@@ -1070,7 +1073,8 @@ mod test {
1070
1073
1071
1074
// extend a syntax context with a sequence of marks given
1072
1075
// in a vector. v[0] will be the outermost mark.
1073
- fn unfold_marks ( mrks : ~[ Mrk ] , tail : SyntaxContext , table : & mut SCTable ) -> SyntaxContext {
1076
+ fn unfold_marks ( mrks : ~[ Mrk ] , tail : SyntaxContext , table : & SCTable )
1077
+ -> SyntaxContext {
1074
1078
mrks. rev_iter ( ) . fold ( tail, |tail : SyntaxContext , mrk : & Mrk |
1075
1079
{ new_mark_internal ( * mrk, tail, table) } )
1076
1080
}
0 commit comments