Auto merge of #18968 - mbrubeck:try, r=emilio

Use try syntax for Option where appropriate

- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes do not require tests because they are refactoring only

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/18968)
<!-- Reviewable:end -->
This commit is contained in:
bors-servo 2017-10-21 03:31:21 -05:00 committed by GitHub
commit 2b03a9974c
19 changed files with 65 additions and 180 deletions

View file

@ -321,10 +321,7 @@ impl BluetoothManager {
self.adapter = BluetoothAdapter::init().ok();
}
let adapter = match self.adapter.as_ref() {
Some(adapter) => adapter,
None => return None,
};
let adapter = self.adapter.as_ref()?;
if is_mock_adapter(adapter) && !adapter.is_present().unwrap_or(false) {
return None;
@ -422,14 +419,8 @@ impl BluetoothManager {
}
fn device_from_service_id(&self, service_id: &str) -> Option<BluetoothDevice> {
let device_id = match self.service_to_device.get(service_id) {
Some(id) => id,
None => return None,
};
match self.cached_devices.get(device_id) {
Some(d) => Some(d.clone()),
None => None,
}
let device_id = self.service_to_device.get(service_id)?;
self.cached_devices.get(device_id).cloned()
}
fn device_is_cached(&self, device_id: &str) -> bool {
@ -471,10 +462,7 @@ impl BluetoothManager {
fn get_gatt_service(&mut self, adapter: &mut BluetoothAdapter, service_id: &str) -> Option<&BluetoothGATTService> {
return_if_cached!(self.cached_services, service_id);
let device_id = match self.service_to_device.get(service_id) {
Some(d) => d.clone(),
None => return None,
};
let device_id = self.service_to_device.get(service_id)?.clone();
self.get_and_cache_gatt_services(adapter, &device_id);
return_if_cached!(self.cached_services, service_id);
None
@ -508,10 +496,7 @@ impl BluetoothManager {
characteristic_id: &str)
-> Option<&BluetoothGATTCharacteristic> {
return_if_cached!(self.cached_characteristics, characteristic_id);
let service_id = match self.characteristic_to_service.get(characteristic_id) {
Some(s) => s.clone(),
None => return None,
};
let service_id = self.characteristic_to_service.get(characteristic_id)?.clone();
self.get_and_cache_gatt_characteristics(adapter, &service_id);
return_if_cached!(self.cached_characteristics, characteristic_id);
None
@ -566,10 +551,7 @@ impl BluetoothManager {
descriptor_id: &str)
-> Option<&BluetoothGATTDescriptor> {
return_if_cached!(self.cached_descriptors, descriptor_id);
let characteristic_id = match self.descriptor_to_characteristic.get(descriptor_id) {
Some(c) => c.clone(),
None => return None,
};
let characteristic_id = self.descriptor_to_characteristic.get(descriptor_id)?.clone();
self.get_and_cache_gatt_descriptors(adapter, &characteristic_id);
return_if_cached!(self.cached_descriptors, descriptor_id);
None