►
Description
Join members from the .NET teams for our community standup covering great community contributions for Framework, .NET Core, Languages, CLI, MSBuild, and more.
A
A
B
C
B
A
Like
that
I'm
rich
lander
I'm,
a
member
of
the
done
at
runtime
team
and
I
work
on
all
the
dotnet
things.
Okay,
so
I
think
we
want
to
talk
about
a
few
things
today.
One
is
its
2020,
we
just
shipped
three
one
in
December.
We
should
talk
a
little
bit
about
that,
but
we're
now
focused
on
the.net
5
project
and,
like
you
know,
new
versions
of
the
languages.
A
A
Let's
just
take
a
few,
but
bug
fixes
like
the
most
minimal
features
ever
put
some
polish
on
three,
oh
well,
ship,
three
one
and
three
one
will
be
the
long-term
supported
release
LTS
almost
support
out
for
three
years,
so
that
was
kind
of
its.
That
was
the
plan
going
into
that.
So
we
largely
achieved
that
I
will
say
that
we
have
had
a
few
more
problems
with
three
one
than
was
intended.
A
C
A
A
A
B
A
Yeah,
oh
yes
and
then
another
one
was
we
made
a
change
for
CPU
limited
containers
that
caused
a
perforation
and
we're
fixing
that
in
February
as
well?
So
anyway,
I
don't
want
people
to
think
that
you
know
everyone
was
a
disaster
or
anything
like
that.
Basically,
are
there
there's
some
specific
problems
that
will
quickly
be
addressed?
Yeah.
C
C
A
A
A
So
just
this
week,
even
though
there
was
snow
days
here,
we
had
like
a
mini
dotnet
conf
and
it
was
called
focus
on
blazer.
It's
now
it's
not
over,
but
you
can
download,
not
download
but
like
watch
all
the
sessions.
So
if
we
click
let's,
let's
take
a
look
at
this
website,
so
here
we're
the
speakers.
Tons
of
awesome,
awesome
speakers
I'm
not
going
to
go
through
the
whole
list,
but
obviously
a
good
set
and
Beth
Massey
is
our
kind
of
like
ringleader
of
these
kinds
of
things.
A
A
C
B
And
it's
also
it's
it's
well
I,
don't
know,
I!
Think
it's
great
because,
like
to
me,
webassembly
is
an
awesome
and
promising
alternative.
That
is
now
at
the
point
where
we
need
the
Microsoft's
of
the
world,
doing
things
like
building
UI
frameworks
like
blazer
and
really
having
a
go
for
it
and
like
really
sort
of
addressing
all
the
issues
as
they
come
up
like
it's
sort
of
at
that
point
and
that's
sort
of
what
we
need
to
sort
of
cross.
B
C
Much,
what
gets
people
excited?
Yeah
JavaScript
start
going
anywhere
nighttimes
soon,
but
it.
A
B
A
B
This
week,
yeah
what
time
is
really
flying
definitely
check
out
that
on-demand
con,
because
there's
some
pretty
radical
stuff,
that's
being
talked
about
there.
A
lot
of
it
is
also
kind
of
like,
like
blazer,
is
still
in.
You
know
it's
still
in
pre-release,
like
blazer
for
webassembly
that
sort
of
stuff,
but
even
what
was
shown
there
was
like
even
newer,
interesting
stuff
that
they're,
you
know
experimenting
with
and
trying
to
really
like
push
forward,
so
yeah
definitely
check
it
out.
Okay,.
A
C
C
A
1%
focus
is
slack
time.
Yes,
so
I
wish
I
had
more
of
that
available,
but
no
that's
totally.
What
we're
working
on
I
would
say
at
this
point
in
the
project
we're
just
trying
to
get
a
plan
in
place
on
what
to
build.
So
we
haven't
really
posted
a
lot
to
the
community.
Yet
on
what
dotnet
5
is
gonna
be
I
mean
there
was
a
blog
post
that
I
posted
at
build
last
year,
which
was
kind
of
the
you
know
super
aspirational
Broadview.
A
B
As
far
as
like
figuring
out,
what
the
big
rocks
are
in
a
way
to
use
that
and
I
was
like
what
are
the
the
big
things
that
are,
you
know
we're
committed
to
getting
in
for
dotnet,
5
I
think
that's
gonna
be
fully
established
and
also
like
in-between
all
of
that
there's
just
tons
of
incremental
improvements
that
are
like
already
being
done.
Just
oh.
B
A
Yeah
you're
right
I
was
talking
about
the
big
rocks,
which
is
the
more
the
sort
of
thing
that
that
I
work
on
so
like
to
me.
A
lot
of
the
release
seems
quite
nebulous
at
the
moment.
So
like
your
here's,
an
example
which
is
one
of
the
things
I
talked
about
in
the
blog
post,
that
I
posted
again
at
Build
28:19
was
that
we're
gonna
support
xamarin
as
a
first
class
donna,
core
workload
and
also
uwp,
and
so
we're
trying
to
figure
out
how
to
make
that
work
with
the.net
core
sdk.
A
C
A
C
C
A
lot
of
the
work
going
on
now
feels
like
at
least
on
the
dev
site,
is
experimentation
on
okay.
We
think
we
want
to
do
this
thing.
How
hard
is
that
to
actually
do
a
lot
of
all
the
runtime
team's
experimenting
with
a
bunch
of
different
ideas,
and
you
know
yeah
these
big
rocks.
It's
like
well
I'm
the
dev
side.
Now
it's
okay!
Can
we
actually
do
this
in
the
time
frame
we
have
what's
eva
below?
C
B
B
Start
to
get
better,
it
starts
your
Apple
search
engine
optimization
exactly
so.
We
are
explicitly
planning
on
the
C
sharp
side
that
there's
going
to
be
a
C
sharp.
Nine
that
were
nine
is
five.
Nine
is
fine
like
a
fine
line
with
Donna
five,
that
is
quite
a
life
and
also
an
F
sharp
five.
That
is
quite
alive.
We
got
a
lot
of
rhymes
going
on
here,
but
C
sharp
nine
is
something
that
we're
planning
for
the
Donna
five
timeframe.
B
B
On
projects
there,
okay,
so
will
bring
this
up
here
on
this
stage.
This
is
for
anyone
who
wants
to
follow
there.
So
if
you
go
to
language
version
planning,
this
is
a
very
big
project
here,
right,
so
you'll
notice,
there's
trios
needed.
You
can
kind
of
ignore
that
anytime,
that's
kind
of
you
know,
hey
whatever,
so
how
about?
We
click
on
one
of
these,
which
one
well.
B
Side,
scroll
over,
you
will
see
a
nine
candidate,
oh
I,
see
so
9.0
candidate.
So
there's
a
bunch
of
things
that
are
in
here.
Some
of
these
are
very
small.
Some
of
these
are
very
large
what
this
is
sort
of
the
team's
way
of
saying
that
these
are
all
the
things
that
we
have
considered
at
some
level
that
we
want
to
include
in
C
sharp
nine.
Now
that
doesn't
necessarily
mean
it's
going
to
make
it
in
it
doesn't
mean
that
you
know
whatever
design
is.
B
You
know
envisioned,
for
you
know
at
this
point
in
time,
is
going
to
be
the
design
that
actually
makes
it
in,
and
it
also
you
know,
we
may
decide
that
we
don't
even
want
to
do
it
in
the
first
place
and
that
sort
of
thing,
but
this
is
everything
that
we've
considered
and
within
that
bucket.
Some
of
these
have
already
actually
Bend
and
are
being
implemented
as
we
speak,
whereas
some
are
sort
of
still
on
the
docket,
but
you
know
we
would
be.
We
would
feel
rather
sad
if
we
couldn't
get
them
in.
B
So
if
you
want
to
look
into
how
that
all
is
going
to
flesh
out,
then
following
that,
like
each
of
the
issues
that
are
tagged
in
that
particular
project
is
a
good
thing
to
do,
one
that
I
do
want
to
briefly
mention
that
I
actually
I,
don't
know
if
it's.
If
it's
mentioned
on
that
project
or
not
I,
don't
think
it
is,
is
source
generators
which
were
where
is
not
our
language,
which
other.
B
B
Startup
and
there's
there's
that's
the
only
tool
that
they
have
to
actually
do
that,
and
it's
a
pretty
hefty
cost
that
they
have
to
do
at
startup
time.
Well,
what
source
generators
would
allow
them
to
do
is
instead
of
building
the
app
and
then
having
to
use
reflection
code
to
discover
a
bunch
of
stuff,
and
then
you
know,
build
something
up
and
then
allow
requests
to
come
in.
They
can
do
at
compile
time
say:
oh
hey!
These
things
have
a
particular
meaning.
B
Let's
add
it
to
the
compilation
that
we're
building
that
the
compiler
is
building
at
this
time
and
then
build
up
that
information
that
we
need.
Statically,
so
that
when
we
deploy
the
application,
we
don't
have
to
use
that
reflection
to
discover
all
sorts
of
stuff
and
and
there's
their
scenarios
like
that
sort
of
all
over
the
place.
B
A
Just
just
one
slightly
different
way
of
talking
about
that
is
it's.
It's
not
my
way.
Thinking
about
it
is
it
it's
not
startup
versus
not
or
sorry.
It's
not
work
at
startup
versus
work
at
startup,
meaning
they're
still
like
this
environment
set
up.
That
needs
to
be
done.
The
main
thing
is
about
not
doing
a
reflection,
yeah.
C
A
C
A
A
C
I
mean
the
dream
here:
is
you
know
a
lot
of
things
realization,
libraries
right
like
if
I
want
to
use
a
certain
library,
like
you
know
not
other
than
just
json-rpc?
One
of
the
famous
you
know
binary
serialization
ones
right
like
the
ideal
thing
is
I
just
generate
code
that
does
the
packing
for
my
types
correctly
yeah
today
in
terms
of
those
types
yeah.
C
C
C
A
C
A
C
A
B
And
and
and
I
think
it's
pretty
exciting,
because
this
is
something
that
it's
kind
of
been
like:
a
long-standing
pain
for
a
lot
of
developers
and
a
lot
of
library
and
framework
authors
and
there
there
hasn't
really
like
it's.
It's
not
necessarily
that
we're
gonna
solve
all
of
those
problems
like
perfectly,
but
it's
an
area
that
we're
explicitly
trying
to
go
after
and
it's
gonna
align.
What's
the
C
sharp,
nine
and
Dawn
at
5:00
timeframe,
which
I
think.
A
C
A
You
basically
say
you
don't
have
code
written
while
I
mean
the
lamda
is
actually
written
ahead
of
time,
but
you
don't
have
like
normal
code
written
ahead
of
time
and
you
don't
really
use
reflection,
so
you
use
lambdas
to
basically
write
code.
That
seems
like
bound,
but
it
technically
isn't
so
anyway.
That's
the
trick
that
I've
used
in
the
past
around
this.
C
C
A
C
A
A
B
B
It's
just
got
a
really
convenient
syntax
for
manipulating
and
generating
basically
sequences
of
data,
and
F
sharp
already
has
some
of
that,
but
it
was
especially
the
from
the
end
slicing
to
be
able
to
say:
oh
I
want
to
take
you
know
from
here
up
until
you
know,
X
amount
from
the
end
that
was
actually
missing.
So
so
we
added
that.
How
was
that
for
someone.
B
Well
so
I'd
say
they're
different
I'd
say
the
main
thing
is
with
take
and
skip.
You
can
effectively
accomplish
the
same
thing.
It's
just
a
lot
more
verbose
and
it's
also
the
the
other
thing
as
those
are
defined
on
an
ienumerable
type
with
f-sharp.
We
we
have
a
set
up
so
that
all
forms
of
slicing
is
actually
a
public
API
that
you
could
specify
on
any
arbitrary
type,
and
you
don't
have
to
tie
it.
I'm.
C
A
lot
more
comparable
to
c-sharp
Bates
indexing
yum
system
right
where
I
can
have
arbitrary,
indexers
and
I
can
have
this
indexed
to
say.
Oh.
Give
me
the
last
element
of
this
string
based
on
indexing
into
it,
and
so,
if
you're
not
familiar
paid
indexing
syntax,
it's
very
convenient
for
slicing
and
dicing.
It's.
A
B
B
Either,
at
a
type
definition
so
say
you
own
the
type
you
have
your
custom
collection
type.
You
can
define
those
that
property
and
those
methods
on
there
and
then
you
are
in
you.
That
type
is
now
indexable
and
sliceable,
depending
on
how
you
want
to
define
that
we
also
offer
type
extensions
and
f-sharp.
So
if
you
don't
own
the
type,
let's
say
you
have
like
some
vector
library
that
you're
working
with
they
don't
define
those
methods
so
like.
How
do
you
slice
that?
B
A
B
Like
a
particular
shape
and
if
something
meets
that
shape
like
it,
has
the
right
name,
the
right
members,
the
right,
you
know
XYZ
sort
of
things
associated
with
it,
then
we
say:
okay!
Well,
that's
we're
going
like
you've
in
a
way
sort
of
like
implemented
an
interface,
it's
sort
of
like
an
analogue
that
you
could
think,
and
you
say,
okay
well.
However,
you
do
that
it's
sort
of
up
to
you,
but
we
respect
the
shape
of
what
you've
defined
yeah,
but
it
doesn't
require
the
formalism
of
that
without.
C
A
B
A
A
A
Working
on
this
been
working
on
improving
our
day,
so
I'm,
the
one
who
spends
most
of
time
in
our
doctor
samples,
yeah,
I've,
updated
the
multiple
times
like
the
the
second
or
third
major
update
to
them,
and
so
I
want
to
kind
of
show
you
what
I
did
and
I'll
show
you
where
it
is,
and
then
there's
this
like
stuff
at
the
very
bottom
I'm
actually
gonna
demo,
that
so,
let's
see
so,
let's
just
click
here.
A
A
It
big
so
anyway,
we
did
I'm
gonna
type
in
this
one.
Hopefully
I
have
yeah.
So
this
is
the
same
sample.
We've
had
forever.
The
only
difference
is,
is
we
added
ap
is
in
the
product
in
302
correctly
make
it
so
you
can
get
the
correct
version
number
for
the
product.
It's
really
embarrassing
that
we
didn't
fix
that
until
three,
oh,
but
so
now
you
can
get
the
right
version,
so
you
can
see.
A
Docker
image
yeah,
so
if
you
didn't
this
is
this
is
the
thing
we're
doing
just
let's
do
this
again,
so
this
is
getting
a
docker
image
from
the
Microsoft
container
registry.
It's
the
default
sample!
That's
that's
what
actually
happened
there
and
you
can
see
that
the
container
image
that
we
pulled
down
is
3-1-1
so
that
that's
been
updated.
As
of
yesterday,
mm-hmm.
C
C
A
C
A
A
A
C
A
Running
yeah,
so
now
this
is
running.
This
is
running
asp.net
in
the
docker
container,
and
so
the
cool
thing
is
we
can
just.
We
can
just
keep
on
like
these
numbers
change,
because.
A
A
The
container
to
20
megabytes
started
again
I
love
to
how
fast
docker
is
it's
like
that
barely
took
any
time
yo,
and
so
that
should
affect
some
of
these
numbers
here.
I
haven't
actually
updated
yet
or
maybe
actually
all
three
of
these.
So
let's
refresh
and
now
they're
yeah.
This
is
20
megabytes
I.
Don't
know
why
this
one
says
66
megabytes
and
this
one
says
20.
That's
interesting,
I,
don't.
A
C
A
A
C
A
Check
that
out
go
check
it
out.
It's
the
only
other
thing,
I'll
say
I,
probably
like
99%
of
the
people
on
this
call
won't
care
about
this.
But
oh,
we
just
merged
it.
Ok,
so
now
it's
gonna
be
in
a
different
place.
I
think
it's
here,
ok
yeah!
This
is
this
is
what
I
was
expecting
we
just
merged
as
of
three
hours
ago.
A
Apparently
this
thing,
if
you're
working
in
an
in
like
a
company
that
is
pretty
big
and
has
like
lots
of
rules
on
things
or
you're
working
in
in
a
government,
will
definitely
have
lots
of
rules
on
things
robably
yeah.
We
just
posted
a
new
document
about
how
to
get
like
copyright
and
pedigree
information
about
our
docker
images
and
it's
mostly
about
Linux
base
images.
C
A
Actually,
they
were
super
keen
on
us
doing
that
as
well,
and
so
this
is
some
new
guidance
that
we're
giving
to
the
community
by
the
way
I
guess
I
will
post
this
tweet
I'm
doing
this
to
youtube,
because
that's
where
that's
the
one
I
know
how
to
post
sorry,
which-
and
you
know,
publish
this
document
there
and
people
will
know
anyway.
We
I
think
the
short
version
is:
is
our
users
and
customers
have
very
varied
needs,
so
the
docker
demo
I
just
showed
you
was.
A
A
A
C
A
C
Well,
I
could
tell
the
story,
but
I
was
wrong
this
week,
oh
yeah
language
design.
Let's
do
that
if
people
want
to
hear
about
the
time
John
was
wrong.
I
think
so
rich
sits
in
the
compiler
team
room.
So
he
gets
to
hear
all
of
the
you
know
stuff
that
goes
on
there.
Neil
and
Alexis
discussions.
You
know
and
everything
from
Jared
well
Jared
the
compiler
lead
has
a
lot
to
say
about
a
lot
of
topics
and
generally
he's
not
afraid
to
talk
about
it.
But
so
there.
A
C
Know
we
won't
get
to
that,
but
so
there
was
a
language
design
decision.
That
I
think
is
the
right
one
about
how
far
should
work
with
noble
references
and
I
think
Noble
references
is
one
of
the
most
complicated
things
that
the
C,
sharp
large
design
team
has
ever
had
to
do,
and
I
definitely
sympathize
with
how
difficult
it
is
how
complicated
it
is.
C
C
C
C
We
would
like
the
people
using
bar,
they
probably
like
to
use
it,
so
we
don't
want
to
force
people
to
stop
using
bar,
and
so
we
were
going
to
make
that
change
and
I
think
you
know
we
everyone,
this
is
there's
always
happens
along
design.
If
someone
has
like
some
innate
philosophy
or
belief
about
how
the
language
works,
that's
not
based
on
anything
real,
it
was
just
like
well,
I
was
just
language.
This
way
and
I
like
it,
this
happens
with
a
lot
of
change.
C
I
think
we
first
added
for
a
lot
of
people
like
well
I
kind
of
see
that
type
I
don't
see
it
as
something's
wrong
and
everyone
got
into
fights
about
it.
There
was
a
long
internal
compiler
discussion
about
the
question
dot
operator,
because
if
it's
right
versus
left
associativity,
which
luckily
no
one
cares
about,
but
like
internally,
the
compiler
team,
there
was
giant
fist
fights
about
associativity,
and
so
this
was
just
another
one
where
I
was
very
against
this
change.
C
Cuz
like
no
I
want
to
I
would
like
the
compiler
of
anything,
to
warn
me
more
about
nullable
correctness.
You
know
I
feel
like
it's
too
permissive
for
me.
I
want
it
to
be
more
upset
with
me,
but
I
think
this
is
ultimately
the
right
change,
because
I
think
most
people
who
use
var
would
like
to
keep
using
it
and
would
like
to
get
you
know
and
in
terms
of
noble
flow
state.
Everything's
still
gonna
be
tracked.
It
all
work
correctly.
They'll
just
allow
things
to
sign
to
know
where
previously
we
wouldn't
allow
that
what.
C
A
C
Sorry,
the
for
people
who
are
not
looking
at
the
check
I'll
tell
you
what
my
team
will
stop
using
of
RF.
That
means
you,
opt-in
by
default,
or
in
spite
of
opting
out
so
yeah.
It
doesn't
mean
yeah.
Knowable
is
sort
of
a
complex
feature
because
it
you
can
opt
in
in
stages.
You
can
opt
in
a
file,
you
can
opt
in
a
project,
etc.
C
So,
in
the
background
here
is
the
way
VAR
is
interpreted
only
changes
if
you're
opting
into
knowable
right,
so
you've
not
chosen
to
opt
in
any
particular
section
of
code
in
DES
knowable,
then
nothing
changes
right.
Also,
no
no
ability
has
some
internal
complexities
around
Knoll,
oblivious
types
which
are
types
that
have
no
opinion
about
whether
they
are
knowable
or
not,
and
so
that
would
also
affect
this
etc.
So,
there's
some
additional
complexities
here
that
I'm
glossing
over.
C
Basically,
you
know
sorry:
I
was
I'm
just
reading
the
comments,
I,
don't
think
yeah
and
I'll
probably
explain
again.
The
the
use
case
here
is
only
in
a
novel
context.
If
I
have
a
VAR
type
right,
that
type
will
always
be
nullable.
So
if
it's
a
type
t
ub
t
question
mark
right
now,
if
I
try
to
pass
that
out
without
checking
if
it's
null
first
I'll
still
get
a
warning.
If
I
try
and
call
something
on
that
without
checking,
if
it's
null
first,
all
that
will
still
work.
B
B
And
the
way
that
the
the
knowable
analysis
of
the
compiler
works
is
say,
you
say
var
X
equals.
You
know
some
string
returning
method.
If
that
method
returns
a
non
knowable
string,
then
X
is
a
non
knowable
string
as
far
as
knowable
analysis
is
concerned,
but
if
you
set
it
to
null,
you
won't
get
a
warning
saying:
oh
hey!
This
is
not
a
knowable
string!
Buddy!
You
can't
do
that.
It.
B
B
B
A
B
Head
of
the
linked
list
was
non
null,
but
the
pointer
to
the
next
item
could
have
been
null,
but
when
you're
processing
a
linked
list
and
a
while
loop,
you
want
to
go.
You
know,
okay,
if
there's
a
next
thing
go
ahead
and
set.
You
know
the
head
equal
to
the
next,
but
var
was
inferring
the
thing
to
be
non
knowable,
but
the
next
thing
could
have
been
knowable
and
there
was
no
way
to
use
var.
If
you
wanted
to
do
that,
so
the
choice
was
okay.
B
B
B
Just
want
to
be
pure,
and
you
know
we
sort
of
very
we
sort
of
very,
very
much
believed
that
you
know
if
something
was
a
string
or
a
string.
Question
mark
that
that
you
know
there
was
a
sink.
Our
personal
coding
style
was
such
that
we
believed
var
may
not
have
been
appropriate
for
what
you
were
trying
to
do,
but
I
think
the
correct
decision
was
made
that
no,
it's
actually
fine
and
you
know
it
shouldn't
matter
what
it
actually
is
and
I
think.
C
This
is
an
example
of
how
complicated
this
feature
was,
and
this
is
like
every
part
of
it
which
is
well.
We
want
to
come
down
on
a
pragmatic
over
a
dogmatic
approach.
We
don't
want
to
fall.
It
goes
so
far
so
far
into
the
type
theory
weeds
that
the
feature
you're
left
with
is
very
difficult
to
reason.
I
wanted
to
be
useful.
We
want
every
time
you
get
a
warning.
Ok,
this
could
be
know
for
that
to
be
helpful
and
we
don't
want
there
to
be
a
lot
of
like
no.
A
C
Know
that
there's
a
very
counterintuitive
part
is
the
purity
checking
right
where,
if
I
have
a
non-null
type
right,
something
that's
guaranteed
is
not
know,
but
then
I
check
if
it's
null
the
cap
I
was
like
well.
That
was
a
weird
thing.
You
did
you
checked
if
it
was
no,
even
though
it's
not
supposed
to
be
so
now
we're
gonna
assume
that
in
the
cases
where
that
check
failed,
that
it
could
be
NOLA
will
warn
you,
and
that
sounds
kind
of
true.
C
That
sounds
like
a
weird
thing
to
do,
but
you
know
who
knows
with
threading
with
all
sorts
of
things
right
like
this
is
actually
a
helpful
thing
to
do,
and
it's
exposing
like
a
code
smell
of
if
you're,
something
it's
not
supposed
to
be
able,
but
you're
checking
if
it's
no
like
either
the
check
is
unnecessary
or
you're
doing
something
that's
worthwhile,
and
so
we
should
track
all
that,
but
anyways
the
moral
of
the
stories
I
was
wrong
and
that
I
think.
Ultimately,
the
pragmatic
decision
was
made
and.
B
Is
there's
all
these
just
weird
little
things
where
you
know
the
the
null
Nisour
non?
No
less
of
something
affects
the
way
that
you
would
normally
write
code,
and
we
don't
we
don't
like
we
want.
We
want
the
feature
on
one
hand,
we
want
the
feature
to
encourage
people
to
use
nulls
less,
like
you
know,
as
or
rather
I'm.
C
C
It
we
want
you
to
write
down
how
you
think
nulls
should
work
on
your
system
right.
All
types
are
just
right,
write
down
how
you
think
your
system
should
work
as
best
you
can,
and
we
will
let
you
know.
If
there's
some
inconsistencies
here,
right
yeah,
you
think
this
objects
should
never
be
no,
but
here
you
are
signing
it.
No
all
the
time
right
so
either
you're.
B
C
B
C
Nulls,
not
bad
right,
I,
don't
think
knows
like
this
weird
thing:
I
given
got
some
problems
when
we
originally
talked
about
in
the
speech
guru
like
adults,
I
like
no,
it's
great.
Why
are
we
so?
Why
are
you
all
such
have
such
consternation
about
this
feature,
and
the
answer
is
like
well,
it's
it's.
You
need
to
be
able
to
reason
about
it
and
today
it's
very
hard
to
reason
about
yeah.
A
C
Time
I
make
you
change
the
IDE,
just
the
song-and-dance
used
to
be
to
make
it
change.
Whenever
you
make
a
change
to
like
Roslyn,
there's
hundreds
eyeballs
on
it,
you
get
hundreds
of
comments.
You
feel
very
confident.
Someone
looked
over
it
there's
a
lot
of
tests.
You
check
it
in
feels
the
rough
exception.
You're
like
oh
woops.
There
was
a
case
we
forgot
about
it.
B
Happened
to
us
all
the
time
and
so
like
you
know,
on
one
hand,
we
want
you
to
sort
of
use
this
feature
and
kind
of
when
you
encounter
warnings
that
it
would
emit
kind
of
think
about.
Oh,
you
know
is
there
what
was
my
action
intentional
or
you
know,
with
assigning
Knoll
to
something
or
passing
Knoll
to.
B
Or
was
like
oh
crap,
I
I,
like
actually
had
a
bug
in
here
that
I
didn't
realize,
was
that
it
was
just
sort
of
latent,
like
waiting
for
another
change,
to
sort
of
activate
that
bug
and
cause
a
little
reference
exception.
Yeah
so
like
that
implies
a
lot
of
changes
in
your
code
when
you
use
the
feature,
however,
at
the
same
time,
there
are
other
patterns
like
using
var,
where
we
don't,
we
don't
like
want
you
to
completely
have
to
rewrite.
You
know
every
single
method
internally,.
B
C
Just
changing
it
to
change
it
at
that
point,
that's
something
we
want
right.
We
want
to
be
able
for
you
to
reason
about
your
code
easily,
but
not
have
every
new
version.
C-Sharp
language
require
to
like
redo
everything
right,
that's
no
good!
So
it's
a
balance
yeah
and
in
the
next
rep
to
get
a
null
ability
soon
right.
We
got
that
worked
out.
Wills
figured
it.
We.
B
A
C
C
B
Reference
types
in
the
current
implementation
in
the
F
sharp
side
identified
about
15
issues
in
the
compiler
internals,
however,
because
it
does
not
track
any
dotnet
types
like
strings,
there's
actually
probably
a
whole
lot
more
that
are
sitting
in
there
that
were
unaware
of
so
for
F,
sharp,
specific
types
we
found
about
15
within
our
code
base
that
were
just
latent
bugs,
but
there's
definitely
more
in
there.
So
I
think
adopting
the
the
feature
on
the
F.
B
C
Saw
something
scroll
by
about
a
question
about
how
no
ability
analysis
works
from
twitch,
so
I'll,
just
briefly
discuss
like
we're
not
doing
full
program
analysis,
because
we
want
the
compiler
to
complete
ever
we're
just
doing
flow
analysis
within
a
method.
So
there
are
trivial
ways
to
defeat
it
right,
like
I
could
have
a
constructor
that
calls
a
method
and
then
that
method,
initializes
everything
correctly
we'd
still
be
like.
C
Well,
we
don't
know
if
things
are
initialized
correctly,
because
we
don't
track
the
flow
state
of
every
method
and
then
every
method
that
it
calls
into
calls
forever
to
determine
if
at
all
possible
futures
this
works,
so
we
sort
of
cut
it
off
at
a
certain
point.
I
think
that's
a
reasonable
trade-off!
I'm,
not
aware
of
any
language
that
does
full
program
analysis.
We
already
have
to
solve
3sat
yeah.
B
B
B
B
C
Is
there
were
people
internally
Microsoft
that
were
reflecting
on
them,
regardless
of
whether
that
was
allowed
or
not,
and
so
we're
talking
to
them?
I
think
the
answer
is
at
some
point
in
the
course
of
rolling
unknowability
annotations.
We
want
people
to
be
able
to
if
you're
a
again
like
a
third-party
library.
That's
example:
you're,
like
a
link
library
right,
you
want
to
be
able
to
analyze,
admitted
annotations
to
know
if
something's
all
burn
out
so
I
think
that
will
be
something
you
can
do.
You
know
if
you
can't
do
it
already,
yeah.
B
B
It's
just
gonna
break
you
and
that's
just
kind
of
how
it
is,
and
so
there's
a
there's,
a
question
of
like
okay,
you
know:
do
we
add
API
is
that
will
that
you
can
rely
on
being
stable
right
for
that
sort
of
thing
we-well,
so
that
was
actually
on
the
docket
for
Dawn
at
5:00
sometime
last
year,
because
it
was
required
for
entity
framework
and
asp
net.
I
believe,
but
yes,.
B
But
then
the
defined
folks
there
have
started
their
knowable
annotations
for
their
public
api
and
they
think
identified
that
they
actually
didn't
need
to
do
what
they
were
doing
and
so
that
sort
of
said,
okay.
Well,
you
know
we
don't
have
a
first
party
that
you
know
that
needs
this
to
roll
out
no
lability
annotations
everywhere,
so
and
actually
just
on
the
topic
of
rolling
out
no
lability
annotations.
B
B
B
The
fine
folks
over
there
are
also
committed
to
getting
their
public
API
surface
area,
annotated,
we're
talking
with
the
asp
net
folks
I
think
they've
developed
a
plan
for
annotating
the
public
API
s,
I,
just
I,
don't
recall
if
that's
been
committed
for
done
at
five
yet,
but
basically
the
all
up
goal
is
by
dotnet
five.
We
want
the
major
API
is
for
dotnet
five
to
have
nullable
annotations
that
we
so
that
you
know
you
get.
You
know
all
the
benefits
the
feature,
and
then
we
also
when
that
happens.
B
B
B
That's
further
questions
that
we're
gonna
have
to
consider,
but
at
least
on
the
dawn
at
five
side
of
things
we
want
to
get
as
much
of
first
party
api's
as
we
can
fully
annotated
so
that
you
can
start.
You
know
using
that
and
we're
also
encouraging
any
library
authors
to
do
the
same,
and
in
doing
so,
we've
been
getting
a
lot
of
good
feedback
about
the
feature,
so
please
definitely
adopt
it.
C
I,
just
posted
a
link
in
teams
which
should
have
arrived
a
rich
lenders
desk
over
here
about
a
doc
on
Doc's,
nomarks,
I'm
gonna,
come
about
how
you
enable
that
feature.
You
can
do
it
a
project
file
or
in
an
individual
code
file.
You
just
need
to
have
well
Don
net
core
31
or
any
or
3o
any
thing
with
the
c-sharp
eight
compiler
to
enable
its
copy
link,
but
yeah
we
have
some
Doc's
on
different
ways.
You
can
do
that,
so
you
can
try
that
out
in
your
projects
and
see
how
it
works
yeah.
A
I
want
to
talk
about
one
more
thing:
sure
they're
at
11:00,
so
don't
really
want
to
go
much
later
than
this,
but
I'm
gonna
close
teams,
because
probably
someone
will
say
something
totally
inappropriate
on
that.
Well,
teams
is
a
real
Wild
West.
Isn't
it
so
I
want
to
go
back
to
the
containers?
Since
that's
my
absolutely
I
want.
A
A
So
what
this
was
is
we
made
a
change
in
3-1,
which
we
now
regret
and
it's
going
to
be
fixed
in
February,
but
it's
I
wanted
to
bring
it
up
because
it's
very
very
unintuitive
and
complicated,
and
we,
even
though
we're
making
a
change
in
3-1
we're
actually
going
to
figure
out
what
we
want
to
do
and
down
at
5
because
of
where
we
don't
think
the
3-1
behavior
is
correct
either
so
it
this
goes
back
to
CPU
limited
containers.
The
demo
I
showed
you
just
recently
like
meaning
15
minutes
ago.
A
Yes,
so
I
show
you
memory
limited
containers
in
the
demo.
You
can
also
limit
CPU.
So
in
this
one
you're
saying
I
would
like
this
container
to
only
use
one
CPU.
That's
that's
pretty
obvious,
and
so,
when
you
do
that
in
300
we
we
have
this
thing
environment
up,
processor
account
which
actually
gets
used
by
a
lot
of
different
parts
of
the
product
and
obviously
tons
of
new
Capac
atures,
probably
use
this
for
scaling
purposes,
yeah
well,
so
in
300,
if
you
set
CPUs
equals
1,
then
environmental
processor
count
would
be
1
right.
That.
C
A
Super
intuitive
and
three
one
we
broke
intentionally
and
we
made
it
the
number
of
processors
on
the
computer,
and
you
people
are
probably
thinking
okay.
Well,
you
guys
are
idiots
that
that
clearly
seems
like
a
wrong
thing
now.
It's
why
this
is
really
nebulous.
Is
this
feature?
It
doesn't
necessarily
do
what
you
think
it
does.
It
doesn't
actually
limit
your
app
to
only
using
one
core,
so
there's
actually
another
feature
in
docker
that
I
can't
member
its
exact
name,
but
we
refer
to
it
as
CPU
infinity,
okay,.
A
A
Yeah,
so
you
can
say
which
specific
core
is
that
that
you
want
to
app
the
container
to
use
that
could
be
just
a
single
core
or
multiple
and
that
one
that
one
has
much
clearer,
behavior
associated
with
it.
This
one
basically
says
I
will
give
you
this
many
cores
worth
of
processors,
but
I
might
do
it
on
multiple
cores.
A
C
A
A
You
request
it
right
so,
where
we
got
into
trouble
with
this
one
is
there's
some
apps
that
benefit
from
the
three
Oh
behavior
and
some
apps
that
benefit
more
from
the
three
one
behavior.
So
an
example
is,
if
you
want
the
least
amount
of
memory
used,
then
the
three
OH
behavior
is
absolutely
the
best
yeah.
C
A
You
want
the
absolute
most
amount
of
throughput,
then
we
there
are
cases
where
the
three
behavior
is
better,
because
we
actually
then
use
that
many
GC
heaps
right,
and
so
you
actually
get
more
parallelism
available
mm-hmm.
So
we
found
more
apps
that
actually
benefited
from
the
three
O
behavior
and
we
actually
discovered
that
we've
had
that
behavior
in
place
since
two
one.
A
So
we
decided
to
revert
to
three
one
behavior
and
we
will
figure
out
what
to
do
when
Dyna,
five
and
obviously,
if
we
have
brilliant
ideas
that
are
not
breaking
to
three
one,
then
we
will
consider
back
porting
them,
but
anyway,
this
this
has
chewed
up
a
ton
of
time
from
the
team.
It's
been
really
interesting
to
see
the
community
kind
of
argue
actually
both
sides
of
this
particular
issue
and.
A
Yeah,
so
it's
just
been
really
interesting.
It's
actually
been
a
total
learning
experience
for
us
all.
So
we
looked
at
some
other
programming
languages.
Java
has
I
believe
I'm,
saying
this
correctly.
Job
has
behavior
that's
similar
to
our
three
three
Oh
behavior,
okay,
so
reports
whatever
whatever
are
you
may
past
in.
A
Reports
go,
Lang
has
behavior,
that's
a
much
closer
to
our
three
one
behavior,
but
they
have
some
other
stuff
added
in
so
we're
gonna
take
another
run
at
this
for
dotnet
five,
some
fuels
Snowbell
just
said
just
create
a
new
flag.
So
what
we
decided
is
from
a
pure,
pragmatic
standpoint
for
the
February
release.
A
All
we're
gonna
do
is
revert
the
change
and
not
do
anything
additional,
because
with
the
information
we
have
now,
that's
probably
how
we
would
have
shipped
three
one
and
now
we're
going
to
do
a
bit
more
thinking
and
figure
out
what
a
real
story
should
be
and
design
it
in
its
completeness,
because
the
thing
we
don't
want
to
do
is
just
add
some
one-off
flags
now,
as
into.
A
We're
not
going
to
do
that.
We're
gonna,
really
design
the
feature,
take
our
time
and
do
the
right
thing.
We
actually
do
have
flags
that
exists
already
that
actually
and
I
actually
believe
it
or
not.
I
wrote
guidance
already,
let's
see
if
I
can
find
this
I
mean
there
was
only
like
80
comments
and
there
so
how
it
can
be.
C
B
Time,
the
river,
could
you
Oh
too
much.
A
C
C
C
C
A
You
would
think,
oh,
they
must
have
done
it
right
because
they
they
were
closer
to
that
whole
space
from
at
the
beginning.
But
it's
hard
it
like
the
well.
A
Right
answer-
and
you
can't
just
say
like:
oh
this
other
programming
language
did
this
way,
so
we
should
do
it
turns
out.
That's
not
a
thing
and
actually
I
just
want
to
say
the
community
has
been
super
super
awesome.
There's
two
individuals
in
particular
who've
been
working
with
us,
a
ton
so
I
might
as
well
just
give
them
a
shout
out
since
they're
on
my
screen
right
now.
A
C
A
Us
with
this,
so
thanks
guys
that's
and
love
the
pictures.
So
it's
it's
just
amazing
to
have
community
folks
that
you
know
have
strongly
held
views
like
I.
Much
prefer
people
that
are
a
little
aggressive
with
us
in
in
the
nice
way
aggressive
that
is
aligned
with
our
code
of
conduct,
but
I
think
you
guys
know
what
I
mean
like
have
have
super
well
justified
and
well-thought-out
beautiful.