]> git.proxmox.com Git - rustc.git/blame - src/test/run-pass/issue-17121.rs
Imported Upstream version 1.9.0+dfsg1
[rustc.git] / src / test / run-pass / issue-17121.rs
CommitLineData
1a4d82fc
JJ
1// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
2// file at the top-level directory of this distribution and at
3// http://rust-lang.org/COPYRIGHT.
4//
5// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8// option. This file may not be copied, modified, or distributed
9// except according to those terms.
10
c34b1796 11// pretty-expanded FIXME #23616
1a4d82fc 12
54a0048b
SL
13#![feature(question_mark)]
14
c34b1796
AL
15use std::fs::File;
16use std::io::{self, BufReader, Read};
17
18struct Lexer<R: Read>
1a4d82fc 19{
c34b1796 20 reader: BufReader<R>,
1a4d82fc
JJ
21}
22
c34b1796 23impl<R: Read> Lexer<R>
1a4d82fc
JJ
24{
25 pub fn new_from_reader(r: R) -> Lexer<R>
26 {
c34b1796 27 Lexer{reader: BufReader::new(r)}
1a4d82fc
JJ
28 }
29
c34b1796 30 pub fn new_from_file(p: &str) -> io::Result<Lexer<File>>
1a4d82fc 31 {
54a0048b 32 Ok(Lexer::new_from_reader(File::open(p)?))
1a4d82fc
JJ
33 }
34
c34b1796 35 pub fn new_from_str<'a>(s: &'a str) -> Lexer<&'a [u8]>
1a4d82fc 36 {
c34b1796 37 Lexer::new_from_reader(s.as_bytes())
1a4d82fc
JJ
38 }
39}
40
41fn main() {}