File tree 2 files changed +12
-6
lines changed 2 files changed +12
-6
lines changed Original file line number Diff line number Diff line change @@ -17,6 +17,17 @@ impl Mode {
17
17
}
18
18
}
19
19
20
+ impl From < rustpython_compiler_core:: Mode > for Mode {
21
+ fn from ( mode : rustpython_compiler_core:: Mode ) -> Self {
22
+ use rustpython_compiler_core:: Mode as CompileMode ;
23
+ match mode {
24
+ CompileMode :: Exec => Self :: Module ,
25
+ CompileMode :: Eval => Self :: Expression ,
26
+ CompileMode :: Single | CompileMode :: BlockExpr => Self :: Interactive ,
27
+ }
28
+ }
29
+ }
30
+
20
31
impl std:: str:: FromStr for Mode {
21
32
type Err = ModeParseError ;
22
33
fn from_str ( s : & str ) -> Result < Self , ModeParseError > {
Original file line number Diff line number Diff line change @@ -31,12 +31,7 @@ pub fn compile(
31
31
source_path : String ,
32
32
opts : compile:: CompileOpts ,
33
33
) -> Result < CodeObject , CompileError > {
34
- let parser_mode = match mode {
35
- compile:: Mode :: Exec => parser:: Mode :: Module ,
36
- compile:: Mode :: Eval => parser:: Mode :: Expression ,
37
- compile:: Mode :: Single | compile:: Mode :: BlockExpr => parser:: Mode :: Interactive ,
38
- } ;
39
- let mut ast = match parser:: parse ( source, parser_mode, & source_path) {
34
+ let mut ast = match parser:: parse ( source, mode. into ( ) , & source_path) {
40
35
Ok ( x) => x,
41
36
Err ( e) => return Err ( error_from_parse ( e, source) ) ,
42
37
} ;
You can’t perform that action at this time.
0 commit comments