Skip to content

Commit b61071d

Browse files
committed
make lookup fn pure in codemap
1 parent 83d290f commit b61071d

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

src/libsyntax/codemap.rs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ fn next_line(file: filemap, chpos: uint, byte_pos: uint) {
7777
file.lines += [{ch: chpos, byte: byte_pos + file.start_pos.byte}];
7878
}
7979

80-
type lookup_fn = fn@(file_pos) -> uint;
80+
type lookup_fn = pure fn(file_pos) -> uint;
8181

8282
fn lookup_line(map: codemap, pos: uint, lookup: lookup_fn)
8383
-> {fm: filemap, line: uint}
@@ -108,12 +108,12 @@ fn lookup_pos(map: codemap, pos: uint, lookup: lookup_fn) -> loc {
108108
}
109109

110110
fn lookup_char_pos(map: codemap, pos: uint) -> loc {
111-
fn lookup(pos: file_pos) -> uint { ret pos.ch; }
111+
pure fn lookup(pos: file_pos) -> uint { ret pos.ch; }
112112
ret lookup_pos(map, pos, lookup);
113113
}
114114

115115
fn lookup_byte_pos(map: codemap, pos: uint) -> loc {
116-
fn lookup(pos: file_pos) -> uint { ret pos.byte; }
116+
pure fn lookup(pos: file_pos) -> uint { ret pos.byte; }
117117
ret lookup_pos(map, pos, lookup);
118118
}
119119

@@ -139,7 +139,7 @@ fn lookup_char_pos_adj(map: codemap, pos: uint)
139139
}
140140

141141
fn adjust_span(map: codemap, sp: span) -> span {
142-
fn lookup(pos: file_pos) -> uint { ret pos.ch; }
142+
pure fn lookup(pos: file_pos) -> uint { ret pos.ch; }
143143
let line = lookup_line(map, sp.lo, lookup);
144144
alt (line.fm.substr) {
145145
fss_none {sp}
@@ -198,7 +198,8 @@ fn get_line(fm: filemap, line: int) -> str unsafe {
198198

199199
fn lookup_byte_offset(cm: codemap::codemap, chpos: uint)
200200
-> {fm: filemap, pos: uint} {
201-
let {fm, line} = lookup_line(cm, chpos, {|pos| pos.ch});
201+
pure fn lookup(pos: file_pos) -> uint { ret pos.ch; }
202+
let {fm, line} = lookup_line(cm, chpos, lookup);
202203
let line_offset = fm.lines[line].byte - fm.start_pos.byte;
203204
let col = chpos - fm.lines[line].ch;
204205
let col_offset = str::count_bytes(*fm.src, line_offset, col);

0 commit comments

Comments
 (0)