Good afternoon, my name is Adrian Dix, I'm BC's Minister of Health and my right is Dr Bonnie Henry, BC's Provincial Health Officer. This is our COVID-19 briefing for British Columbia for Monday, July the 13th. We are honored to be here on the territories of the people of the Songhees and the Esquimalt First Nations. Tomorrow, Tuesday and Wednesday, at around 3 o'clock, we will be providing written briefings with updates about COVID-19 new cases in British Columbia. We will be providing written briefings with updates about British Columbia. On Thursday, there will be another in-person briefing here from Victoria, Dr Henry, and myself. On Friday, there will be a written briefing. And then the following Monday, there will be a written briefing as well. Next Monday, and we will be back here on Tuesday at 3 o'clock as well. So that is the update over the next week. And with that, I am honored to introduce Dr Bonnie Henry. Thank you and good afternoon and I will correct you in that this is a COVID-19 update for July 6. Not 13th, quite yet. I know. I was hoping. So we have three reporting periods for today's update. Friday to Saturday, we had nine additional cases test positive for COVID-19. Between Saturday and Sunday, we had 15 people who tested positive. And Sunday to today, an additional seven people. That is a total of 31 people who have tested positive. And Sunday to today, an additional seven people. And Sunday to Sunday, we had 31 people who have tested positive for COVID-19 since Friday, bringing our total in British Columbia to 2,978 people. That includes 1,008 people in the Vancouver coastal health region. 1,570 people in Fraser health. 132 people in the Vancouver island health region. 203 people in the interior health region. And 65 people in the northern health region. We have no new health care outbreaks. We remain with the four active outbreaks in the health care system. Three in long-term care and one in acute care. We have had an additional 11 new cases in those facilities. Two of whom are residents, bringing the total to 393 residents. And 246 staff who have been affected with COVID-19. So we currently have 166 people who have tested positive. And we have 166 active cases of whom 16 people are in hospital for whom are in critical care or ICU. Sadly, we have had six people who have died over the past three days. Four in the Vancouver coastal health region. All of them in long-term care. And two in the Fraser health region. One of whom was a person who passed away earlier in June at Langley Law School but the death in review has been attributed to COVID-19. So this brings our total a number of people who have died. Actually, I don't have the total in front of me. But we want to pass on our condolences to all of those, particularly the families of the people who have passed away over the last few days. As always, this is such a challenging time to have a loved one pass away. And we know that they are mourned by their family, by their caregivers and their communities here in BC. We have 2,629 people who have fully recovered from COVID-19. As you know, over this past weekend, things have been progressing in terms of our new normal. And I know many of us have found many more people out on the streets enjoying the weather that we have here in BC. And the many of us in the many activities that we can do safely right now. But importantly, we are following the rules that we have established for those safe social interactions. The rules that are our foundation to be able to keep our economy going, to keep our social interactions going, to keep our businesses. And as we have seen, these new normal rules are very doable. We can live with these. Younger old in the city, a small town, we can all do and must do the right thing. This means leading by example like we have been doing in BC since the start of our pandemic. Assuming the best in those around us. As we have seen an increase in the number of visitors from elsewhere in Canada in these last couple of weeks, many businesses who rely on visitors and tourism have retooled and put together safety plans to allow them to open the doors to other Canadians. And let's show other Canadians how they too can do their part when they are here in BC. Anyone who is new to British Columbia, from elsewhere in Canada, whether they are coming for work or on vacation, needs to understand that here in BC we are keeping our bubbles small. We are having smaller numbers of people that we are gathering with. We are maintaining our safe distance from others, whether it is in a store, on transit, or in our community. Using masks when it is safe to maintain that safe distance and always, always staying away from others and staying home if we are feeling ill. Anyone from outside of Canada who is here for essential travel or is returning home is required to follow Canada's quarantine order to self-isolate for 14 days prior to interacting with us in the community. And while this quarantine order is an important part of Canada's border protection, we remind all British Columbians to be aware of their kindness and understanding to those around us. We have to remember that many Canadians reside elsewhere and many of them are only now returning home, many have returned home in the months since this pandemic started. So let's assume the best. And rather than offering judgment, continue to do what we have been doing with kindness and compassion. COVID-19 has created many, many uncertainties and fear, but we have built a strong bond with Canada and we will keep all of us safe in the weeks and months ahead. And we need to keep that balance so that we can continue to have visitors to our long-term care homes so we can continue to go to restaurants, we can continue to meet with each other. And through our own personal efforts and actions, we can protect our communities, particularly our elders and seniors who we know are more vulnerable and our loved ones. We are monitoring and managing all of the new cases that we have in BC every day, making sure that we have all of the contacts and we are doing our bit by minimizing those contacts that we have so that we can modify as we need and how we run our businesses, how we spend time with others. We have worked hard to flatten our COVID-19 curve in British Columbia and by continuing to stay vigilant, to follow our guidelines and work together, we can continue to keep our communities, our families and our province safe. And in doing so, let's remember to be kind, to be calm and to be safe. Thank you very much, Dr Henry. And this is obviously a very somber day for us. Six people are announcing the deaths of six people from COVID-19 in BC over the past three days. And one of them, as Dr Henry has said, is from earlier in June, but we know the price that COVID-19 has taken from us as a whole community. We know and can identify that in many ways, but to lose six people all in long-term care over the last three days is a source of enormous grief for the families involved, for the caregivers involved, for the communities involved. And we share that sense of loss, that sense of grief with them and with the 100 million people involved. And with them and with 183 people and their families who have passed away from COVID-19 since the beginning of the pandemic in British Columbia, it is a moment, I think, of sorrow for all of us. And we want to make sure that that sorrow is felt, because I know people feel it throughout the province for all those families who have lost their loved ones. I want to say that there, as noted, 16 people in hospital and in Fraser Health, they are part of the outbreak at mission, at the mission Memorial Hospital. Obviously, we are, those are being monitored very carefully. And I think on the question of long-term care, and I want to speak briefly about family visits in long-term care, that on the question of long-term care, that continues to be an ongoing concern for all of us and everyone in the healthcare system, all those people, all those families who are struggling and are dealing with the situation at Holy Family and Mission Memorial and at other care homes in BC, all those who have felt the anxiety that comes with an outbreak being declared whatever its size since the beginning of this pandemic, we are thinking of them and continuing to be concerned about the outcomes for everyone in long-term care. As you know, last Tuesday we had a long-term care with respect to long-term care and social and family visitation. Health authorities are actively engaging with operators to support them in the development of plans, plans in accordance with the requirements of the policy so that visits can occur in long-term care homes. It is expected that the majority of operators will submit their plans to health authorities this week and that social and family visitation for most of those facilities will start next week. It is important to remember that visitation may start sooner, as early as this week and as early as they are coming days in some facilities and later in others, depending on the work required at each facility to meet the requirements. Visits, of course, must be scheduled in advance and operators are required to maintain a list of visitors and their contact information. I will have more information about that in the next week. It is an important issue. We will have that on Thursday, including the number of plans submitted and approved. As I usually do on Monday and Tuesday, I want to bring you an update on PPE in particular, as you know, as we do as of last Monday, June 29th, we had procured since the end of March, 5,933,095 equivalent respirators, 22,300,000 surgical or procedure masks, 2,301,000 pieces of eye protection, almost 50 million pairs of gloves, and over 2,825,000 gallons. This week, in the week since last Monday, June 29th, we have received the following 15,342,000 and 95 are equivalent respirators, 516,250 surgical or procedure masks, 3,666,000 of eye protection. We have received the following 15,342,000 and 95 are equivalent respirators, 516,250 surgical or procedure masks, 3,666,000 250 pairs of gloves and 114,160 gallons. We will continue to source and test our PPE and are working hard to pursue any and all credible leads for safe and effective product for our health care system. And finally, just in closing, as you know, on June 24th, Premier Horgan and Dr. Henry announced our transition to our phase 3 of our COVID-19 response. And as we start the third week of this transition, one guided by science, prudence and care, our commitment to stopping the spread, stands. We know that physical distancing saves lives. We know that bending the curve, not the rules has brought us to this point in our social, surgical and economic renewal. We know that in our individual and collective BC effort with COVID-19, we made the difference. We also know that this continues to be with us in communities. 31 cases over three days, 26 who have passed away. And it reminds us how we are all linked in dealing with COVID-19. If that linkage, that coming together, that work of everyone in the community that has brought us to this point, so is staying 100% all in on our BC COVID-19 response. And this summer, our effort must continue this day and every day, no matter where we are in BC and no matter where anyone else is, anywhere else in the world. The summers will welcome chance for all of us to catch our breath, to recharge and renew ourselves. By staying 100% committed to stopping the spread, we give the peace of mind and calm we seek and that we need in this period where we have this enormous challenge before us. Today we are making the point on the number of new cases for three days of 24 hours each for those of 3 and 4 July, those of 4 and 5 July and those of 5 to 6 July in half a day. We are saddened to announce six new cases linked to COVID-19 in the health and well-being of Fraser, 2 and the Vancouver Coastal 4. For a total of 183 cases in British Columbia, we offer condolence to all those who have lost their loved ones during this pandemic. On this day, 2629 people in the COVID-19 test were positive, so now we are able to go back to the table. For the first period of reference, which is until July 4, we have 9 new cases. For the second period of reference, which is until July 5, we have 15 new cases. During the last 24 hours, 7 new cases have been added for a total of 2,900 cases in British Columbia. For a total of 2,968 cases in British Columbia, we offer condolence to all those who have lost their loved ones during this pandemic. Thank you very much. We are happy to take your questions. Thank you, minister. As a reminder to callers on the phone, you are limited to one question and one follow-up. Please take yourselves off mute. If you wish to enter the queue to ask a question, please press star one. If you have entered the queue, please repress star one to ensure your place. Hi, Dr. Henry. I hope you are doing okay. I was looking at this new paper that is out today where there are several kinders who talk about airborne transmission of the virus. I was wondering if you could explain what that means and what do you have thought about this new paper and the concerns raised by these scientists across the world about this airborne quality of the virus? I want to start off by saying that the WHO has been doing an amazing job at trying to keep up with what is going on. I think the way that at least the report that I saw that was presented, I don't think they presented the WHO perspective in a way that was, I think it was more trying to foment a bit of controversy. What these people were looking at and this is something that has been an ongoing discussion for many, many years and COVID is only one of the latest viral infections in this case where we have these discussions. We have had many of these discussions around influenza in particular, but certainly other ones as well. And where the challenge comes is we know that there is a gradation of how droplets come out when somebody coughs or sneezes or talks. And it is the smaller ones that can be breathed deep into the lungs and it's the larger ones that are often deposited up in the back of the throat or in the upper part of the lungs. And when we talk about something in the healthcare world as being airborne transmitted, what we're talking about are viruses that are in very small populations that can last in the air for many hours often and then can float in the air column and can be transmitted down the hallway or through the ventilation system, for example. And the ones that we most commonly associate with that type of transmission are viruses like measles. Smallpox was one that could be transmitted through the air as well as bacterial infections like tuberculosis. When we're talking about viruses like COVID and influenza, primarily they're in the larger droplets that are transmitted when you're close to somebody. And yes, we can find some of them and we can find some smaller droplets. There's a range of size when somebody is talking. But we know that the amount of virus and the moisture the virus needs to stay alive is a bit more for some of these viruses like influenza and COVID. So you're more likely to breathe it in. So in the fact that it's transmitted through the air, I think we're all on the same page about that. And the fact that it's not transmitted long distances in the air column, we're all on the same page about that. Where there's some challenges is how much of it is due to the small aerosols that are transmitted when I'm in the air. And how much of it do I breathe deep into my lungs and how much of it is deposited in the upper airways. So it's really a bit of nuance, I think. The WHO has always said and we agree that when you are providing care in a healthcare setting for somebody with COVID-19, with influenza, it is incredibly important to do a number of things. We have what we call a mask or a respirator. It's about minimizing the time you spend in the room, making sure that you do fastidious hand hygiene, that you wear both a respirator or a mask and eye protection as well, being incredibly important. So it's all of those things that we have in place that protect people. We know as well in the community, and we've said this over and over again, that it is when you're in close contact with somebody within two meters, particularly if you're indoors, where there's poor ventilation, and you're coughing or sneezing or singing or hugging or dancing, those are the situations where you're much more likely to transmit this virus. And it is, regardless of what size particle that you're breathing in at that point. So those are the situations that we know are most risky, and that's why the measures that we have in place focus on making sure that we have space between us, making sure that we have increased ventilation. So we know, for example, that if in a number of the production, food production places where we had outbreaks early on, once we put in place measures like plexiglass barriers, like wearing medical masks or non-medical masks even, like ensuring we have safe distances between people, we stopped the transmission of this virus. So that tells me that these measures that we have in place to stop droplets are effective in most situations. When we're looking at some of the situations that we need to deal with around the world, where there's a lot of people who are sick with this virus, whether it's in a healthcare setting or whether it's in a communal accommodation where people are living together in close quarters, if there are a lot of people sick and we've seen that. And we also know that it means that we are bombarded with virus in our environment and it's much, much more difficult to stop the transmission because we need to be fastidious with cleaning, we need to cover our eyes and our mouth and it's much more difficult to do that. And in a healthcare setting, one of the main reasons why we're working so hard to make sure we weren't overwhelming our healthcare system because we don't want to be in close quarters in the healthcare system means that any mistake that you make in putting on or taking off your PPE or being in close quarters with your workmates, there's no leeway that there's enough virus around that you may run a very high risk of being infected. So that's why we have in place the protocols that we do in our healthcare setting, that's why we've been so careful about what you have around the more chances that you're going to pass it on to others inadvertently. The one other thing I will say about it is, so I don't think it's either or, I think we need to take the precautions that are suitable for the environment that we're working in and we know what those are in our healthcare system and they have worked. We know what they are in our communities and they have worked. The one other sort of thing is some people shed more virus than others and we can't tell ahead of time who that's going to be. So some people, for reasons that we don't know, even if they have mild symptoms, may shed a lot of the virus and may have a higher probability of infecting others. And if somebody like that attends a church service, we've seen that happen in a couple of places or goes to a night club where they have a lot of people with poor ventilation with lots of people, we get very rapid explosive outbreaks. So it's not, I think this is something that we need to take into account and look at our own situations and come up with the best way of protecting everybody in those situations and the best way to protect people is making sure that sick people stay away from others, making sure that we are keeping our safe physical and our health care system safe. And we need to be able to administrative things to reduce the number of people in that environment. One of the reasons why we have been so anxious about having visitors in our health care system so that we can give people the time and the space they need to make sure we're cleaning properly, to make sure that we have the personal protective equipment that we need. So it's kind of a long answer. So with Dr. Hindi, you just said we should try and spend minimum time in a room. What does this mean for offices or pubs or public transportation or restaurants, things like that? Yeah, well, that's why we have put in place the measures that we have to reduce the number of people in those environments. So restaurants, for example, maintaining the spacing between tables, keeping the groups in those spaces, keeping the space small, so we have a limit of six people at a table. The reasons for that, or so that you don't have those opportunities for the virus to spread between people, putting up barriers, those are the things that work, same in an office environment, making sure we increase the ventilation as much as possible, including natural ventilation, so that helps disperse the virus if there is any there. And that's why it's so important to stay home if you're sick, to not go into work, and then all of those hybrid measures that we've put in place for the coming months to a year until we have an effective treatment or vaccine, this is where we have to find our balance. Doing the things that we have put in place in our retail outlets and transportation, those are the things that we have to do to make sure that we have an effective treatment. Next question is from Von Palmer, Vancouver Sun. Good afternoon, Doctor Henry. Thanks for taking my question. I see a report out of Seattle where they're saying that although there's been this surge in cases in Washington state, they don't see any obvious link where they could say that the virus was spread by the public protests, by the large outdoor public protests. Are there any links between people who have COVID-19 and them having acquired it at one of these public protests? Do you have any indication here one way or another whether we've seen cases that were related to the big public protests we had here in British Columbia? There's a couple of things on that. We had this discussion with my colleagues in Washington and Oregon No, we have not seen so we follow up every single case here in BC as you know. Currently we do not have any cases that have been associated with the protests that took place. I think there's a number of reasons for that. And in talking with my colleagues in the U.S. they also have not seen surges related to those activities. And it is likely a combination of the mostly being outside, being shorter periods next to people perhaps. Many people at least here in BC keeping distances, wearing masks and those things can help. I think particularly the outside nature of them makes a big difference. Having said that, where they have seen in the United States in particular, outside transmission is large groups going to parties and events on the beaches for example, where they have had transmission between people who are spending time in the U.S. or spending time even though it's outdoors together in large groups in those settings. So there's something inherently different about what you're doing with a group of people partying on a beach versus what we've been seeing with some of these protests. And that was surprising. I think many of us thought that it would be a similar risk. But I think it has to do similar to what we were just talking about is that the conditions are a lot of time in close contact face-to-face with somebody. And particularly if you happen to be by somebody who is spreading a lot of virus. Do you have a follow-up, Vaughn? Yeah. Maybe don't have enough data yet, but is the suggestion here that it's related to time and the amount of time you're together and whether or not you're face-to-face, not just the matter of how many of you there are and maybe also what you're doing, whether you're making a lot of noise and partying or whether you're just quietly listening to someone give a speech? Absolutely. And we've said that all along is what we call the three C's. So close contact over a continuous period of time in a closed environment are the ways that we know this is more likely to be transmitted. But yes, if we're in an environment and we say 15 minutes is a sort of minimum. So I think the corollary of that is, the corollary of that is, that you're not likely to get infected by somebody walking past on the street. Even somebody running past you on the street is, if they happen to be infected, those are not the environments where we're going to see this being transmitted. It's when you're spending time with people, when you're sharing foods and drinks with people, when you're partying, dancing, laughing, hugging, those are the situations that are much more likely to spread droplets between people. Next question is from Binder Sajjan, CTV. Hi, Dr. Henry. A lot of people are watching what's going on in the United States with their case numbers and wondering when would it be possible to even think about reopening that border? And I'm wondering, I know this is a federal government decision, but in your mind, what would you like to see, ideally or practically, in terms of taking that next step, I guess, so loose in border restrictions? Yeah, you know, obviously we're very concerned. We know that that's how we got into trouble back in March, is that we had a lot of people coming across the border. A number of our new cases are people who've either traveled or been in contact with somebody who just came back from the U.S. recently in my home province of PEI had contact with somebody who had come up from the U.S. after not having cases for several months. So it is a worry, it's very much a concern. We know there's quite a bit of travel across the border, but nothing like what we usually see. I cannot see vacation travel this summer from the U.S., given the rates that we're seeing and how widespread it is in the U.S. right now. And it really shows us that once this virus starts to spread in the community, if we're not taking those measures that many states took early on and you open up too much too soon, or people aren't doing the things that we seem to be doing here very well in Canada and here in BC, making sure that we have these precautions in place, then you can get widespread transmission. And though their hospitalization and ICUs are not being overwhelmed in the same way that they were early on, we are now, even young, healthy people can get very sick with this.  And we've seen that with some very young people who've died recently. So it is a worry in terms of the border. It is a federal decision, but I know there's been ongoing conversations with across the country. So I do see, you know, I was encouraging to make sure we had opportunities for families to reunify across the border. I know how challenging that can be. But any further loosening of the restrictions needs to be accompanied by ensuring that people know the restrictions that they need to follow once they're here, including self-isolation for that incubation period. Do you have a follow-up, Binder? I'm just wondering, I know there would be discussions with you and your counterparts, but I mean, just given what's happening in the United States, is it possible, even at this point, to think about, you know, case numbers or trend lines that it would take to feel comfortable with reopening? Well, the U.S. themselves, they have some reopening criteria that they're following, and I know very familiar with what they're using in Washington and Oregon, for example, which is all very similar. The U.S. CDC has actually recommended a number of the criteria, so, you know, number of cases per population and things like that. But importantly, and what we're doing here in BC, what are the things I keep saying that we need to measure and that we are following every day is unlinked cases and our ability in public health to follow up every single case. And when you have people who are skilled at doing that, and we can find people and link people and stop the outbreaks from spreading very rapidly, very quickly, and we've been able to do that here. So once they get to that point in the U.S., I think that will be very helpful. And they were certainly doing a really great job of that in Washington and Oregon, in particular, in Idaho and Alaska. And now it's tipped the other way, and they've become, have very large outbreaks where people have not been following safe distancing rules and things. So it's been a challenge for them. And we want, I mean, the best thing for all of us in North America is for Mexico is for the United States is for Canada to all have this virus under control. So anything that we can do to support our colleagues in the U.S. we are trying to do. So yes, it would depend a lot about how many outbreaks they're having, how many unrelated, unlinked cases and ability to follow up with public health. I agree. I don't think it's any time soon. It's important to remember it's not just the issue of people visiting Canada. It's Canadians visiting the United States that would be not possible at this point. Many of the places we would visit Washington and Oregon are obvious, but also Arizona and Nevada and California. These are states where Canadians and British Columbians visit frequently. And clearly the trend line is entirely in the opposite direction. And this is true around the world. These have been the highest days for COVID-19. And what that reminds us of, I think, is the absolute need to continue to be vigilant in what we're doing here. One of the extraordinary things that's happened here is the work of people in public health, as Dr. Henry has said, in the fact tracing they have done. That is possible and practical or much more possible and much more practical in the number of cases is the absolute number of cases is less. And this struggle that our American friends are having, but not just them in Mexico and in India and in other jurisdictions around the world, is a message to us to be humble about our successes and also to be vigilant to ensure that we continue to be all in, as I like to say, against COVID-19, because the consequences, economic and social consequences of having to go back on opening up the economy that we're seeing in 17 or 18 U.S. states right now are significant and negative for all walks of life and all elements of society from healthcare to the economy to our social interactions. Do you have a follow-up? That was it. Thank you. Thank you. Sorry, next question is from Martella Bernardo, News 1130. Hi, everyone. I know you touched on this a bit during your opening statements, but for Dr. Henry, how concerned are you about the fact that we're seeing people now only dying in long-term care homes and the concerns leading into family visits and how much you stress that we need to be careful that we're not bringing this virus into these homes again? From the very beginning, we knew that once this virus got into a long-term care home, the potential for people to die, and we've seen that in all of these goes dramatically up. I think the good news is that we have reduced the amount of transmission in our community so much so that we have very few people in hospital, we have very few people who are transmitting in our community. And that's why we feel we're at that balance where we need to allow more people to go into long-term care. But it is that balance. We have to keep doing what we are doing in our community settings, being mindful of our balance, being mindful of the numbers of people that we're in contact with. And if we have somebody who's in long-term care homes, we need to be aware of the importance of staying away from some of those settings where we might put ourselves at more risk. And we have to be absolutely fastidious about staying away if we're not feeling well at all. So those are the balances that we have to make as families, as communities, to make sure that we do protect our long-term care homes. And it really has been a progression. And we have low enough rates in our community now that we can manage this as long as we all be mindful and considerate and continue to do what we've been doing. Do you have a follow-up, Martella? Yes, just regarding all of the chatter in the past week about Americans vacationing in BC and how you stress the importance of people trying to be compassionate and understanding that these people may be Canadians that might be coming across the border, have you had any evidence yet of anyone vacationing from the United States that's exposing people to COVID-19? Have any of these cases been linked to those specific allegations? Not that I'm aware of. None of the cases that we have in BC have been related to people that we know have been here from the United States. We know that there are essential workers, Americans and Americans who come back and forth across the border. And we have had people become sick once they're here in BC. But not anybody that I'm aware of who's in here in BC vacationing when they shouldn't be. Next question is from Megan Curran. Hello, Bonnie. Thank you for taking my question. How do you feel that youth in BC have responded to the COVID-19 message about physical distancing and avoiding group activities? Do you feel the seriousness of the disease has become recognized by youth? You know, I ask this question of young people in my life. And it, as it does with everything, varies. Most young people are very community-minded. Many of them have gone through, I mean, this is a very difficult time for young people. The uncertainty, particularly if you're graduating from high school this year, you know, it was not the experience you might have wanted. And so I have a lot of empathy for young people and what they're going through. If you're starting university and suddenly everything's gone online, you're not sure what your job prospects are, these are very challenging times. And young people are social people in ways that are challenging to curtail sometimes. But I think the vast majority of young people in BC and across Canada are taking this very seriously. They're seeing what's happening to their families and their communities and they're being respectful of each other. And I've been incredibly impressed by youth in British Columbia and how they have responded and the resilience that they've shown and the caring for their communities. Do you have a follow-up, Megan? No. I just wanted to say thank you. I'm an 18-year-old myself just graduated from high school, so I completely understand what you have to say. And on behalf of all youth, I really appreciate what you're doing for us. So thank you so much, Dr. Henry. Thank you. And you know what?  You're ruining my life as some young people in my life told me. But the innovative and the really neat ways people have come together and celebrated that, I just, my hats off to young people. Next question is from Michael Potestio, Kamloops this week. Hi there. We've had a long-term care home provider express concern to us about an inability to compete with the province when it comes to hero pay. She said the organization has been impacted financially by the pandemic, fewer residents, and more money having to be spent on cleaning and PPE, and increasing employee pay by $4 per hour. And I think it's important to remember that cleaning and PPE, increasing employee pay by $4 per hour has been done by the government for public employees isn't feasible. So my question is why are employees for privately funded healthcare excluded from hero pay and does not concern you that care at private homes could be impacted if employees were to leave jobs in a publicly funded home, which may pay more? You're specifically referring, I think, to the pandemic pay proposal. There's two sets of proposals, obviously one is the single site proposal where there was a lifting up of employees to the, essentially to the HABC standard. And that occurred and that's occurring across health authorities based on an order from the provincial health officer. So that's one set of things. The second is issue of pandemic pay, which is 16 weeks of pay in certain sectors. And that, the only limitation was it went to members of the community. The only limitation was it went to many private care homes with those that provide public services. All those employees got that. The only people that are excluded from that category are those that are serving private care homes where the expectation for pandemic pay would be from the employer in those cases. So this in British Columbia I think our pandemic pay has been the widest of any jurisdiction in the country or at least as wide as any jurisdiction and wider the most jurisdiction. So more people are eligible, including people who work in for-profit or non-profit long-term care homes, for example, who are essentially serving the public through public beds. So we had a wide thing. I know some people would like it wider and there's several proposals to widen it out. This is a federal provincial decision about the limits of the size of the programs and our decision was to limit it for that period, for that 16-week period where the pandemic pay was available, $4 an hour was available to people who are contractors to government or direct government employees in those cases. Thank you and do you have a follow-up, Michael? Thank you very much. Thank you. Next question is from Keith Baldry, Global News. Thanks for taking my question. I don't want to belabor this particular point but back to US visitors and such. I know you've told, since day one, not to make, not to rush to judgment of why people are in terms of traveling. We don't know their back stories. But I have to say anecdotally, the amount of queries we're getting from people who are angry that they see American license plates out there when they don't know the back story, are you concerned at all about this not behaving properly when we're looking at people with non-British license plate? I think it's a sign of the fact that this has been anxiety provoking, it's been frightening, we've all had to suffer and sacrifice to get through this last few months and it worries us when we see people who may not understand our risk and our anxieties and our fears. And it is a reflection of fear and concern and sometimes that comes out as anger and sometimes that comes out as intolerance. But I think for the most part we need to take a step back and just realize we may not know everybody's back story and that we need to be open and I think here in British Columbia, it is perfectly valid for us to say this is how we do things here in a gentle way and model that behavior and ensure that people know what their expectations are and that includes keeping safe distances, it includes keeping our groups small. It includes if you're on your way to Alaska then you're on your way to Alaska and we will support you in getting there safely. So those are the things that we need to remember now and we need to continue to do what we've been doing which is caring for each other to get through this together. Do you have a follow-up to the very first question about that 269 scientist paper? I take it from your answer which is quite detailed that that will not convince you to change your protocols when it comes to public health measures such as physical distancing and the wearing of masks. No. It is something that I have thought about and it has many people across the country and around the globe as you can tell. But these are the measures that we've put in place have been based on a hierarchy of controls. So it's not just about wearing a mask or a respirator. It's not just about one thing. It's about having those layers and we know that if we start having more transmission in the community then we need to have other layers. We need to be more careful about them. We may need to require, for example, masks in certain places so that we have multiple things in place to protect us. Not just focusing on one thing or another. And that goes for the health care system as well as for the measures that we're doing in the community. And I actually think it's a little bit of a tempest and a teapot in that we all agree on the extremes and we're really sort of fussing a little bit about how much we need to pay attention to the bits in the middle. That allows us to adjust as we're going through the transmission in our community and the situation that we're in. And each individual outbreak situation, for example, we might do things slightly differently depending on, you know, a mixed accommodation situation versus a workplace situation. So I think it is important for us to continue to look at the data, to look at where we're seeing transmission events and adapt if we need to to put in place extra measures. I also think, you know, I really hope that this stimulates some more innovation in things like more effective and easier to wear masks that we can use repeatedly that are much more effective. It discourages me that we're here after SARS in 2003 and a pandemic of H1N1 influenza in 2009 and we still don't have a decent fitting mask that can be used in easily in settings in all healthcare settings. So those are the types of things I'd like to see some innovation in. We have time for one more question today for any reporters that didn't get to ask a question. There will be a statement released later this afternoon. For recommendations on protecting families and communities from COVID-19, visit bccdc.ca for questions about the province's COVID-19 response, visit gov.bc.ca forward slash COVID-19, and for a full listing of the provincial health officers' orders, visit gov.bc.ca forward slash PHO guidance. Last question is from Tanya Fletcher, CBC. Good afternoon to you both. We're hearing from some family members of those in long-term care homes, they say that COVID-19 has highlighted some issues that have been happening for a long time. How does the province plan to address these issues and is more oversight or regulation needed? I think that's a, it is something, and I will say particularly in long-term care as it has uncovered a number of issues that we've known about for a long time that we've been trying to address. I will also say that this has exposed a number of issues that we've been trying to address. I will also say that this has exposed inequities in health and inequities in our communities as well that we need to address, but I'll leave it to Minister Dix to talk about long-term care. Well, I think action has been taken and more action needs to be taken in long-term care. When I became Minister of Health, the standard for care per resident day as you know in BC is 3.36 care hours automatically below that on average in British Columbia. There were 75 care homes when I became Minister of Health that were under 2.9 hours per resident day, meaning they were more than 3 hours per resident under the standard every single week, and so that's changed. There were 75, now there are none. The care standards have gone up from I think 3.08 and at the end of this year the average care standard will be 3.37 per resident day, which at least meets the provincial standard on average, which was our intention. In addition to that, we made obviously significant changes. Bill 47, which was unanimously supported in the legislature, got rid of bills 29 and 94, which created a structure in long-term care that I think wasn't either stable or healthy for many residents and for many workers. So those changes and significant ones have been made increases and significant increases in respite care. During this pandemic, the move to a single site, 8,800 workers who were at multiple sites, now everyone is assigned to a single site and supporting that with public dollars. The money this past week provided to long-term care homes across BC, the $23 million to deal with the situation between April and June and the subsequent funding to support visitation, all of these are significant steps, the access to PPE in our supply chain, which we did earlier, than many other jurisdictions. So the situation isn't perfect, but I think we've been making significant progress, these very significant investments that have been made in the last two years that have changed the structure of long-term care. The final thing I'd say is from the beginning, everyone has been working, from the beginning of this pandemic, everyone has worked together cooperatively, unions and private long-term care homes and public ones and health authorities and the ministry of health and health officers in every health authority have worked together cooperatively and that team BC approach has really helped us during this period. So I think we can continue to make progress. Do you have a follow-up, Tanya? Please, minister, just hearing you list all of those things that you've done since your government came in regarding long-term care homes, I know the premier has said those same things and he has dismissed the idea of a public inquiry, but if more evidence of these types of conditions or proof comes forward about gaps in the system, would you commit to a public inquiry? So we talked today about the significant issues at a couple of long-term care homes and in particular, Holy Family Care Home, which is connected to Providence Health Care, which is one of the most highly respected health providers, non-profit health providers in Canada, it just shows how challenging COVID-19 is for long-term care. So right now, we're focused every day on dealing with the reality of keeping people safe because we open up to visits of keeping people safe. I expect there to be reviews after the COVID-19 pandemic, where we deal with these things. But we have to take action now and the action that we've taken even in the last week to support, not just to say we're going to allow visitors, but to take substantive structural action to keep seniors and residents in long-term care safe, keep workers in long-term care so that they all should expect our increase in this time is, I think, something that is very positive. So, you know, there are going to be reviews, of course, of our COVID-19 response, of all of our COVID-19 response once it's over, but we're in the middle of this now and we've got to continue to the momentum of making improvements in long-term care and doing it with all the partners in long-term care involved. Please, thank you. In the end of this year, it will be 3.37, which is still an important increase. And we have taken measures since the beginning of this pandemic that are important, which I think are always put in the context of a British Colombian team, which is taking steps in the sector. And I think we have had successes. But I think it's going to be very difficult, especially for people with three images. And we have to recognize that we are at the stage of this effort now, at the stage of this battle, and we have to continue to increase our efforts. And there will be, of course, reviews after this pandemic to judge, to improve our response. But actually, we have to continue to work to protect people and to let them live during the period of the pandemic. Thank you very much. Thank you very much.


Hello everybody that's loud hello everyone well we're about to get started but before we go I just want to take a moment to say thank you to our gold sponsors Skylight Mozilla Intel chef you guys are great we would not be able to do this without you thank you very very much so we're gonna talk a lot about what's gonna be happening over the next year in Rust before we do that of course I want to look back about what's happened in the past year sort roughly since Rust camp last year which was also more or less the 1.0 release we've all been working pretty hard and a lot of things have come from that so we've had a lot of progress for example in the library when we first released 1.0 you may remember we had a kind of minimal let's stable API surface we've expanded that dramatically we've added 175 new features to the stable list covering all kinds of areas so you can now really use the standard library for most tasks that you need on stable which is great we've been building a lot of language features so for example specialization infiltrate the question mark operator now the macros one one RFC and I'm sure there's a lot of things I forgotten these have all been designed gone through the RFC process have been implemented they're all on nightly now at varying degrees of completeness and hopefully they'll be making their way to stable and they're not that distant future and in the meantime while doing that we've re-architected and re-implemented a lot of the compiler so we added a new internal representation which we call mirror and it's now on default it's now the default backend on nightly it's going to be the default backend on stable and a release or two I think it's on beta I can't remember yeah it's enabled on beta in fact and with that we've already been able to add for example more efficient code generation around drop which is a dynamic drop something we've been discussing for I don't even remember how long before we got it to work and we are now recently released their kind of incremental compilation is starting to make progress we're in an alpha period it's working except we have a lot of bugs to fix to make it get better reuse and before we're willing to let people you but we're willing to recommend that you use it let's put it that way but if you're a brave person you can give it a spin and we've been doing a lot of work on error messages lately and I think that works going to continue trying to make them more readily understood better formatted more attractive so finally we've been working hard on cross compilation we have a rust up tool now that lets you switch tool chains very easily and we have a lot of tool chains available and you can kind of customize it per directory and so forth so I could go on and on about the technical details but I think what's most exciting is that in the year since we released it rust has remained kind of a language basically a language that people love to use right and we love to use and that is really great so one indicator of this but there have been many was this Stack Overflow survey where rust came in on top with 79% of people who use the language saying they want to keep using the language so that's really cool we have a friends of rust page now where people who are in industry can sign up or I guess anyone betting money on rust is kind of our catchphrase can sign up and get their logo on the page and there are now when we started there were a few logos there's now 35 and you can kind of watch a video here where I awkwardly scroll through the list because I can't figure out how to make it work smoothly someone should tell me but you can see there's a lot of logos there so pretty cool and finally the rust community itself as evidenced by this conference right here but it's starting to really grow and so we have if you believe we have 14,000 people attending rust meetups around the world we have a new community team that's working on mentoring and other opportunities we have three conferences taking place this year so there's rust conf here and then another in Pittsburgh and Berlin so there's a lot of excitement about rust and we're really excited to see it happening but for that I'm going to turn it over to Aaron for some kind of prognostication thanks Nico yeah it really has been a remarkable year and before I get to the prognosticating I just want to sort of echo the theme that you know for me the most exciting thing on a daily basis is just the rust community the level of you know passion and energy and kindness so I think you know that's what keeps me going day to day and it's only getting better so thank you all for that yeah okay so that said you know I think what's on a lot of our minds here at the conference is where do we go from here what's ahead for rust and you know I'm happy to say we don't actually need to look at a crystal bowl to figure this out in fact the Rust core team has been putting a lot of thought into how we set out a vision for the next increment of rust how we execute that vision how we communicate that vision and so there's been an RFC recently that Brian Anderson from the core team wrote up sort of laying out some thoughts on how we build this process and so I want to walk through a bit of that just to sort of frame out what we're going to talk about in the keynote so this is this is the new Rust map Rust roadmap process so the heart of this process is the idea that every year we're going to come together as a community and try to set out a vision for the next year of Rust and the way this should work is we spend some period of time really gathering a lot of data doing things like the Rust survey that went out talking to production users talking to people as we're trying to teach them Rust as we're doing outreach in conferences you know anywhere we can encounter people using Rust or trying to use Rust we want to hear from them hear what kind of problems they're encountering and then take all of that data sort of try to digest it down and talk as a community about what are the biggest problems that are coming up and from that build out some themes for the year and you know sort of a realistic vision of one year from now how can we have knocked down some of those obstacles to using Rust so this process is already underway hopefully many of you have already participated in the thread but if not there's there's a thread on the internals forum that's basically starting this conversation and it's going to go for most of the month so please join in in the meantime this keynote is going to make a pitch for a particular part of that vision that I think is really important but before we get there there these other aspects I mentioned before about you know it's not just setting out the vision but it's how do we execute it how do we communicate it so another core piece here is we want to start a milestone process where every six weeks aligned with our release cycle will be setting a GitHub milestone and that milestone will contain the work that the various teams that are part of the Rust community are trying to do toward our vision right so the idea is at least every six weeks we're taking a step back looking at what we're trying to do in the year and making sure we have a concrete increment that is actually taking us in that direction so you know that's good on an organizational level but I think also at you know I've been sort of saying communication is really important here the goal is and anybody you know in the Rust community so I think a lot of you are Rust enthusiasts and are sort of up on things but people who maybe aren't following so closely it should be really easy to you know hit up the Rust homepage and figure out where is Rust heading what work is going on how can I get involved and help Rust achieve its goals right so that that's a big part of what we're trying to do here and you know one last piece of that communication front is at the end of the year right as we complete one of these cycles we want to take a look back and see how do we do you know did we actually knock out the problems we wanted to you know where where did we fall flat and then synthesize all of that into a kind of retrospective that we can release to the world so every year we want to put out sort of a story about where Rust is going that everybody can listen to and that gives a really coherent narrative and that should be looking at the whole ecosystem right not just the compiler not just the language okay so that's that's the big picture of the roadmap process and like I said the keynote is really going to focus on this this vision aspect and you know I mentioned that we want this to be driven by various sources of data and one of the big ones is the Rust survey that the community team put together a couple months ago and you know I think we were all blown away by the results of this survey and a lot of respects you know one of the biggest being how many people responded right so we got over 3,000 survey responses and one thing that's really exciting about that is over a third of those responses came from people not yet using Rust right so this if you put this all together we actually get a pretty informed picture of the obstacles people face whether they're using Rust or whether they would just like to use Rust but you know aren't able to for one reason or another so let me go through some of the challenges that sort of came up time again in the survey okay so far and away the biggest challenge we would see is the learning curve right this this is a theme that was repeated in one in four responses and I think you know what what we often hear when we talk to people about Rust who have come to love the language and are sticking around is well the first two or three weeks were pretty rough right I had to like fight a lot with the bar checker I there was a lot of new stuff to learn it wasn't easy but after I got over that hump and really started to understand what the language was about I fell in love right and that's a great story but we can do better right because we're losing a lot of people on that early part of the curve right so that's going to be a major theme another one we hear often is the library space so Rust is a very young language right only a little over a year out from 1.0 and so while the ecosystem is growing really quickly so while the ecosystem is growing quickly you know there's perhaps more we can do to focus on building libraries that people need another piece is just overall maturity so not just in the library space but also tooling compiler performance debugging and so on there's there's more we can do one thing I think that surprised a lot of us was how important IDEs were on the list right so if you look at all 3,000 responses it was like 1 in 19 but if you narrow to the you know a third or so of people not yet using Rust IDEs came up a quarter of the time as the reason that they were not yet using Rust and that's really interesting and I think in a lot of bigger production shops IDEs are an essential part of people's workflow and basically if your language doesn't have a good ID story you're just a non-starter right so this is a huge thing that we need to be looking at and of course compiler performance which I think we're all pretty well aware of and this is something we hear a lot from production users as their number one complaint as they start getting bigger code bases compiler performance is a big problem okay so so those are some of the sort of high-level takeaways I guess from the survey but it's a lot of stuff so I want to sort of step back and try to identify a common theme running through all of these issues and I think you know through the survey through conversations through thinking like the way we're looking at this is productivity is key there are lots of different ways to look at productivity lots of different questions you might ask in terms of is a language productive as an ecosystem productive but I think the biggest obstacle to rest today is its productivity so zeroing in on that a little bit right there are some aspects of productivity that rust gets really bright today right so if you need to write a piece of code that is reliable rust is a great way to get there quickly if you need to write a piece of code that's fast rust is a great choice for that right so we have we have some good strengths here but then there are these other pieces that don't really sound much like rust like rust is a fast way to get up to speed writing code or rust is a great language for prototyping right these are these are not things that feel very true of rust today and it's tempting to think that there is a fundamental trade-off here right that rust has some core values around performance and correctness we're placing those above all else and one of the things we're sacrificing is early learning curve or getting teams up to speed really quickly let me tell you about trade-offs so here's a slide from rust camp you know last year that was trying to sort of sum up what the 1.0 release represented in terms of you know what rust is at heart and I think probably all of you have seen these slogans if you've been around in the rust community but each and every one of these things represents an apparent trade-off that rust has been able to overcome right before rust came on the scene you would think that well you can have memory safety if you have a garbage collector but if you are forgoing a garbage collector good luck getting a memory safe language well rust gives you both at the same time right or if you want to do concurrency especially shared state stuff you're gonna struggle with data races well not anymore right rust lets you do concurrency of all kinds while guaranteeing data race freedom right so I think a big part of the spirit of rust is having our cake and eating it too I think it's something we're really good at and so my challenge to the rest community this year is to do it again right so we all know that speed and reliability are core values of rust I think productivity needs to become a core value of rust too and we need to find a way to have all three together all right so with that we're gonna go through some of the different teams and aspects of the rust project and look at what it means to have productivity as a core value right so when it comes to the language itself I think it's as Aaron said it's important to kind of look and realize when it in terms of being productive while also having code that runs fast and is reliable we've done a pretty good job so far right I mean what do people love about rust I can tell you what I love about rust is this feeling of kind of galactic power at my hands and I can just like throw a few lines of code and then what I want happens kind of like a wizard or something right so I can write an iterator like this that takes a string breaks it into lines finds the maximum or the lengths of the lines finds the maximum and not only is it look pretty I could do that in a lot of languages and have it look pretty but in those languages it would probably make an object for every line and it would be kind of slow but in this version it's as fast as some C code that has a little pointer and skips along right or I could write a snippet of code to traverse over some paths load up a bunch of images in parallel and collect them into a vector and it just takes a few lines of code and again I could do that in some other languages but I made a mistake I'd have data raises and maybe 1% of the time it just doesn't work the way I expect a few images get lost something goes wrong I don't have to worry about that in rust or using this newer work on futures that Aaron and Alex have been working on and also Carl we see we can send an RPC request out and we can get back a response and process it and it's a few lines of code but it performs really well right so here's a little chart that they put up in a blog post and you can see that here are some servers that the different kinds of servers implemented in different ways processing hello world requests right now if I told you don't look at the labels yet if I said which of these do you think was written in the language with the strongest safety and reliability guarantees and using the most kind of idiomatic abstract code all the way down the stack I know what you'd say you'd say the fastest one of course right no that's not what we normally think we normally think we have to trade one or the other but Rust has really turned that on its head I think that's something we can all be really proud of what we find people saying a lot and what I feel also is that over time right with the language the compiler becomes kind of like a trusted pair programmer who's kind of got your back who's looking over your code helping you think of cases you might have overlooked before and so even in this simple little routine that takes in an optional string which is the name of a user I guess they might want to remain anonymous or something and prints it out we already can kind of see some of that and so we have the option type in Rust so instead of using a null pointer for the string which we could overlook we have to notice that maybe the user doesn't have a name and we have to customize our greeting for that we don't get some kind of null pointer exception and of course this is a reference to an option of string which is the key to the whole kind of house of cards we built up here in our house of grass the wrong metaphor key to this beautiful structure that we built up basically you know it's it's what lets us have safe not need a garbage collector and avoid data races and so forth and we can indicate that with just this one sigil so that feels good so you know I feel pretty good about this code if I take it to compile of course I know it's gonna work right oh wait no it's not gonna compile I'm gonna get this mismatch types error that's a little bit a little bit aggravating but that's okay I know what the problem is an experienced Rust programmer I just have to put this star here because I don't want to match on the reference I want to match on what the reference refers to so I have to dereference it okay good now I can compile the code and everything's fine except oh yeah right I can't move out of borrowed content here that's alright too I'm an experienced Rust programmer I know the thing is when I say sum of n I'm taking ownership of the string that's inside the option but I can't do that because I've only borrowed this option so I need to borrow the string as well and I write ref to make a reference to the string and now if I recompile it's gonna work and so this is you know these are minor annoyances when you know what to do it's still a little bit unfortunate that I my code looked a little prettier before but you can get used to that but if you're an experienced programmer that's how it feels right but if you're coming for the first time and you're still trying to understand what ownership and borrowing even are this could be a total game changer this could be like I'm just going to walk away from this language I can't even print a string on the screen I'm feeling a little frustrated and so unfortunately I think there are a lot of places in rust where we take what we surface these kind of small details constantly right to the user and you have and you once you learn to deal with them any one of them is not a big deal but they can kind of build up so here's another example a pretty common one if I have a function that takes a string you'd think I could call it with a string literal right that seems logical but I can't because string literals are compiled into the binary we don't have to free them afterwards so they have a different type that makes a lot of sense there's a really good technical reason for that but it's not necessarily a reason that I care about any particular point in time right and it's particularly not a reason that a lot of new users are familiar with so when I do my introduction to rust tutorials literally the very first thing I talk about is this right okay let's just talk about strings for a second and it's kind of a shame because it's not the most exciting topic to cover first but so a similar example I think a lot of us have experienced is that you know if I have a reference to a map and I get a key from the map then when I find the key in there I now have a reference into the map and I've borrowed the map and I can't mutate it and that's kind of the basic system we can learn those rules but when we come if we find that the key is not present in the map we still can't mutate the map right because the checker has a kind of lexical notion of how these things work and it doesn't understand control flow as well as it could and that's something that can be very frustrating when you're if once you understand that it works on a lexical scope you kind of get it but before that you might think you don't even understand the whole borrowing system when really what it is you don't understand how dumb the compiler is being right here right it's not as it's not seeing it the way you see it so this is a list of some of those things that bother me or that I've heard about you probably have your own I'd like to hear what I'd like to hear about them actually not right now afterwards but so I think as these are kind of all of these exist for a reason right there is a technical reason that these distinctions exist and sometimes it's very important to have control over these details if you want your application to work right but it's not always important and it would be really nice if you could kind of choose these details in a few places and let the compiler work out the rest of them for you right and then if we do that I think what we'll find is that this trade-off we see where it feels like these explicitness and total control or at odds with nice ergonomic programming we can kind of resolve that and just sidestep it and have it not be an issue whatsoever right and I think part of the reason that I'm confident we'll be able to do this I don't have solutions for all of these problems necessarily though we have given a lot of thought to most of them I think we have good proposals that we'll put forward but if we look back we can see we look back to these kind of galactic power examples I showed before we can see that a lot of these trade-offs are there or there are trade-offs there that we've just managed to hide and take care of right and resolve so for example the biggest one I think is closures or biggest example of this trend closures is something that are like a fundamental building block for abstractions right you see that every one of these examples has a closure it's not more than one closure and it took us a long time to get this design right because they have to be usable in so many different situations you have iterators that stick within one thread you have multi-threaded programming where the closure serves as the body of a thread then you have things where the closure is being run in parallel with itself many times like in the loading images example I'm running that same closure for every image and the RPC is a little bit different and so balancing all of those trade-offs seemed like it was going to produce this kind of infinite family of closures where the user has to pick just the right thing but what you'll notice is in the syntax and in these examples we don't really see all those trade-offs at play right they're there but they're not right in our face and so an example a specific case would be if you look at this variable my socket this is something from the environment it has to be either borrowed or moved or mutably borrowed into this closure but I don't have to say that right we figured it out based on how it's used in the closure if you moved it in the closure then you need to own it if you only referenced it we can take a reference and so forth and so I think closures is an example where we did a really good job collecting diverse and seemingly contradictory set of constraints and resolving it into one kind of ergonomic but also fast and reliable abstraction and I think we can do similar things for some of these other examples so if we look kind of at this matching case that I showed first you could imagine that instead of requiring you to say if a binding is a ref binding or not we examined how the binding is used and we figure it out just like we do with closures so you might say ah this printlin is doesn't need to own the end it can just printing it I can make this a borrow right and similarly instead of making you dereference name manually you never really want to match on a reference that's not very interesting you're always looking at what it's referring to maybe we can just skip over those through those references right and then the code that I originally wrote would have worked in the first place but it would have worked the same way and my final code did right just as efficient similarly here with the string literal if we could extend the string type to know that sometimes it is containing memory that comes from the static binary instead of being always a heap allocated buffer then it wouldn't have to free it when it goes out of scope then we could allow a coercion from the string literal type to string and this code would just compile and better yet it wouldn't do any allocations or anything like that so it would be as efficient as if the user had typed antistatic stir as the type instead of capital string right it's not that this distinction is going away it's just that we're surfacing it differently or less and so finally this example if you've been following Rust for a while you're probably pretty familiar with it the map example and here I think we've we have a kind of well-known solution to this we can make the compiler smarter about control flow that's been a long time coming it's been very challenging but now the mirror is in place we've kind of got the pieces there we have everything we need so hopefully we'll be seeing that and again we can kind of overcome this see me make these rules basically just simpler to work with right and what we've done all of this right the language we have not given up any reliability we haven't given up any performance in any of these examples we may even have gained some in some cases like if we can prevent some allocations for strings but instead we've just made it nicer to use right and I think that should be a big goal for us so when we think about new language features we tend to think about exciting new capabilities extending the language in some way do something you can't do and those are important things and we have to keep those in mind especially if they sort of unlock an important domain for us but we also can look inwards and say okay what what are we doing now how can we tune it and improve it and make it more productive than it is today so alright thank you very much on that but let's talk about libraries thanks to go okay great so you know every team has something to contribute here so from the library perspective what does improved productivity mean so that's that's kind of a big question libraries are a big topic but I think there are a lot we can do just at a very basic level right so when people in the survey talk about libraries or maturity being an issue I think what they tend to be talking about is they have some pretty basic need for a library to do some work they're trying to do and they want that kind of library to exist in the ecosystem they want to be able to find it easily and when they start using it of course they want the library to be of high quality and you know what I think high quality means of course is fast reliable and productive all over again so that's a fairly basic kind of goal to shoot for I want to spend a few minutes on sort of each of these dimensions highlighting some specific things we can do to improve our library story okay so let me start with libraries that should exist or should exist in a more mature fashion I think one thing that's been getting a lot of attention recently that people are very excited about myself included is Rust on the server I think this is one of the biggest opportunities we have for getting Rust into production I think there's a lot of interest from really high-scale internet companies and using Rust you know in exactly the cases where Rust has a lot to offer but it's also a huge lift right what is Rust on the server even mean there's so many different sub-domains right so we're focused right now on building the foundations for this story you know 1.0 shipped with a very basic IO story that was blocking IO which is fine for a lot of things but when you want to scale up to a big server async IO is essential right and so we've been developing a story run futures which I think really gets at the fast reliable and productive trifecta right so there's a lot of excitement around it it's very new stuff there's going to be a lot of iteration but I think async IO is going to be a big theme this year but that's that's just the foundation right just having async IO doesn't mean it's easy to build a server right so on top of that you need protocols you need you know HTTP you need to talk thrift you need to talk to databases and so on and so forth right so we want to work on the next level up on this stack and there's the Tokyo project which is focused on that and then on top of that you want middleware and so on so there's there's potentially a whole ecosystem here to develop and I think it really deserves to be a major area of focus for Rust community this year sort of related to that and one of my favorite topics is parallelism and concurrency right I think Rust concurrency story is one of the most unique things about the language right the fact that you can freely use concurrency without being terrified of data races all over the place I think that's really cool and you know I think we've got some good examples but I don't think we're fully delivering on that promise today and the reason is you know we have the basics in the standard library you can sort of see the vision but we don't have that fully productive story across the board yet right so what I want to see is like Nico's rayon library which you you know didn't point out that he was showing his library earlier in the galactic slide but it was there and and I think it's really cool right this this fact that you can you know just change from it or to par and all of a sudden you're getting parallelism totally safely right I think there's huge potential there but we've really got to push on those libraries to get them to a 1.0 state where people feel confident using them in production they have good documentation they're starting to feel mature right so I think there's a lot of good work we can do maturing that part of the ecosystem this year as well for a lot of you who are using rest today serialization may be a sore spot in that you're probably using sturdy sturdy is really cool but sturdy traditionally has required a nightly compiler and that's all kinds of painful for the ecosystem so we've got some really exciting stuff in the works with macros 1.1 you may have heard about the TLDR is we want to get sturdy unstable as soon as possible and it's looking like you know within the next few months that should be on the horizon and I'm looking a little so so looking a little farther afield you know I think there are more specific domains where rust might have something really interesting to offer that we haven't as a community sort of really highlighted or put a lot of weight behind so numeric computation scientific computation machine learning these are all places where scale performance reliability really matter and if rust can couple that with a highly productive story I think we could do great things right so this is another place where there are some great libraries out there you know there's like NDA rate for example but they need more sustained attention to get to a really 1.0 place to build a foundation and I would love to hear from all of you again after the talk on you know what what other gaps in the library ecosystem are really holding you back okay so that that is sort of about getting libraries to actually exist but once they're out there how do you find them right so you know discoverability superficially seems like a fairly easy problem just use Google you know or do a search on create say or whatever but it's actually really subtle right if you are trying to use rust in production and you need a library you want to very quickly establish that you know this library is going to meet your needs that it's well maintained that it's high quality and so on and so forth that's compatible with the rest of the ecosystem there are a lot of attributes that you're looking for beyond just does this library exist and so then we start getting into things like you know curation and rating and so on but there's a tricky balance to try to achieve there right because we want to highlight the best libraries and draw people toward them but first of all what is best mean right we all have different ideas about what we're looking for in a library and we have to calibrate that in the right way so we incentivize the right things but I think even more concerning right rust ecosystem is very young there's a lot of innovation waiting to happen and we need to be careful not to sort of coalesce around a particular library when something better could be coming down the pike but now that we've like highlighted this one you know first mover advantage has locked it in right so somehow we got to navigate this balance and it's going to be a tricky thing I think one source of inspiration here is projects like ember observer and you know so ember is a JavaScript framework it has a big community around it and faces similar discoverability problems ember observer tries to curate the ecosystem in a pretty sophisticated way so there's sort of a mixture of like objective criteria like does this add-on have good documentation does it have tests so on and so forth and then there's some measure of actually human review and that all gets put into a score that then you know highlights add-ons in particular areas right so maybe something like this could work for rust and we won't be starting from square zero here there are already some good curated lists of libraries and rust that we can draw inspiration from as well but I think we're approaching the time where actually having some official curation and search tools discoverability tools is a pretty high priority I'd like to see them on crates I own personally okay so that's that's discoverability the last thing I mentioned about you know what you want out of libraries for productivity is quality and my perspective here is we want to focus on ways to improve quality across the board like what kinds of tools can we build that make it easy to produce high-quality libraries that sort of raise the tide for everyone so documentation is a really important example right if the library is not documented it might as well not exist for a lot of people and you know I was super pleased to see in you know in the last month a new site pop-up docs RS which totally automates the documentation system right so if you have published a library to crates I own and you go to Docs RS it's doctor up basically without you having to do any work you know and I think there's a lot of interesting potential there for actually integrating docs across libraries so that the ecosystem feels very coherent you can you know if APIs are being shared across libraries you can browse from one to the other and so on so I think that's a really important area to keep focusing on Docs RS has made huge strides already another related thing for quality obviously is testing and as with many of these things like Rust is already in a pretty good place but we can aim higher right so we have good CI tools we have Travis integration and so on but you do have to know how to set it up there's some work to get that going we could make that more push button right we've done that in a lot of places why not have cargo new automatically generate Travis integration for you something like that right and then similarly Rust comes out of the box with a unit testing framework and that's great but we could really open the door to more custom testing and benchmark frameworks and you know the sky's the limit in terms of what the community can do so I think that that's another really important area to focus on and then looking more at the code itself I think there are many important questions about rust the language as you're developing a library particularly if you're writing unsafe code you know what can you assume about safe code what do you have to guarantee it will future versions of rust break your unsafe code right these are some tricky questions so we've recently formed a strike team to start laying out some of these guidelines and actually starting to specify these core pieces of rust that's going to be a long haul this is really hard work but I think it's vital to the long-term quality of the ecosystem right and we should look for other kinds of things like this like restarting the API conventions system you know so we have good documentation on you know how you should be designing your APIs and so on these are all things we can do to increase library quality across the board cool okay so that was the library story let's look at one more team and a little bit of detail so the tools team right has encompasses quite a range of things I'm gonna focus on just a few here and I think tools are one of the places that have the greatest potential to improve productivity right it's like the obvious thing so rust up was a really exciting thing that came out this year from Brian Anderson Brian right so so probably you all know rust up is a way to get rust itself to upgrade to new versions but it's so much more than that right the vision is rust up is a way to acquire tool chains for things like cross compilation right and this is another place where we really want to push button experience so if you want to develop on a Linux box make an Android app we want there to be one line you write to rust up to say I want Android and it'll download everything necessary on your system you know NDK wise to actually get that done as well as the rust will change itself so we have some pieces of that today the NDK support is an ongoing thing hopefully we'll have some news there in the next couple months and then Brian again has also been hard at work on getting rust hooked into M script in and and wasm so that's compiling rust down to JavaScript to run on the web which is amazing so I think there's a lot of potential there and again rust up you know will be used to to acquire those tools another thing that's really important for productivity is not having endless bike sheds about code formatting and so we have the rust format tool thank you Nick for spearheading that effort but of course we have yet to actually reach consensus as a community as to what that format should be so Nick very bravely is heading up the bike shed of bike sheds so we have we now have a rust format strike team which I think had their inaugural meeting earlier this week and the plan is to actually lay out rust format conventions that set the defaults for the tool that the whole community can use and so we can just not think about this ever again okay and then last of these core tools is cargo which of course everybody loves cargo cargo's a great draw for rust but there's more we can do so you know one of the pain points in the ecosystem is to do with the way that sembers managed in the way that dependencies of a package may or may not be duplicated under under various circumstances I don't want to go super into detail but basically there are some pain points managing this process right now if you have a dependency that is not actually sort of exposed in your API so we have some ideas about making a distinction between dependencies that are basically private to you and ones that might matter to your clients and we think that this will you know help cargo scale up to a larger ecosystem another really important area of focus as we've started to talk to really large shops that want to use rust one of the holdups is they tend to have really large build systems with really large opinions and cargo has its own opinions and it's not clear how to integrate this so you know again we have some initial ideas about what this might look like if this is a problem for you talk to Alex or you who to and let's get to the bottom of it okay but of course IDEs are the big topic for tools especially given the survey results so we've made a lot of progress on IDEs in the last year probably a lot of you have seen or used racer so racer is not an IDE but it's sort of part of a package that could go into an IDE and it aims to provide things like auto complete and go to definition really really quickly and it does this in a pretty heuristic way so it's not actually using the compiler at all because the compiler is not quite there yet speed wise and racers come along you know quite a long way so they're already like some good tools in that direction along a very different axis we have the IntelliJ Rust plugin which is also rapidly maturing IntelliJ uses a whole different approach they have a very intense sort of framework for writing IDEs which is basically building a whole compiler themselves so they have started this process for Rust and things are coming along quickly but I think you know one of the things we're excited about in this space is to try a somewhat different avenue right so so far the plugins that are out there don't talk to the compiler at all and you know partly that's for performance but it's also a shame because you're missing out on some things that you could be getting if you were talking to the compiler like the ability to accurately refactor you know or get perfect answers to you know questions like go to definition or find all references and so on so Nick and Jonathan who are going to be demoing in just a second have been hard at work in this space and the vision is we have an IDE maybe it's VS code maybe it's Adam maybe it's something else it's talking to a central service called the Rust language service which is then in turn talking to some variety of sources of answers about your code so when you need a fast turnaround time maybe you talk to racer when you can take a little more time to get you know something more detailed you talk to the compiler and they've been making amazing progress on this tool and I'm gonna shut up and let them show it to you yeah okay cool so as Aaron was saying we had this idea a couple weeks ago what if we took like a best of both worlds approach we use racer we want something that's more interactive and then we can use the compiler the compiler's metadata directly when you want something that's a bit more deep like precise knowledge about your project so we wrapped it together into this prototype very early proof-of-concept prototype idea of this Rust LS so the the RLS allows us to do the same kind of things that you already are used to doing in racer so for example we can do the same auto completes that we did before gives us a list we can scroll around and pick a you know a method that we want to call and you saw as we were selecting that that we had type information sitting there that racer hit already kind of parsed and figured out but what can we do if we have like you know precise type information so if we have precise type information for example we can hover over things and see the types if there is Rust docs we can see the documentation and so this is starting to feel like oh this is starting to feel like a little bit more like an IDE you can see the squiggle here for example so we have errors you know we're using the compiler behind the scenes if we hover we can see the error we can see a little bit more about what's going on and of course since it's straight from the compiler it's exactly the same errors the compiler would give you so we can do you know types on hover we can do error messages the next thing that we need to be able to do is to do navigation through your code so we can do to like a go to symbol so just type the name of the symbol and then when we do we can jump straight to its definition so you've seen some tools already out there that can do this kind of thing but with the precise type of information we can just go straight to the definition we can find all the references for a given symbol for example and here you see you know like the full list of where that symbol is being used and again this isn't like searching through your code like rep this is the precise information and if we have the precise information we can kind of go that next step that you're used to IDs going we can actually use that to do a refactor so we can oh oh yes so this is inside a macro that we found a reference here so we can see right through macros we can see really complex types of the generics and so forth because we have the whole power of the compiler behind us thanks Nick I know it's gonna forget that one it's like remember macros remember macros all right so we can do final references and if we can do final references again we can do this refactoring to be able to rename that symbol and precisely rename it rather than doing search for a place because we know all the references we can do a safe rename refactor so we're really excited about what this can grow into again like I said this very early proof of concept lots and lots of duct tape but we want to tear that duct tape down and build it back up to being the real RLS we kind of showed it working in VS code but of course we built it in such a way that you can plug this into any IDE any editor and if you want to help us move it on to the your favorite IDE just come talk to us later we'd love to hear you thanks so the last thing I had to say is basically that we have also a lot of efforts from other teams for the docs team for example is embarking on a new book based on what we've learned about how people learn rust trying to take a different approach that should be more effective and improve on the one we have which is already quite good we're also working on looking at different ways to improve the ecosystem documentation as a kind of community wide effort and then we have a new community team which is focusing on assembling new learning materials and especially working on a rust bridge effort in collaboration with or as part of I guess the bridge foundry which is going to essentially learning rust as your first language from the ground up and of course the compiler team is hard at work on making things faster and less buggy and nicer overall and so that's about all I had to say if this comes up I do want to show you this picture but it's not so I won't it's too bad that's all right sorry we're done here thank you guys very much