mirror of
https://github.com/servo/servo
synced 2026-05-02 04:17:38 +02:00
Avoid marking codegen method bodies as unsafe twice
`CGAbstractMethod` takes a couple boolean parameters, among others:
* `extern`: will mark the method as `unsafe` and `extern`
* `unsafe`: will wrap the method body in an `unsafe` block
Passing both as `True` should not mark it as `unsafe` twice.
Example from a generated `HTMLCollectionBinding.rs`:
Before:
```
unsafe extern fn get_length(..) -> u8 {
unsafe {
// code here
}
}
```
After
```
unsafe extern fn get_length(..) -> u8 {
// code here
}
```
This commit is contained in:
@@ -2089,7 +2089,9 @@ class CGAbstractMethod(CGThing):
|
||||
|
||||
def define(self):
|
||||
body = self.definition_body()
|
||||
if self.unsafe:
|
||||
|
||||
# Method will already be marked `unsafe` if `self.extern == True`
|
||||
if self.unsafe and not self.extern:
|
||||
body = CGWrapper(CGIndenter(body), pre="unsafe {\n", post="\n}")
|
||||
|
||||
return CGWrapper(CGIndenter(body),
|
||||
|
||||
Reference in New Issue
Block a user